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::DMatTransposer< MT, SO > Class Template Reference

Expression object for the transposition of a dense matrix.The DMatTransposer class is a wrapper object for the temporary transposition of a dense matrix. More...

#include <DMatTransposer.h>

Inherits blaze::DenseMatrix< DMatTransposer< MT, SO >, SO >.

Public Types

enum  { vectorizable = MT::vectorizable }
 Compilation flag for intrinsic optimization. More...
 
typedef DMatTransposer< MT, SO > This
 Type of this DMatTransposer instance.
 
typedef MT::TransposeType ResultType
 Result type for expression template evaluations.
 
typedef MT::OppositeType OppositeType
 Result type with opposite storage order for expression template evaluations.
 
typedef MT::ResultType TransposeType
 Transpose type for expression template evaluations.
 
typedef MT::ElementType ElementType
 Resulting element type.
 
typedef MT::ReturnType ReturnType
 Return type for expression template evaluations.
 
typedef const ThisCompositeType
 Data type for composite expression templates.
 
typedef MT::Reference Reference
 Reference to a non-constant matrix value.
 
typedef MT::ConstReference ConstReference
 Reference to a constant matrix value.
 
typedef MT MatrixType
 Type of the matrix.
 

Public Member Functions

 DMatTransposer (MT &dm)
 Constructor for the DMatTransposer class.
 
Reference operator() (size_t i, size_t j)
 2D-access to the matrix elements.
 
ElementTypedata ()
 Low-level data access to the matrix elements.
 
size_t rows () const
 Returns the current number of rows of the matrix.
 
size_t columns () const
 Returns the current number of columns of the matrix.
 
size_t spacing () const
 Returns the spacing between the beginning of two rows.
 
void reset ()
 Resets the matrix elements.
 
template<typename Other >
bool isAliased (const Other *alias) const
 Returns whether the matrix is aliased with the given address alias.
 
template<typename MT2 >
void assign (const DenseMatrix< MT2, SO > &rhs)
 Implementation of the transpose assignment of a row-major dense matrix.
 
template<typename MT2 >
void assign (const DenseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose assignment of a column-major dense matrix.
 
template<typename MT2 >
void assign (const SparseMatrix< MT2, SO > &rhs)
 Implementation of the transpose assignment of a row-major sparse matrix.
 
template<typename MT2 >
void assign (const SparseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose assignment of a column-major sparse matrix.
 
template<typename MT2 >
void addAssign (const DenseMatrix< MT2, SO > &rhs)
 Implementation of the transpose addition assignment of a row-major dense matrix.
 
template<typename MT2 >
void addAssign (const DenseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose addition assignment of a column-major dense matrix.
 
template<typename MT2 >
void addAssign (const SparseMatrix< MT2, SO > &rhs)
 Implementation of the transpose addition assignment of a row-major sparse matrix.
 
template<typename MT2 >
void addAssign (const SparseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose addition assignment of a column-major sparse matrix.
 
template<typename MT2 >
void subAssign (const DenseMatrix< MT2, SO > &rhs)
 Implementation of the transpose subtraction assignment of a row-major dense matrix.
 
template<typename MT2 >
void subAssign (const DenseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose subtraction assignment of a column-major dense matrix.
 
template<typename MT2 >
void subAssign (const SparseMatrix< MT2, SO > &rhs)
 Implementation of the transpose subtraction assignment of a row-major sparse matrix.
 
template<typename MT2 >
void subAssign (const SparseMatrix< MT2,!SO > &rhs)
 Implementation of the transpose subtraction assignment of a column-major sparse matrix.
 
MatrixTypeoperator~ ()
 Conversion operator for non-constant matrices.
 
const MatrixTypeoperator~ () const
 Conversion operator for constant matrices.
 

Private Attributes

MT & dm_
 The dense matrix operand.
 

Detailed Description

template<typename MT, bool SO>
class blaze::DMatTransposer< MT, SO >

Expression object for the transposition of a dense matrix.

The DMatTransposer class is a wrapper object for the temporary transposition of a dense matrix.

Member Enumeration Documentation

template<typename MT , bool SO>
anonymous enum

Compilation flag for intrinsic optimization.

The vectorizable compilation flag indicates whether expressions the matrix is involved in can be optimized via intrinsics. In case the dense matrix operand is vectorizable, the vectorizable compilation flag is set to true, otherwise it is set to false.

Constructor & Destructor Documentation

template<typename MT , bool SO>
blaze::DMatTransposer< MT, SO >::DMatTransposer ( MT &  dm)
inlineexplicit

Constructor for the DMatTransposer class.

Parameters
dmThe dense matrix operand.

Member Function Documentation

template<typename MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::addAssign ( const DenseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose addition assignment of a row-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::addAssign ( const DenseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose addition assignment of a column-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::addAssign ( const SparseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose addition assignment of a row-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::addAssign ( const SparseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose addition assignment of a column-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::assign ( const DenseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose assignment of a row-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::assign ( const DenseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose assignment of a column-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::assign ( const SparseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose assignment of a row-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::assign ( const SparseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose assignment of a column-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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 MT , bool SO>
size_t blaze::DMatTransposer< MT, SO >::columns ( ) const
inline

Returns the current number of columns of the matrix.

Returns
The number of columns of the matrix.
template<typename MT , bool SO>
ElementType* blaze::DMatTransposer< MT, SO >::data ( )
inline

Low-level data access to the matrix elements.

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

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

Parameters
aliasThe alias to be checked.
Returns
true in case the alias corresponds to this matrix, false if not.
template<typename MT , bool SO>
Reference blaze::DMatTransposer< MT, SO >::operator() ( size_t  i,
size_t  j 
)
inline

2D-access to the matrix elements.

Parameters
iAccess index for the row. The index has to be in the range $[0..M-1]$.
jAccess index for the column. The index has to be in the range $[0..N-1]$.
Returns
Reference to the accessed value.
template<typename MT, bool SO>
MatrixType& blaze::Matrix< MT, SO >::operator~ ( )
inlineinherited

Conversion operator for non-constant matrices.

Returns
Reference of the actual type of the matrix.
template<typename MT, bool SO>
const MatrixType& blaze::Matrix< MT, SO >::operator~ ( ) const
inlineinherited

Conversion operator for constant matrices.

Returns
Constant reference of the actual type of the matrix.
template<typename MT , bool SO>
void blaze::DMatTransposer< MT, SO >::reset ( )
inline

Resets the matrix elements.

Returns
void
template<typename MT , bool SO>
size_t blaze::DMatTransposer< MT, SO >::rows ( ) const
inline

Returns the current number of rows of the matrix.

Returns
The number of rows of the matrix.
template<typename MT , bool SO>
size_t blaze::DMatTransposer< MT, SO >::spacing ( ) const
inline

Returns the spacing between the beginning of two rows.

Returns
The spacing between the beginning of two rows.
template<typename MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::subAssign ( const DenseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose subtraction assignment of a row-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::subAssign ( const DenseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose subtraction assignment of a column-major dense matrix.

Parameters
rhsThe right-hand side dense matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::subAssign ( const SparseMatrix< MT2, SO > &  rhs)
inline

Implementation of the transpose subtraction assignment of a row-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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 MT , bool SO>
template<typename MT2 >
void blaze::DMatTransposer< MT, SO >::subAssign ( const SparseMatrix< MT2,!SO > &  rhs)
inline

Implementation of the transpose subtraction assignment of a column-major sparse matrix.

Parameters
rhsThe right-hand side sparse matrix 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: