Chris@195: Chris@273: module yetilab.matrix.type; Chris@195: Chris@273: load yetilab.vector.type; Chris@195: Chris@234: typedef opaque matrix = Chris@236: DenseRows. array | // array of rows Chris@236: DenseCols. array | // array of columns Chris@234: SparseCSR. { Chris@234: .values is vector, Chris@236: .indices is array, // column index of each value Chris@236: .pointers is array, // offset of first value in each row Chris@236: .extent is number // max possible index + 1, i.e. number of columns Chris@234: } | Chris@234: SparseCSC. { Chris@234: .values is vector, Chris@236: .indices is array, // row index of each value Chris@236: .pointers is array, // offset of first value in each column Chris@236: .extent is number // max pointers index + 1, i.e. number of rows Chris@234: }; Chris@195: Chris@195: (); Chris@195: