35 #ifndef _BLAZE_MATH_SMP_DEFAULT_SPARSEMATRIX_H_ 36 #define _BLAZE_MATH_SMP_DEFAULT_SPARSEMATRIX_H_ 61 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
62 auto smpAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
63 -> EnableIf_t< IsSparseMatrix_v<MT1> >;
65 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
66 auto smpAddAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
67 -> EnableIf_t< IsSparseMatrix_v<MT1> >;
69 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
70 auto smpSubAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
71 -> EnableIf_t< IsSparseMatrix_v<MT1> >;
73 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
74 auto smpSchurAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
75 -> EnableIf_t< IsSparseMatrix_v<MT1> >;
94 template<
typename MT1
98 inline auto smpAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
99 -> EnableIf_t< IsSparseMatrix_v<MT1> >
106 assign( ~lhs, ~rhs );
125 template<
typename MT1
129 inline auto smpAddAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
130 -> EnableIf_t< IsSparseMatrix_v<MT1> >
137 addAssign( ~lhs, ~rhs );
156 template<
typename MT1
160 inline auto smpSubAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
161 -> EnableIf_t< IsSparseMatrix_v<MT1> >
168 subAssign( ~lhs, ~rhs );
188 template<
typename MT1
192 inline auto smpSchurAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs )
193 -> EnableIf_t< IsSparseMatrix_v<MT1> >
200 schurAssign( ~lhs, ~rhs );
Header file for the IsSparseMatrix type trait.
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:514
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the EnableIf class template.
Header file for the Matrix base class.
Header file for run time assertion macros.
auto smpAddAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs) -> EnableIf_t< IsDenseMatrix_v< MT1 > >
Default implementation of the SMP addition assignment of a matrix to a dense matrix.
Definition: DenseMatrix.h:131
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:94
auto smpAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs) -> EnableIf_t< IsDenseMatrix_v< MT1 > >
Default implementation of the SMP assignment of a matrix to a dense matrix.
Definition: DenseMatrix.h:100
auto smpSchurAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs) -> EnableIf_t< IsDenseMatrix_v< MT1 > >
Default implementation of the SMP Schur product assignment of a matrix to dense matrix.
Definition: DenseMatrix.h:194
constexpr size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:498
auto smpSubAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs) -> EnableIf_t< IsDenseMatrix_v< MT1 > >
Default implementation of the SMP subtraction assignment of a matrix to dense matrix.
Definition: DenseMatrix.h:162
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101
Header file for the function trace functionality.