![]() |
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... | |
BLAZE_ALWAYS_INLINE IntrinsicType | load (size_t index) const |
Aligned load of an intrinsic element of the vector. More... | |
BLAZE_ALWAYS_INLINE IntrinsicType | loadu (size_t index) const |
Unaligned load of an intrinsic element of the vector. More... | |
BLAZE_ALWAYS_INLINE void | store (size_t index, const IntrinsicType &value) |
Aligned store of an intrinsic element of the vector. More... | |
BLAZE_ALWAYS_INLINE void | storeu (size_t index, const IntrinsicType &value) |
Unaligned store of an intrinsic element of the vector. More... | |
BLAZE_ALWAYS_INLINE 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.
|
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.