cheshirekow  v0.1.0
mpblocks::cuda::linalg::LValue< Scalar, Mat > Class Template Reference

expression template for rvalues More...

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

Public Types

typedef unsigned int Size_t
 
typedef StreamAssignment
< LValue< Scalar, Mat > > 
Stream_t
 

Public Member Functions

__device__ __host__ Size_t cols () const
 return the columns of a matrix expression More...
 
__device__ __host__ operator RValue< Scalar, LValue< Scalar, Mat > > ()
 
__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...
 
template<class Exp2 >
__device__ __host__ LValue
< Scalar, Mat > & 
operator+= (RValue< Scalar, Exp2 > const &B)
 
template<class Exp2 >
__device__ __host__ LValue
< Scalar, Mat > & 
operator-= (RValue< Scalar, Exp2 > const &B)
 
__device__ __host__ Stream_t operator<< (Scalar x)
 returns a stream for assignment More...
 
template<class Exp2 >
__device__ __host__ LValue
< Scalar, Mat > & 
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...
 

Detailed Description

template<typename Scalar, class Mat>
class mpblocks::cuda::linalg::LValue< Scalar, Mat >

expression template for rvalues

Definition at line 36 of file LValue.h.

Member Typedef Documentation

template<typename Scalar, class Mat>
typedef unsigned int mpblocks::cuda::linalg::LValue< Scalar, Mat >::Size_t

Definition at line 41 of file LValue.h.

template<typename Scalar, class Mat>
typedef StreamAssignment< LValue<Scalar,Mat> > mpblocks::cuda::linalg::LValue< Scalar, Mat >::Stream_t

Definition at line 39 of file LValue.h.

Member Function Documentation

template<typename Scalar, class Mat>
__device__ __host__ Size_t mpblocks::cuda::linalg::LValue< Scalar, Mat >::cols ( ) const
inline

return the columns of a matrix expression

Definition at line 59 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator RValue< Scalar, LValue< Scalar, Mat > > ( )
inline

Definition at line 140 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Scalar& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator() ( Size_t  i,
Size_t  j 
)
inline

return the evaluated (i,j)'th element of a matrix expression

Definition at line 80 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Scalar const& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator() ( Size_t  i,
Size_t  j 
) const
inline

return the evaluated (i,j)'th element of a matrix expression

Definition at line 87 of file LValue.h.

template<typename Scalar, class Mat>
template<class Exp2 >
__device__ __host__ LValue<Scalar,Mat>& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator+= ( RValue< Scalar, Exp2 > const &  B)
inline

Definition at line 115 of file LValue.h.

template<typename Scalar, class Mat>
template<class Exp2 >
__device__ __host__ LValue<Scalar,Mat>& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator-= ( RValue< Scalar, Exp2 > const &  B)
inline

Definition at line 128 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Stream_t mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator<< ( Scalar  x)
inline

returns a stream for assignment

Definition at line 94 of file LValue.h.

template<typename Scalar, class Mat>
template<class Exp2 >
__device__ __host__ LValue<Scalar,Mat>& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator= ( RValue< Scalar, Exp2 > const &  B)
inline

Definition at line 102 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Scalar& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator[] ( Size_t  i)
inline

return the evaluated i'th element of a vector expression

Definition at line 66 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Scalar const& mpblocks::cuda::linalg::LValue< Scalar, Mat >::operator[] ( Size_t  i) const
inline

return the evaluated i'th element of a vector expression

Definition at line 73 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Size_t mpblocks::cuda::linalg::LValue< Scalar, Mat >::rows ( ) const
inline

return the rows of a matrix expression

Definition at line 52 of file LValue.h.

template<typename Scalar, class Mat>
__device__ __host__ Size_t mpblocks::cuda::linalg::LValue< Scalar, Mat >::size ( ) const
inline

return the size for a vector

Definition at line 45 of file LValue.h.


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