![]() |
Expression object for transpose dense vector-sparse matrix multiplications.The TDVecSMatMultExpr class represents the compile time expression for multiplications between transpose dense vectors and row-major sparse matrices. More...
#include <TDVecSMatMultExpr.h>
Inherits blaze::DenseVector< TDVecSMatMultExpr< VT, MT >, true >, blaze::TVecMatMultExpr, and blaze::Computation.
Public Types | |
enum | { vectorizable = 0 } |
Compilation switch for the expression template evaluation strategy. | |
enum | { smpAssignable } |
Compilation switch for the expression template assignment strategy. | |
typedef TDVecSMatMultExpr< VT, MT > | This |
Type of this TDVecSMatMultExpr instance. | |
typedef MultTrait< VRT, MRT >::Type | ResultType |
Result type for expression template evaluations. | |
typedef ResultType::TransposeType | TransposeType |
Transpose type for expression template evaluations. | |
typedef ResultType::ElementType | ElementType |
Resulting element type. | |
typedef const ElementType | ReturnType |
Return type for expression template evaluations. | |
typedef const ResultType | CompositeType |
Data type for composite expression templates. | |
typedef SelectType < IsExpression< VT >::value, const VT, const VT & >::Type | LeftOperand |
Composite type of the left-hand side dense vector expression. | |
typedef SelectType < IsExpression< MT >::value, const MT, const MT & >::Type | RightOperand |
Composite type of the right-hand side sparse matrix expression. | |
typedef SelectType < evaluateVector, const VRT, VCT >::Type | LT |
Composite type of the left-hand side dense vector expression. | |
typedef SelectType < evaluateMatrix, const MRT, MCT >::Type | RT |
Composite type of the right-hand side sparse matrix expression. | |
typedef VT | VectorType |
Type of the vector. | |
Public Member Functions | |
TDVecSMatMultExpr (const VT &vec, const MT &mat) | |
Constructor for the TDVecSMatMultExpr class. | |
ReturnType | operator[] (size_t index) const |
Subscript operator for the direct access to the vector elements. More... | |
size_t | size () const |
Returns the current size/dimension of the vector. More... | |
LeftOperand | leftOperand () const |
Returns the left-hand side dense vector operand. More... | |
RightOperand | rightOperand () const |
Returns the right-hand side sparse matrix operand. More... | |
template<typename T > | |
bool | canAlias (const T *alias) const |
Returns whether the expression can alias with the given address alias. More... | |
template<typename T > | |
bool | isAliased (const T *alias) const |
Returns whether the expression is aliased with the given address alias. More... | |
bool | isAligned () const |
Returns whether the operands of the expression are properly aligned in memory. More... | |
bool | canSMPAssign () const |
Returns whether the expression can be used in SMP assignments. More... | |
BLAZE_ALWAYS_INLINE VectorType & | operator~ () |
Conversion operator for non-constant vectors. More... | |
BLAZE_ALWAYS_INLINE const VectorType & | operator~ () const |
Conversion operator for constant vectors. More... | |
Private Types | |
enum | { evaluateVector = IsComputation<VT>::value || RequiresEvaluation<VT>::value } |
Compilation switch for the composite type of the left-hand side dense vector expression. | |
enum | { evaluateMatrix = RequiresEvaluation<MT>::value } |
Compilation switch for the composite type of the right-hand side sparse matrix expression. | |
typedef VT::ResultType | VRT |
Result type of the left-hand side dense vector expression. | |
typedef MT::ResultType | MRT |
Result type of the right-hand side sparse matrix expression. | |
typedef VT::CompositeType | VCT |
Composite type of the left-hand side dense vector expression. | |
typedef MT::CompositeType | MCT |
Composite type of the right-hand side sparse matrix expression. | |
Private Attributes | |
LeftOperand | vec_ |
Left-hand side dense vector of the multiplication expression. | |
RightOperand | mat_ |
Right-hand side sparse matrix of the multiplication expression. | |
Friends | |
template<typename VT2 > | |
void | assign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
void | assign (SparseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Assignment of a transpose dense vector-sparse matrix multiplication to a sparse vector ( ![]() | |
template<typename VT2 > | |
void | addAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Addition assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
void | subAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Subtraction assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
void | multAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Multiplication assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
EnableIf< UseSMPAssign< VT2 > >::Type | smpAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
SMP assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
EnableIf< UseSMPAssign< VT2 > >::Type | smpAssign (SparseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
SMP assignment of a transpose dense vector-sparse matrix multiplication to a sparse vector ( ![]() | |
template<typename VT2 > | |
EnableIf< UseSMPAssign< VT2 > >::Type | smpAddAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
Addition assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
EnableIf< UseSMPAssign< VT2 > >::Type | smpSubAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
SMP subtraction assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
template<typename VT2 > | |
EnableIf< UseSMPAssign< VT2 > >::Type | smpMultAssign (DenseVector< VT2, true > &lhs, const TDVecSMatMultExpr &rhs) |
SMP multiplication assignment of a transpose dense vector-sparse matrix multiplication to a dense vector ( ![]() | |
Expression object for transpose dense vector-sparse matrix multiplications.
The TDVecSMatMultExpr class represents the compile time expression for multiplications between transpose dense vectors and row-major sparse matrices.
|
inline |
Returns whether the expression can alias with the given address alias.
alias | The alias to be checked. |
|
inline |
Returns whether the expression can be used in SMP assignments.
|
inline |
Returns whether the expression is aliased with the given address alias.
alias | The alias to be checked. |
|
inline |
Returns whether the operands of the expression are properly aligned in memory.
|
inline |
Returns the left-hand side dense vector operand.
|
inline |
Subscript operator for the direct access to the vector elements.
index | Access index. The index has to be in the range ![]() |
|
inlineinherited |
Conversion operator for non-constant vectors.
|
inlineinherited |
Conversion operator for constant vectors.
|
inline |
Returns the right-hand side sparse matrix operand.
|
inline |
Returns the current size/dimension of the vector.