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

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

Inheritance diagram for mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >:
mpblocks::cuda::linalg::LValue< Scalar, Matrix< Scalar, ROWS, COLS > > mpblocks::cuda::linalg::RValue< Scalar, Matrix< Scalar, ROWS, COLS > >

Public Types

typedef LValue< Scalar, Matrix_tLValue_t
 
typedef Matrix< Scalar, ROWS,
COLS > 
Matrix_t
 
- Public Types inherited from mpblocks::cuda::linalg::LValue< Scalar, Matrix< Scalar, ROWS, COLS > >
typedef unsigned int Size_t
 
typedef StreamAssignment
< LValue< Scalar, Matrix
< Scalar, ROWS, COLS > > > 
Stream_t
 
- Public Types inherited from mpblocks::cuda::linalg::RValue< Scalar, Matrix< Scalar, ROWS, COLS > >
typedef unsigned int Size_t
 

Public Member Functions

__device__ __host__ int cols () const
 
__device__ __host__ Matrix ()
 Default constructor. More...
 
template<typename Exp >
__device__ __host__ Matrix (RValue< Scalar, Exp > const &exp)
 Construct from any MatrixExpression: More...
 
__device__ __host__ Scalar & operator() (int i, int j)
 matrix accessor More...
 
__device__ __host__ Scalar const & operator() (int i, int j) const
 matrix accessor More...
 
__device__ __host__ Scalar & operator[] (int i)
 vector accessor More...
 
__device__ __host__ Scalar const & operator[] (int i) const
 vector accessor More...
 
__device__ __host__ int rows () const
 
__device__ __host__ int size () const
 
- Public Member Functions inherited from mpblocks::cuda::linalg::LValue< Scalar, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Size_t cols () const
 return the columns of a matrix expression More...
 
__device__ __host__ operator RValue< Scalar, LValue< Scalar, Matrix< Scalar, ROWS, COLS > > > ()
 
__device__ __host__ Scalar & operator() (Size_t i, Size_t j)
 return the evaluated (i,j)'th element of a matrix expression More...
 
__device__ __host__ Scalar const & operator() (Size_t i, Size_t j) const
 return the evaluated (i,j)'th element of a matrix expression More...
 
__device__ __host__ LValue
< Scalar, Matrix< Scalar, ROWS,
COLS > > & 
operator+= (RValue< Scalar, Exp2 > const &B)
 
__device__ __host__ LValue
< Scalar, Matrix< Scalar, ROWS,
COLS > > & 
operator-= (RValue< Scalar, Exp2 > const &B)
 
__device__ __host__ Stream_t operator<< (Scalar x)
 returns a stream for assignment More...
 
__device__ __host__ LValue
< Scalar, Matrix< Scalar, ROWS,
COLS > > & 
operator= (RValue< Scalar, Exp2 > const &B)
 
__device__ __host__ Scalar & operator[] (Size_t i)
 return the evaluated i'th element of a vector expression More...
 
__device__ __host__ Scalar const & operator[] (Size_t i) const
 return the evaluated i'th element of a vector expression More...
 
__device__ __host__ Size_t rows () const
 return the rows of a matrix expression More...
 
__device__ __host__ Size_t size () const
 return the size for a vector More...
 
- Public Member Functions inherited from mpblocks::cuda::linalg::RValue< Scalar, Matrix< Scalar, ROWS, COLS > >
__device__ __host__ Size_t cols () const
 return the columns of a matrix expression More...
 
__device__ __host__ Scalar maxCoeff ()
 
__device__ __host__ Scalar norm () const
 
__device__ __host__ Scalar norm_squared () const
 
__device__ __host__ Scale
< Scalar, Matrix< Scalar, ROWS,
COLS > > 
normalized () const
 
__device__ __host__ Scalar operator() (Size_t i, Size_t j) const
 return the evaluated (i,j)'th element of a matrix expression More...
 
__device__ __host__ Scalar operator[] (Size_t i) const
 return the evaluated i'th element of a vector expression More...
 
__device__ __host__ Size_t rows () const
 return the rows of a matrix expression More...
 
__device__ __host__ Size_t size () const
 return the size for a vector More...
 

Protected Attributes

Scalar m_data [ROWS *COLS]
 

Detailed Description

template<typename Scalar, int ROWS, int COLS>
class mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >

Definition at line 39 of file Matrix.h.

Member Typedef Documentation

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

Definition at line 45 of file Matrix.h.

template<typename Scalar , int ROWS, int COLS>
typedef Matrix<Scalar,ROWS,COLS > mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >::Matrix_t

Definition at line 44 of file Matrix.h.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 93 of file Matrix.h.

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

Construct from any MatrixExpression:

Definition at line 99 of file Matrix.h.

Member Function Documentation

template<typename Scalar , int ROWS, int COLS>
__device__ __host__ int mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >::cols ( ) const
inline

Definition at line 59 of file Matrix.h.

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

matrix accessor

Definition at line 77 of file Matrix.h.

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

matrix accessor

Definition at line 85 of file Matrix.h.

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

vector accessor

Definition at line 63 of file Matrix.h.

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

vector accessor

Definition at line 70 of file Matrix.h.

template<typename Scalar , int ROWS, int COLS>
__device__ __host__ int mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >::rows ( ) const
inline

Definition at line 56 of file Matrix.h.

template<typename Scalar , int ROWS, int COLS>
__device__ __host__ int mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >::size ( ) const
inline

Definition at line 53 of file Matrix.h.

Member Data Documentation

template<typename Scalar , int ROWS, int COLS>
Scalar mpblocks::cuda::linalg::Matrix< Scalar, ROWS, COLS >::m_data[ROWS *COLS]
protected

Definition at line 49 of file Matrix.h.


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