Matrix<T> constructor

Matrix<T>(
  1. DataType<T> dataType,
  2. int rowCount,
  3. int columnCount, {
  4. MatrixFormat? format,
})

Constructs a default matrix of the desired dataType, the provided rowCount and columnCount, and possibly a custom format.

Implementation

factory Matrix(DataType<T> dataType, int rowCount, int columnCount,
    {MatrixFormat? format}) {
  RangeError.checkNotNegative(rowCount, 'rowCount');
  RangeError.checkNotNegative(columnCount, 'columnCount');
  switch (format ?? MatrixFormat.standard) {
    case MatrixFormat.rowMajor:
      return RowMajorMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.columnMajor:
      return ColumnMajorMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.nestedRow:
      return NestedRowMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.nestedColumn:
      return NestedColumnMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.compressedRow:
      return CompressedRowMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.compressedColumn:
      return CompressedColumnMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.coordinateList:
      return CoordinateListMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.keyed:
      return KeyedMatrix<T>(dataType, rowCount, columnCount);
    case MatrixFormat.diagonal:
      return DiagonalMatrix<T>(dataType, rowCount, columnCount);
  }
}