All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
blaze::DVecTransposer< VT, TF > Class Template Reference

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...
 
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
 Resulting element type.
 
typedef VT::ReturnType ReturnType
 Return type for expression template evaluations.
 
typedef const ThisCompositeType
 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 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...
 
ElementTypedata ()
 Low-level data access to the vector elements. More...
 
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...
 
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...
 
VectorTypeoperator~ ()
 Conversion operator for non-constant vectors. More...
 
const VectorTypeoperator~ () const
 Conversion operator for constant vectors. More...
 

Private Attributes

VT & dv_
 The dense vector operand.
 

Detailed Description

template<typename VT, bool TF>
class blaze::DVecTransposer< VT, TF >

Expression object for the transposition of a dense vector.

The DVecTransposer class is a wrapper object for the temporary transposition of a dense vector.

Member Enumeration Documentation

template<typename VT, bool TF>
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.

Constructor & Destructor Documentation

template<typename VT, bool TF>
blaze::DVecTransposer< VT, TF >::DVecTransposer ( VT &  dv)
inlineexplicit

Constructor for the DVecTransposer class.

Parameters
dvThe dense vector operand.

Member Function Documentation

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::addAssign ( const DenseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose addition assignment of a dense vector.

Parameters
rhsThe right-hand side dense vector to be added.
Returns
void

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.

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::addAssign ( const SparseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose addition assignment of a sparse vector.

Parameters
rhsThe right-hand side sparse vector to be added.
Returns
void

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.

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::assign ( const DenseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose assignment of a dense vector.

Parameters
rhsThe right-hand side dense vector to be assigned.
Returns
void

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.

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::assign ( const SparseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose assignment of a sparse vector.

Parameters
rhsThe right-hand side sparse vector to be assigned.
Returns
void

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.

template<typename VT, bool TF>
template<typename Other >
bool blaze::DVecTransposer< VT, TF >::canAlias ( const Other *  alias) const
inline

Returns whether the vector can alias with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case the alias corresponds to this vector, false if not.
template<typename VT, bool TF>
ElementType* blaze::DVecTransposer< VT, TF >::data ( )
inline

Low-level data access to the vector elements.

Returns
Pointer to the internal element storage.
template<typename VT, bool TF>
template<typename Other >
bool blaze::DVecTransposer< VT, TF >::isAliased ( const Other *  alias) const
inline

Returns whether the vector is aliased with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case the alias corresponds to this vector, false if not.
template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::multAssign ( const DenseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose multiplication assignment of a dense vector.

Parameters
rhsThe right-hand side dense vector to be multiplied.
Returns
void

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.

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::multAssign ( const SparseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose multiplication assignment of a sparse vector.

Parameters
rhsThe right-hand side sparse vector to be multiplied.
Returns
void

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.

template<typename VT, bool TF>
Reference blaze::DVecTransposer< VT, TF >::operator[] ( size_t  index)
inline

Subscript operator for the direct access to the vector elements.

Parameters
indexAccess index. The index has to be in the range $[0..N-1]$.
Returns
Reference to the accessed value.
template<typename , bool >
VectorType& blaze::Vector< typename, bool >::operator~ ( )
inlineinherited

Conversion operator for non-constant vectors.

Returns
Reference of the actual type of the vector.
template<typename , bool >
const VectorType& blaze::Vector< typename, bool >::operator~ ( ) const
inlineinherited

Conversion operator for constant vectors.

Returns
Const reference of the actual type of the vector.
template<typename VT, bool TF>
void blaze::DVecTransposer< VT, TF >::reset ( )
inline

Resets the vector elements.

Returns
void
template<typename VT, bool TF>
size_t blaze::DVecTransposer< VT, TF >::size ( ) const
inline

Returns the current size/dimension of the vector.

Returns
The size of the vector.
template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::subAssign ( const DenseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose subtraction assignment of a dense vector.

Parameters
rhsThe right-hand side dense vector to be subtracted.
Returns
void

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.

template<typename VT, bool TF>
template<typename VT2 >
void blaze::DVecTransposer< VT, TF >::subAssign ( const SparseVector< VT2, TF > &  rhs)
inline

Implementation of the transpose subtraction assignment of a sparse vector.

Parameters
rhsThe right-hand side sparse vector to be subtracted.
Returns
void

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.


The documentation for this class was generated from the following file: