6 #ifndef MYRAMATH_SPARSE_DIMM_H 7 #define MYRAMATH_SPARSE_DIMM_H 14 #include <myramath/MYRAMATH_EXPORT.h> 20 template<
class Number>
class DiagonalMatrixRange;
21 template<
class Number>
class CDiagonalMatrixRange;
22 template<
class Number>
class SparseMatrixRange;
23 template<
class Number>
class CSparseMatrixRange;
24 template<
class Number>
class SparseMatrix;
27 MYRAMATH_EXPORT
void dimm_inplace(
char side,
char op,
const CDiagonalMatrixRange<NumberS>& D,
const SparseMatrixRange<NumberS>& X);
29 MYRAMATH_EXPORT
void dimm_inplace(
char side,
char op,
const CDiagonalMatrixRange<NumberD>& D,
const SparseMatrixRange<NumberD>& X);
30 MYRAMATH_EXPORT
void dimm_inplace(
char side,
char op,
const CDiagonalMatrixRange<NumberC>& D,
const SparseMatrixRange<NumberC>& X);
31 MYRAMATH_EXPORT
void dimm_inplace(
char side,
char op,
const CDiagonalMatrixRange<NumberZ>& D,
const SparseMatrixRange<NumberZ>& X);
35 MYRAMATH_EXPORT SparseMatrix<NumberS> dimm(
char side,
char op,
const CDiagonalMatrixRange<NumberS>& D,
const CSparseMatrixRange<NumberS>& X);
37 MYRAMATH_EXPORT SparseMatrix<NumberD> dimm(
char side,
char op,
const CDiagonalMatrixRange<NumberD>& D,
const CSparseMatrixRange<NumberD>& X);
38 MYRAMATH_EXPORT SparseMatrix<NumberC> dimm(
char side,
char op,
const CDiagonalMatrixRange<NumberC>& D,
const CSparseMatrixRange<NumberC>& X);
39 MYRAMATH_EXPORT SparseMatrix<NumberZ> dimm(
char side,
char op,
const CDiagonalMatrixRange<NumberZ>& D,
const CSparseMatrixRange<NumberZ>& X);
44 MYRAMATH_EXPORT SparseMatrix<NumberS> operator * (
const CSparseMatrixRange<NumberS>& X,
const CDiagonalMatrixRange<NumberS>& D);
45 MYRAMATH_EXPORT SparseMatrix<NumberD> operator * (
const CSparseMatrixRange<NumberD>& X,
const CDiagonalMatrixRange<NumberD>& D);
46 MYRAMATH_EXPORT SparseMatrix<NumberC> operator * (
const CSparseMatrixRange<NumberC>& X,
const CDiagonalMatrixRange<NumberC>& D);
47 MYRAMATH_EXPORT SparseMatrix<NumberZ> operator * (
const CSparseMatrixRange<NumberZ>& X,
const CDiagonalMatrixRange<NumberZ>& D);
51 MYRAMATH_EXPORT SparseMatrix<NumberS> operator * (
const CDiagonalMatrixRange<NumberS>& D,
const CSparseMatrixRange<NumberS>& X);
53 MYRAMATH_EXPORT SparseMatrix<NumberD> operator * (
const CDiagonalMatrixRange<NumberD>& D,
const CSparseMatrixRange<NumberD>& X);
54 MYRAMATH_EXPORT SparseMatrix<NumberC> operator * (
const CDiagonalMatrixRange<NumberC>& D,
const CSparseMatrixRange<NumberC>& X);
55 MYRAMATH_EXPORT SparseMatrix<NumberZ> operator * (
const CDiagonalMatrixRange<NumberZ>& D,
const CSparseMatrixRange<NumberZ>& X);
Various utility functions/classes related to scalar Number types.