Expression object for the forced evaluation of sparse matrices.
More...
#include <SMatEvalExpr.h>
Inherits blaze::MatEvalExpr< SparseMatrix< SMatEvalExpr< MT, SO >, SO > >, and blaze::Computation.
|
using | This = SMatEvalExpr< MT, SO > |
| Type of this SMatEvalExpr instance.
|
|
using | BaseType = MatEvalExpr< SparseMatrix< This, SO > > |
| Base type of this SMatEvalExpr instance.
|
|
using | ResultType = ResultType_t< MT > |
| Result type for expression template evaluations.
|
|
using | OppositeType = OppositeType_t< MT > |
| Result type with opposite storage order for expression template evaluations.
|
|
using | TransposeType = TransposeType_t< MT > |
| Transpose type for expression template evaluations.
|
|
using | ElementType = ElementType_t< MT > |
| Resulting element type.
|
|
using | ReturnType = ReturnType_t< MT > |
| Return type for expression template evaluations.
|
|
using | CompositeType = const ResultType |
| Data type for composite expression templates.
|
|
using | Operand = If_t< IsExpression_v< MT >, const MT, const MT & > |
| Composite data type of the sparse matrix expression.
|
|
using | MatrixType = SMatEvalExpr< MT, SO > |
| Type of the matrix.
|
|
|
static constexpr bool | smpAssignable = MT::smpAssignable |
| Compilation switch for the expression template assignment strategy.
|
|
static constexpr bool | storageOrder |
| Storage order of the matrix.
|
|
|
Operand | sm_ |
| Sparse matrix of the evaluation expression.
|
|
template<typename MT, bool SO>
class blaze::SMatEvalExpr< MT, SO >
Expression object for the forced evaluation of sparse matrices.
The SMatEvalExpr class represents the compile time expression for the forced evaluation of a sparse matrix.
◆ SMatEvalExpr()
template<typename MT , bool SO>
Constructor for the SMatEvalExpr class.
- Parameters
-
sm | The sparse matrix operand of the evaluation expression. |
◆ at()
template<typename MT , bool SO>
Checked access to the matrix elements.
- Parameters
-
i | Access index for the row. The index has to be in the range . |
j | Access index for the column. The index has to be in the range . |
- Returns
- The resulting value.
- Exceptions
-
std::out_of_range | Invalid matrix access index. |
◆ canAlias()
template<typename MT , bool SO>
template<typename T >
Returns whether the expression can alias with the given address alias.
- Parameters
-
alias | The alias to be checked. |
- Returns
- true in case the expression can alias, false otherwise.
◆ canSMPAssign()
template<typename MT , bool SO>
Returns whether the expression can be used in SMP assignments.
- Returns
- true in case the expression can be used in SMP assignments, false if not.
◆ columns()
template<typename MT , bool SO>
Returns the current number of columns of the matrix.
- Returns
- The number of columns of the matrix.
◆ isAliased()
template<typename MT , bool SO>
template<typename T >
Returns whether the expression is aliased with the given address alias.
- Parameters
-
alias | The alias to be checked. |
- Returns
- true in case an alias effect is detected, false otherwise.
◆ nonZeros() [1/2]
template<typename MT , bool SO>
Returns the number of non-zero elements in the sparse matrix.
- Returns
- The number of non-zero elements in the sparse matrix.
◆ nonZeros() [2/2]
template<typename MT , bool SO>
Returns the number of non-zero elements in the specified row.
- Parameters
-
- Returns
- The number of non-zero elements of row i.
◆ operand()
template<typename MT , bool SO>
Returns the sparse matrix operand.
- Returns
- The sparse matrix operand.
◆ operator()()
template<typename MT , bool SO>
2D-access to the matrix elements.
- Parameters
-
i | Access index for the row. The index has to be in the range . |
j | Access index for the column. The index has to be in the range . |
- Returns
- The resulting value.
◆ operator*() [1/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for constant matrices.
- Returns
- Constant reference of the actual type of the matrix.
This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.
◆ operator*() [2/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for non-constant matrices.
- Returns
- Mutable reference of the actual type of the matrix.
This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.
◆ operator~() [1/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for constant matrices.
- Parameters
-
matrix | The matrix to be downcast. |
- Returns
- Constant reference of the actual type of the matrix.
This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.
◆ operator~() [2/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for non-constant matrices.
- Parameters
-
matrix | The matrix to be downcast. |
- Returns
- Mutable reference of the actual type of the matrix.
This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.
◆ rows()
template<typename MT , bool SO>
Returns the current number of rows of the matrix.
- Returns
- The number of rows of the matrix.
The documentation for this class was generated from the following files: