![]() |
Expression object for the transposition of a dense vector.The DVecTransposer class is a wrapper object for the temporary transposition of a dense vector. More...
#include <DVecTransposer.h>
Inherits blaze::DenseVector< DVecTransposer< VT, TF >, TF >.
Public Types | |
enum | { vectorizable = VT::vectorizable } |
Compilation flag for intrinsic optimization. More... | |
enum | { smpAssignable = VT::smpAssignable } |
Compilation flag for SMP assignments. More... | |
typedef DVecTransposer< VT, TF > | This |
Type of this DVecTransposer instance. | |
typedef VT::TransposeType | ResultType |
Result type for expression template evaluations. | |
typedef VT::ResultType | TransposeType |
Transpose type for expression template evaluations. | |
typedef VT::ElementType | ElementType |
Type of the vector elements. | |
typedef IT::Type | IntrinsicType |
Intrinsic type of the vector elements. | |
typedef VT::ReturnType | ReturnType |
Return type for expression template evaluations. | |
typedef const This & | CompositeType |
Data type for composite expression templates. | |
typedef VT::Reference | Reference |
Reference to a non-constant matrix value. | |
typedef VT::ConstReference | ConstReference |
Reference to a constant matrix value. | |
typedef VT::Iterator | Iterator |
Iterator over non-constant elements. | |
typedef VT::ConstIterator | ConstIterator |
Iterator over constant elements. | |
typedef VT | VectorType |
Type of the vector. | |
Public Member Functions | |
DVecTransposer (VT &dv) | |
Constructor for the DVecTransposer class. More... | |
Reference | operator[] (size_t index) |
Subscript operator for the direct access to the vector elements. More... | |
ConstReference | operator[] (size_t index) const |
Subscript operator for the direct access to the vector elements. More... | |
ElementType * | data () |
Low-level data access to the vector elements. More... | |
Iterator | begin () |
Returns an iterator to the first element of the dense vector. More... | |
ConstIterator | begin () const |
Returns an iterator to the first element of the dense vector. More... | |
ConstIterator | cbegin () const |
Returns an iterator to the first element of the dense vector. More... | |
Iterator | end () |
Returns an iterator just past the last element of the dense vector. More... | |
ConstIterator | end () const |
Returns an iterator just past the last element of the dense vector. More... | |
ConstIterator | cend () const |
Returns an iterator just past the last element of the dense vector. More... | |
template<typename Other > | |
EnableIf< IsNumeric< Other > , DVecTransposer >::Type & | operator*= (Other rhs) |
Multiplication assignment operator for the multiplication between a vector and a scalar value ( ![]() | |
template<typename Other > | |
EnableIf< IsNumeric< Other > , DVecTransposer >::Type & | operator/= (Other rhs) |
Division assignment operator for the division of a vector by a scalar value ( ![]() | |
size_t | size () const |
Returns the current size/dimension of the vector. More... | |
void | reset () |
Resets the vector elements. More... | |
template<typename Other > | |
bool | canAlias (const Other *alias) const |
Returns whether the vector can alias with the given address alias. More... | |
template<typename Other > | |
bool | isAliased (const Other *alias) const |
Returns whether the vector is aliased with the given address alias. More... | |
bool | isAligned () const |
Returns whether the vector is properly aligned in memory. More... | |
bool | canSMPAssign () const |
Returns whether the vector can be used in SMP assignments. More... | |
IntrinsicType | load (size_t index) const |
Aligned load of an intrinsic element of the vector. More... | |
IntrinsicType | loadu (size_t index) const |
Unaligned load of an intrinsic element of the vector. More... | |
void | store (size_t index, const IntrinsicType &value) |
Aligned store of an intrinsic element of the vector. More... | |
void | storeu (size_t index, const IntrinsicType &value) |
Unaligned store of an intrinsic element of the vector. More... | |
void | stream (size_t index, const IntrinsicType &value) |
Aligned, non-temporal store of an intrinsic element of the vector. More... | |
template<typename VT2 > | |
void | assign (const DenseVector< VT2, TF > &rhs) |
Implementation of the transpose assignment of a dense vector. More... | |
template<typename VT2 > | |
void | assign (const SparseVector< VT2, TF > &rhs) |
Implementation of the transpose assignment of a sparse vector. More... | |
template<typename VT2 > | |
void | addAssign (const DenseVector< VT2, TF > &rhs) |
Implementation of the transpose addition assignment of a dense vector. More... | |
template<typename VT2 > | |
void | addAssign (const SparseVector< VT2, TF > &rhs) |
Implementation of the transpose addition assignment of a sparse vector. More... | |
template<typename VT2 > | |
void | subAssign (const DenseVector< VT2, TF > &rhs) |
Implementation of the transpose subtraction assignment of a dense vector. More... | |
template<typename VT2 > | |
void | subAssign (const SparseVector< VT2, TF > &rhs) |
Implementation of the transpose subtraction assignment of a sparse vector. More... | |
template<typename VT2 > | |
void | multAssign (const DenseVector< VT2, TF > &rhs) |
Implementation of the transpose multiplication assignment of a dense vector. More... | |
template<typename VT2 > | |
void | multAssign (const SparseVector< VT2, TF > &rhs) |
Implementation of the transpose multiplication assignment of a sparse vector. 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 | |
typedef IntrinsicTrait < typename VT::ElementType > | IT |
Intrinsic trait for the vector element type. | |
Private Attributes | |
VT & | dv_ |
The dense vector operand. | |
Expression object for the transposition of a dense vector.
The DVecTransposer class is a wrapper object for the temporary transposition of a dense vector.
anonymous enum |
Compilation flag for intrinsic optimization.
The vectorizable compilation flag indicates whether expressions the vector is involved in can be optimized via intrinsics. In case the dense vector operand is vectorizable, the vectorizable compilation flag is set to true, otherwise it is set to false.
anonymous enum |
Compilation flag for SMP assignments.
The smpAssignable compilation flag indicates whether the vector can be used in SMP (shared memory parallel) assignments (both on the left-hand and right-hand side of the assignment).
|
inlineexplicit |
Constructor for the DVecTransposer class.
dv | The dense vector operand. |
|
inline |
Implementation of the transpose addition assignment of a dense vector.
rhs | The right-hand side dense vector to be added. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Implementation of the transpose addition assignment of a sparse vector.
rhs | The right-hand side sparse vector to be added. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Implementation of the transpose assignment of a dense vector.
rhs | The right-hand side dense vector to be assigned. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Implementation of the transpose assignment of a sparse vector.
rhs | The right-hand side sparse vector to be assigned. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Returns an iterator to the first element of the dense vector.
|
inline |
Returns an iterator to the first element of the dense vector.
|
inline |
Returns whether the vector can alias with the given address alias.
alias | The alias to be checked. |
|
inline |
Returns whether the vector can be used in SMP assignments.
|
inline |
Returns an iterator to the first element of the dense vector.
|
inline |
Returns an iterator just past the last element of the dense vector.
|
inline |
Low-level data access to the vector elements.
|
inline |
Returns an iterator just past the last element of the dense vector.
|
inline |
Returns an iterator just past the last element of the dense vector.
|
inline |
Returns whether the vector is aliased with the given address alias.
alias | The alias to be checked. |
|
inline |
Returns whether the vector is properly aligned in memory.
|
inline |
Aligned load of an intrinsic element of the vector.
index | Access index. The index must be smaller than the number of vector elements. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors.
|
inline |
Unaligned load of an intrinsic element of the vector.
index | Access index. The index must be smaller than the number of vector elements. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors.
|
inline |
Implementation of the transpose multiplication assignment of a dense vector.
rhs | The right-hand side dense vector to be multiplied. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Implementation of the transpose multiplication assignment of a sparse vector.
rhs | The right-hand side sparse vector to be multiplied. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Multiplication assignment operator for the multiplication between a vector and a scalar value ( ).
rhs | The right-hand side scalar value for the multiplication. |
|
inline |
Division assignment operator for the division of a vector by a scalar value ( ).
rhs | The right-hand side scalar value for the division. |
Note: A division by zero is only checked by an user assert.
|
inline |
Subscript operator for the direct access to the vector elements.
index | Access index. The index has to be in the range ![]() |
|
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 |
Resets the vector elements.
|
inline |
Returns the current size/dimension of the vector.
|
inline |
Aligned store of an intrinsic element of the vector.
index | Access index. The index must be smaller than the number of vector elements. |
value | The intrinsic element to be stored. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors.
|
inline |
Unaligned store of an intrinsic element of the vector.
index | Access index. The index must be smaller than the number of vector elements. |
value | The intrinsic element to be stored. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors.
|
inline |
Aligned, non-temporal store of an intrinsic element of the vector.
index | Access index. The index must be smaller than the number of vector elements. |
value | The intrinsic element to be stored. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors.
|
inline |
Implementation of the transpose subtraction assignment of a dense vector.
rhs | The right-hand side dense vector to be subtracted. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.
|
inline |
Implementation of the transpose subtraction assignment of a sparse vector.
rhs | The right-hand side sparse vector to be subtracted. |
This function must NOT be called explicitly! It is used internally for the performance optimized evaluation of expression templates. Calling this function explicitly might result in erroneous results and/or in compilation errors. Instead of using this function use the assignment operator.