Expression object for the dense matrix map() function.The DMatMapExpr class represents the compile time expression for the evaluation of a custom operation on each element of a dense matrix via the map() function.
More...
#include <DMatMapExpr.h>
Inherits blaze::MatMapExpr< DenseMatrix< DMatMapExpr< MT, OP, SO >, SO > >, and blaze::Computation.
|
static constexpr bool | simdEnabled |
| Compilation switch for the expression template evaluation strategy. More...
|
|
static constexpr bool | smpAssignable = MT::smpAssignable |
| Compilation switch for the expression template assignment strategy.
|
|
static constexpr size_t | SIMDSIZE = SIMDTrait<ElementType>::size |
| The number of elements packed within a single SIMD element.
|
|
static constexpr bool | storageOrder = SO |
| Storage order of the matrix.
|
|
|
using | RT = ResultType_t< MT > |
| Result type of the dense matrix expression.
|
|
using | OT = OppositeType_t< MT > |
| Opposite type of the dense matrix expression.
|
|
using | ET = ElementType_t< MT > |
| Element type of the dense matrix expression.
|
|
using | RN = ReturnType_t< MT > |
| Return type of the dense matrix expression.
|
|
template<typename MT, typename OP, bool SO>
class blaze::DMatMapExpr< MT, OP, SO >
Expression object for the dense matrix map() function.
The DMatMapExpr class represents the compile time expression for the evaluation of a custom operation on each element of a dense matrix via the map() function.
◆ DMatMapExpr()
template<typename MT , typename OP , bool SO>
Constructor for the DMatMapExpr class.
- Parameters
-
dm | The dense matrix operand of the map expression. |
op | The custom unary operation. |
◆ at()
template<typename MT , typename OP , 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. |
◆ begin()
template<typename MT , typename OP , bool SO>
Returns an iterator to the first non-zero element of row i.
- Parameters
-
- Returns
- Iterator to the first non-zero element of row i.
◆ canAlias()
template<typename MT , typename OP , 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 , typename OP , 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 , typename OP , bool SO>
Returns the current number of columns of the matrix.
- Returns
- The number of columns of the matrix.
◆ end()
template<typename MT , typename OP , bool SO>
Returns an iterator just past the last non-zero element of row i.
- Parameters
-
- Returns
- Iterator just past the last non-zero element of row i.
◆ isAliased()
template<typename MT , typename OP , 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.
◆ isAligned()
template<typename MT , typename OP , bool SO>
Returns whether the operands of the expression are properly aligned in memory.
- Returns
- true in case the operands are aligned, false if not.
◆ load()
template<typename MT , typename OP , bool SO>
Access to the SIMD elements of the matrix.
- 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
- Reference to the accessed values.
◆ operand()
template<typename MT , typename OP , bool SO>
Returns the dense matrix operand.
- Returns
- The dense matrix operand.
◆ operation()
template<typename MT , typename OP , bool SO>
Returns a copy of the custom operation.
- Returns
- A copy of the custom operation.
◆ operator()()
template<typename MT , typename OP , 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]
template<typename MT, bool SO>
Conversion operator for non-constant matrices.
- Returns
- Reference of the actual type of the matrix.
◆ operator~() [2/2]
template<typename MT, bool SO>
Conversion operator for constant matrices.
- Returns
- Constant reference of the actual type of the matrix.
◆ rows()
template<typename MT , typename OP , bool SO>
Returns the current number of rows of the matrix.
- Returns
- The number of rows of the matrix.
◆ simdEnabled
template<typename MT , typename OP , bool SO>
Initial value:=
( MT::simdEnabled &&
If_t< HasSIMDEnabled_v<OP>, GetSIMDEnabled<OP,ET>, HasLoad<OP> >::value )
Compilation switch for the expression template evaluation strategy.
◆ useAssign
template<typename MT , typename OP , bool SO>
Compilation switch for the serial evaluation strategy of the map expression.
The useAssign compile time constant expression represents a compilation switch for the serial evaluation strategy of the map expression. In case the given dense matrix expression of type MT is a computation expression and requires an intermediate evaluation, useAssign will be set to 1 and the map expression will be evaluated via the assign function family. Otherwise useAssign will be set to 0 and the expression will be evaluated via the subscript operator.
The documentation for this class was generated from the following file: