High Performance Plasticity  0.5.0
hpp::Tensor2CUDA< T, M, N > Class Template Reference

#include <tensorCUDA.h>

Collaboration diagram for hpp::Tensor2CUDA< T, M, N >:

Public Member Functions

__host__ __device__ Tensor2CUDA ()
 
 Tensor2CUDA (const Tensor2< T > &in)
 
__host__ __device__ Tensor2CUDA (const Tensor2SymmCUDA< T, N > &input)
 
__host__ __device__ Tensor2CUDA< T, M, N > & operator= (const Tensor2CUDA< T, M, N > &input)
 
__host__ __device__ Tensor2CUDA< T, N, N > & operator= (const Tensor2SymmCUDA< T, N > &input)
 
__host__ __device__ T & operator() (const unsigned int i, const unsigned int j)
 
__host__ __device__ T getVal (const unsigned int i, const unsigned int j) const
 
__host__ __device__ void setVal (const unsigned int i, const unsigned int j, const T val)
 
__host__ __device__ Tensor2CUDA< T, N, M > trans () const
 
__host__ __device__ Tensor2CUDA< T, 3, 3 > inv () const
 3x3 inverse More...
 
void printToStream (std::ostream &out) const
 
void writeToExistingHDF5Dataset (H5::DataSet &dataset, std::vector< hsize_t > arrayOffset)
 

Private Attributes

vals [M][N]
 

Constructor & Destructor Documentation

template<typename T, unsigned int M, unsigned int N>
__host__ __device__ hpp::Tensor2CUDA< T, M, N >::Tensor2CUDA ( )
inline
template<typename T, unsigned int M, unsigned int N>
hpp::Tensor2CUDA< T, M, N >::Tensor2CUDA ( const Tensor2< T > &  in)
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ hpp::Tensor2CUDA< T, M, N >::Tensor2CUDA ( const Tensor2SymmCUDA< T, N > &  input)
inline

Member Function Documentation

template<typename T, unsigned int M, unsigned int N>
__host__ __device__ T hpp::Tensor2CUDA< T, M, N >::getVal ( const unsigned int  i,
const unsigned int  j 
) const
inline
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ Tensor2CUDA<T,3,3> hpp::Tensor2CUDA< T, M, N >::inv ( ) const
inline

3x3 inverse

No attempts at singularity checking or significant optimisations.

template<typename T, unsigned int M, unsigned int N>
__host__ __device__ T& hpp::Tensor2CUDA< T, M, N >::operator() ( const unsigned int  i,
const unsigned int  j 
)
inline
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ Tensor2CUDA<T,M,N>& hpp::Tensor2CUDA< T, M, N >::operator= ( const Tensor2CUDA< T, M, N > &  input)
inline
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ Tensor2CUDA<T,N,N>& hpp::Tensor2CUDA< T, M, N >::operator= ( const Tensor2SymmCUDA< T, N > &  input)
inline
template<typename T , unsigned int M, unsigned int N>
void hpp::Tensor2CUDA< T, M, N >::printToStream ( std::ostream &  out) const
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ void hpp::Tensor2CUDA< T, M, N >::setVal ( const unsigned int  i,
const unsigned int  j,
const T  val 
)
inline
template<typename T, unsigned int M, unsigned int N>
__host__ __device__ Tensor2CUDA<T,N,M> hpp::Tensor2CUDA< T, M, N >::trans ( ) const
inline
template<typename T, unsigned int M, unsigned int N>
void hpp::Tensor2CUDA< T, M, N >::writeToExistingHDF5Dataset ( H5::DataSet &  dataset,
std::vector< hsize_t >  arrayOffset 
)
inline

Member Data Documentation

template<typename T, unsigned int M, unsigned int N>
T hpp::Tensor2CUDA< T, M, N >::vals[M][N]
private

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