MatrixView.this - multiple declarations

Function MatrixView.this

Wraps a MatrixView with m rows around the given array.

this (
  T[] a,
  size_t m
) pure nothrow;

For general matrices, the number of columns in the matrix is set to a.length/m, whereas for triangular and symmetric matrices the number of columns is set equal to the number of rows.

Function MatrixView.this

Wraps a MatrixView with m rows and n columns around the given array. For a given set of a, m, and n, the following must be true for a general matrix:

this (
  T[] a,
  size_t m,
  size_t n
) pure nothrow;
a.length >= m*n

For triangular and symmetric matrices, there are two constraints:

m == n
a.length >= (n*n + n)/2

These conditions are only checked in non-release builds.