cheshirekow  v0.1.0
mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS > Class Template Reference

#include <mpblocks/cuda/linalg2/Matrix.h>

Inheritance diagram for mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >:
mpblocks::cuda::linalg2::MatrixElement< Scalar, ROWS, COLS, 0, 0 > mpblocks::cuda::linalg2::LValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > > mpblocks::cuda::linalg2::RValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > >

Public Types

typedef LValue< Scalar, ROWS,
COLS, Matrix_t
LValue_t
 
typedef Matrix< Scalar, ROWS,
COLS > 
Matrix_t
 

Public Member Functions

template<Size_t i>
__device__ __host__ Scalar gve () const
 vector accessor More...
 
__device__ __host__ Matrix ()
 Default constructor. More...
 
template<typename Exp >
__device__ __host__ Matrix (RValue< Scalar, ROWS, COLS, Exp > const &exp)
 Construct from any MatrixExpression: More...
 
template<Size_t i, Size_t j>
__device__ __host__ Scalar & me ()
 matrix accessor More...
 
template<Size_t i, Size_t j>
__device__ __host__ Scalar me () const
 matrix accessor More...
 
__device__ __host__ Scalar & operator() (int i, int j)
 dynamic accessor for matrix expressions More...
 
__device__ __host__ Scalar const & operator() (int i, int j) const
 
__device__ __host__ Scalar & operator[] (int i)
 dynamic accessor for vector expressions More...
 
__device__ __host__ Scalar const & operator[] (int i) const
 
template<Size_t i>
__device__ __host__ Scalar & sve ()
 vector accessor More...
 
template<Size_t i>
__device__ __host__ Scalar & ve ()
 vector accessor More...
 
template<Size_t i>
__device__ __host__ Scalar ve () const
 vector accessor More...
 
- Public Member Functions inherited from mpblocks::cuda::linalg2::LValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Scalar & me ()
 return a mutable reference to the (i,j)th element of the matrix expression More...
 
__device__ __host__ Scalar const & me () const
 return an immutable reference to the (i,j)th element of the matrix expression More...
 
__device__ __host__
AssignmentIterator< Scalar,
ROWS, COLS, 0, 1, Matrix
< Scalar, ROWS, COLS > > 
operator<< (Scalar x)
 return an assignment iterator More...
 
__device__ __host__ LValue
< Scalar, ROWS, COLS, Matrix
< Scalar, ROWS, COLS > > & 
operator= (RValue< Scalar, ROWS, COLS, Exp2 > const &B)
 assignment More...
 
__device__ __host__ Scalar & ve ()
 return a mutable reference to the i'th element of the vector expression More...
 
__device__ __host__ Scalar const & ve () const
 return an immutable reference to the i'th element of the vector expression More...
 
- Public Member Functions inherited from mpblocks::cuda::linalg2::RValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Scalar me ()
 return the evaluated (i,j)'th element of a matrix expression More...
 
__device__ __host__ Scalar ve ()
 return the evaluated i'th element of a vector expression More...
 

Additional Inherited Members

- Protected Member Functions inherited from mpblocks::cuda::linalg2::LValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Scalar & me ()
 return a mutable reference to the (i,j)th element of the matrix expression More...
 
__device__ __host__ Scalar const & me () const
 return an immutable reference to the (i,j)th element of the matrix expression More...
 
__device__ __host__
AssignmentIterator< Scalar,
ROWS, COLS, 0, 1, Matrix
< Scalar, ROWS, COLS > > 
operator<< (Scalar x)
 return an assignment iterator More...
 
__device__ __host__ LValue
< Scalar, ROWS, COLS, Matrix
< Scalar, ROWS, COLS > > & 
operator= (RValue< Scalar, ROWS, COLS, Exp2 > const &B)
 assignment More...
 
__device__ __host__ Scalar & ve ()
 return a mutable reference to the i'th element of the vector expression More...
 
__device__ __host__ Scalar const & ve () const
 return an immutable reference to the i'th element of the vector expression More...
 
- Protected Member Functions inherited from mpblocks::cuda::linalg2::RValue< Scalar, ROWS, COLS, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Scalar me ()
 return the evaluated (i,j)'th element of a matrix expression More...
 
__device__ __host__ Scalar ve ()
 return the evaluated i'th element of a vector expression More...
 
- Protected Attributes inherited from mpblocks::cuda::linalg2::MatrixElement< Scalar, ROWS, COLS, 0, 0 >
Scalar m_data
 

Detailed Description

template<typename Scalar, Size_t ROWS, Size_t COLS>
class mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >

Definition at line 67 of file Matrix.h.

Member Typedef Documentation

template<typename Scalar, Size_t ROWS, Size_t COLS>
typedef LValue<Scalar,ROWS,COLS, Matrix_t > mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::LValue_t

Definition at line 74 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
typedef Matrix<Scalar,ROWS,COLS> mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::Matrix_t

Definition at line 73 of file Matrix.h.

Constructor & Destructor Documentation

template<typename Scalar, Size_t ROWS, Size_t COLS>
__device__ __host__ mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::Matrix ( )
inline

Default constructor.

Definition at line 149 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<typename Exp >
__device__ __host__ mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::Matrix ( RValue< Scalar, ROWS, COLS, Exp > const &  exp)
inline

Construct from any MatrixExpression:

Definition at line 155 of file Matrix.h.

Member Function Documentation

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i>
__device__ __host__ Scalar mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::gve ( ) const
inline

vector accessor

Definition at line 93 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i, Size_t j>
__device__ __host__ Scalar& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::me ( )
inline

matrix accessor

Definition at line 132 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i, Size_t j>
__device__ __host__ Scalar mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::me ( ) const
inline

matrix accessor

Definition at line 141 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
__device__ __host__ Scalar& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::operator() ( int  i,
int  j 
)
inline

dynamic accessor for matrix expressions

Note
this totally depends on the memory layout of the compiler, which may be different for different compilers

Definition at line 185 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
__device__ __host__ Scalar const& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::operator() ( int  i,
int  j 
) const
inline

Definition at line 201 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
__device__ __host__ Scalar& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::operator[] ( int  i)
inline

dynamic accessor for vector expressions

Note
this totally depends on the memory layout of the compiler, which may be different for different compilers

Definition at line 166 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
__device__ __host__ Scalar const& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::operator[] ( int  i) const
inline

Definition at line 173 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i>
__device__ __host__ Scalar& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::sve ( )
inline

vector accessor

Definition at line 80 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i>
__device__ __host__ Scalar& mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::ve ( )
inline

vector accessor

Definition at line 106 of file Matrix.h.

template<typename Scalar, Size_t ROWS, Size_t COLS>
template<Size_t i>
__device__ __host__ Scalar mpblocks::cuda::linalg2::Matrix< Scalar, ROWS, COLS >::ve ( ) const
inline

vector accessor

Definition at line 119 of file Matrix.h.


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