Expression object for transpose dense vector-dense matrix multiplications.
More...
#include <TDVecDMatMultExpr.h>
Inherits blaze::TVecMatMultExpr< DenseVector< TDVecDMatMultExpr< VT, MT >, true > >, and blaze::Computation.
|
using | This = TDVecDMatMultExpr< VT, MT > |
| Type of this TDVecDMatMultExpr instance.
|
|
using | BaseType = TVecMatMultExpr< DenseVector< This, true > > |
| Base type of this TDVecDMatMultExpr instance.
|
|
using | ResultType = MultTrait_t< VRT, MRT > |
| Result type for expression template evaluations.
|
|
using | TransposeType = TransposeType_t< ResultType > |
| Transpose type for expression template evaluations.
|
|
using | ElementType = ElementType_t< ResultType > |
| Resulting element type.
|
|
using | SIMDType = SIMDTrait_t< ElementType > |
| Resulting SIMD element type.
|
|
using | ReturnType = const ElementType |
| Return type for expression template evaluations.
|
|
using | CompositeType = const ResultType |
| Data type for composite expression templates.
|
|
using | LeftOperand = If_t< IsExpression_v< VT >, const VT, const VT & > |
| Composite type of the left-hand side dense vector expression.
|
|
using | RightOperand = If_t< IsExpression_v< MT >, const MT, const MT & > |
| Composite type of the right-hand side dense matrix expression.
|
|
using | LT = If_t< evaluateVector, const VRT, VCT > |
| Type for the assignment of the left-hand side dense matrix operand.
|
|
using | RT = If_t< evaluateMatrix, const MRT, MCT > |
| Type for the assignment of the right-hand side dense vector operand.
|
|
using | VectorType = TDVecDMatMultExpr< VT, MT > |
| Type of the vector.
|
|
|
static constexpr bool | simdEnabled |
| Compilation switch for the expression template evaluation strategy. More...
|
|
static constexpr bool | smpAssignable |
| Compilation switch for the expression template assignment strategy. More...
|
|
static constexpr size_t | SIMDSIZE = SIMDTrait<ElementType>::size |
| The number of elements packed within a single SIMD element.
|
|
static constexpr bool | transposeFlag |
| Transpose flag of the vector.
|
|
|
using | VRT = ResultType_t< VT > |
| Result type of the left-hand side dense vector expression.
|
|
using | MRT = ResultType_t< MT > |
| Result type of the right-hand side dense matrix expression.
|
|
using | VET = ElementType_t< VRT > |
| Element type of the left-hand side dense vector epxression.
|
|
using | MET = ElementType_t< MRT > |
| Element type of the right-hand side dense matrix expression.
|
|
using | VCT = CompositeType_t< VT > |
| Composite type of the left-hand side dense vector expression.
|
|
using | MCT = CompositeType_t< MT > |
| Composite type of the right-hand side dense matrix expression.
|
|
|
LeftOperand | vec_ |
| Left-hand side dense vector of the multiplication expression.
|
|
RightOperand | mat_ |
| Right-hand side dense matrix of the multiplication expression.
|
|
|
static constexpr bool | evaluateVector = ( IsComputation_v<VT> || RequiresEvaluation_v<VT> ) |
| Compilation switch for the composite type of the left-hand side dense vector expression.
|
|
static constexpr bool | evaluateMatrix |
| Compilation switch for the composite type of the right-hand side dense matrix expression. More...
|
|
template<typename VT, typename MT>
class blaze::TDVecDMatMultExpr< VT, MT >
Expression object for transpose dense vector-dense matrix multiplications.
The TDVecDMatMultExpr class represents the compile time expression for multiplications between transpose dense vectors and dense matrices.
◆ TDVecDMatMultExpr()
template<typename VT , typename MT >
Constructor for the TDVecDMatMultExpr class.
- Parameters
-
vec | The left-hand side vector operand of the multiplication expression. |
mat | The right-hand side matrix operand of the multiplication expression. |
◆ at()
template<typename VT , typename MT >
Checked access to the vector elements.
- Parameters
-
index | Access index. The index has to be in the range . |
- Returns
- The resulting value.
- Exceptions
-
std::out_of_range | Invalid vector access index. |
◆ canAlias()
template<typename VT , typename MT >
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 VT , typename MT >
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.
◆ isAliased()
template<typename VT , typename MT >
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 VT , typename MT >
Returns whether the operands of the expression are properly aligned in memory.
- Returns
- true in case the operands are aligned, false if not.
◆ leftOperand()
template<typename VT , typename MT >
Returns the left-hand side dense vector operand.
- Returns
- The left-hand side dense vector operand.
◆ operator*() [1/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for constant vectors.
- Returns
- Const reference of the actual type of the vector.
This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.
◆ operator*() [2/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for non-constant vectors.
- Returns
- Mutable reference of the actual type of the vector.
This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.
◆ operator[]()
template<typename VT , typename MT >
Subscript operator for the direct access to the vector elements.
- Parameters
-
index | Access index. The index has to be in the range . |
- Returns
- The resulting value.
◆ operator~() [1/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for constant vectors.
- Returns
- Constant reference of the actual type of the vector.
This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.
◆ operator~() [2/2]
|
constexprnoexceptinherited |
CRTP-based conversion operation for non-constant vectors.
- Returns
- Mutable reference of the actual type of the vector.
This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.
◆ rightOperand()
template<typename VT , typename MT >
Returns the right-hand side dense matrix operand.
- Returns
- The right-hand side dense matrix operand.
◆ size()
template<typename VT , typename MT >
Returns the current size/dimension of the vector.
- Returns
- The size of the vector.
◆ evaluateMatrix
template<typename VT , typename MT >
Initial value:=
( ( IsComputation_v<MT> && IsSame_v<MET,VET> &&
IsBLASCompatible_v<MET> ) || RequiresEvaluation_v<MT> )
Compilation switch for the composite type of the right-hand side dense matrix expression.
◆ simdEnabled
template<typename VT , typename MT >
Initial value:=
( !IsDiagonal_v<MT> &&
VT::simdEnabled && MT::simdEnabled &&
HasSIMDAdd_v<VET,MET> &&
HasSIMDMult_v<VET,MET> )
Compilation switch for the expression template evaluation strategy.
◆ smpAssignable
template<typename VT , typename MT >
Initial value:=
static constexpr bool evaluateMatrix
Compilation switch for the composite type of the right-hand side dense matrix expression.
Definition: TDVecDMatMultExpr.h:147
static constexpr bool evaluateVector
Compilation switch for the composite type of the left-hand side dense vector expression.
Definition: TDVecDMatMultExpr.h:142
Compilation switch for the expression template assignment strategy.
The documentation for this class was generated from the following files: