QUDA  0.9.0
Public Member Functions | Public Attributes | Private Member Functions | List of all members
quda::Matrix< T, N > Class Template Reference

#include <quda_matrix.h>

Collaboration diagram for quda::Matrix< T, N >:
Collaboration graph
[legend]

Public Member Functions

__device__ __host__ Matrix ()
 
__device__ __host__ Matrix (const Matrix< T, N > &a)
 
__device__ __host__ Matrix (const T data_[])
 
__device__ __host__ Matrix (const HMatrix< typename RealType< T >::type, N > &a)
 
__device__ __host__ T const & operator() (int i, int j) const
 
__device__ __host__ T & operator() (int i, int j)
 
__device__ __host__ T const & operator() (int i) const
 
__device__ __host__ T & operator() (int i)
 
template<class U >
__device__ __host__ void operator= (const Matrix< U, N > &b)
 
template<typename S >
__device__ __host__ Matrix (const gauge_wrapper< typename RealType< T >::type, S > &s)
 Assignment operator for the Matrix class with a gauge_wrapper input. More...
 
template<typename S >
__device__ __host__ void operator= (const gauge_wrapper< typename RealType< T >::type, S > &s)
 Copy constructor for the Matrix class with a gauge_wrapper input. More...
 
template<typename S >
__device__ __host__ Matrix (const gauge_ghost_wrapper< typename RealType< T >::type, S > &s)
 Assignment operator for the Matrix class with a gauge_ghost_wrapper input. More...
 
template<typename S >
__device__ __host__ void operator= (const gauge_ghost_wrapper< typename RealType< T >::type, S > &s)
 Copy constructor for the Matrix class with a gauge_ghost_wrapper input. More...
 
__device__ __host__ uint64_t checksum () const
 

Public Attributes

data [N *N]
 

Private Member Functions

__device__ __host__ int index (int i, int j) const
 

Detailed Description

template<class T, int N>
class quda::Matrix< T, N >

Definition at line 68 of file quda_matrix.h.

Constructor & Destructor Documentation

◆ Matrix() [1/6]

template<int N, class T >
Matrix< N, T >::Matrix ( )
inline

Definition at line 76 of file quda_matrix.h.

References quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and quda::zero().

Here is the call graph for this function:

◆ Matrix() [2/6]

template<class T, int N>
__device__ __host__ quda::Matrix< T, N >::Matrix ( const Matrix< T, N > &  a)
inline

◆ Matrix() [3/6]

template<class T, int N>
__device__ __host__ quda::Matrix< T, N >::Matrix ( const T  data_[])
inline

◆ Matrix() [4/6]

template<class T , int N>
__device__ __host__ Matrix< T, N >::Matrix ( const HMatrix< typename RealType< T >::type, N > &  a)
inline

Definition at line 294 of file quda_matrix.h.

References a, and fused_exterior_ndeg_tm_dslash_cuda_gen::i.

◆ Matrix() [5/6]

template<typename T , int N>
template<typename S >
__device__ __host__ Matrix< T, N >::Matrix ( const gauge_wrapper< typename RealType< T >::type, S > &  a)
inline

Assignment operator for the Matrix class with a gauge_wrapper input.

Parameters
[in]aInput gauge_wrapper that we use to fill in this matrix instance

Definition at line 83 of file gauge_field_order.h.

References a.

◆ Matrix() [6/6]

template<typename T , int N>
template<typename S >
__device__ __host__ Matrix< T, N >::Matrix ( const gauge_ghost_wrapper< typename RealType< T >::type, S > &  a)
inline

Assignment operator for the Matrix class with a gauge_ghost_wrapper input.

Parameters
[in]aInput gauge_wrapper that we use to fill in this matrix instance

Definition at line 141 of file gauge_field_order.h.

References a.

Member Function Documentation

◆ checksum()

template<class T, int N>
__device__ __host__ uint64_t quda::Matrix< T, N >::checksum ( ) const
inline

Return 64-bit XOR checksum computed from the elements of the matrix. Compute the checksum on each 64-bit word that constitutes the Matrix

Definition at line 136 of file quda_matrix.h.

References base, quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and length.

Referenced by quda::siteChecksum().

Here is the caller graph for this function:

◆ index()

template<class T, int N>
__device__ __host__ int quda::Matrix< T, N >::index ( int  i,
int  j 
) const
inlineprivate

Definition at line 71 of file quda_matrix.h.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i.

Referenced by quda::Matrix< T, N >::operator()().

Here is the caller graph for this function:

◆ operator()() [1/4]

template<int N, class T >
const T & Matrix< N, T >::operator() ( int  i,
int  j 
) const
inline

Definition at line 93 of file quda_matrix.h.

References quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and quda::Matrix< T, N >::index().

Here is the call graph for this function:

◆ operator()() [2/4]

template<int N, class T >
T & Matrix< N, T >::operator() ( int  i,
int  j 
)
inline

Definition at line 97 of file quda_matrix.h.

References quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and quda::Matrix< T, N >::index().

Here is the call graph for this function:

◆ operator()() [3/4]

template<class T, int N>
__device__ __host__ T const& quda::Matrix< T, N >::operator() ( int  i) const
inline

Definition at line 101 of file quda_matrix.h.

References quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and quda::Matrix< T, N >::index().

Here is the call graph for this function:

◆ operator()() [4/4]

template<class T, int N>
__device__ __host__ T& quda::Matrix< T, N >::operator() ( int  i)
inline

Definition at line 107 of file quda_matrix.h.

References quda::Matrix< T, N >::data, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and quda::Matrix< T, N >::index().

Here is the call graph for this function:

◆ operator=() [1/3]

template<class T, int N>
template<class U >
__device__ __host__ void quda::Matrix< T, N >::operator= ( const Matrix< U, N > &  b)
inline

◆ operator=() [2/3]

template<typename T , int N>
template<typename S >
__device__ __host__ void Matrix< T, N >::operator= ( const gauge_wrapper< typename RealType< T >::type, S > &  a)
inline

Copy constructor for the Matrix class with a gauge_wrapper input.

Parameters
[in]aInput gauge_wrapper that we use to fill in this matrix instance

Definition at line 73 of file gauge_field_order.h.

References a.

◆ operator=() [3/3]

template<typename T , int N>
template<typename S >
__device__ __host__ void Matrix< T, N >::operator= ( const gauge_ghost_wrapper< typename RealType< T >::type, S > &  a)
inline

Copy constructor for the Matrix class with a gauge_ghost_wrapper input.

Parameters
[in]aInput gauge_wrapper that we use to fill in this matrix instance

Definition at line 131 of file gauge_field_order.h.

References a.

Member Data Documentation

◆ data

template<class T, int N>
T quda::Matrix< T, N >::data[N *N]

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