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

Specialized container for Hermitian matrices (e.g., used for wrapping clover matrices) More...

#include <quda_matrix.h>

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

Public Member Functions

__device__ __host__ HMatrix ()
 
__device__ __host__ HMatrix (const HMatrix< T, N > &a)
 
__device__ __host__ HMatrix (const T data_[])
 
__device__ __host__ complex< T > const operator() (int i, int j) const
 
__device__ __host__ HMatrix_wrapper< T, HMatrix< T, N > > operator() (int i, int j)
 
template<class U >
__device__ __host__ void operator= (const HMatrix< U, N > &b)
 
template<typename S >
__device__ __host__ HMatrix (const clover_wrapper< T, S > &s)
 
template<typename S >
__device__ __host__ void operator= (const clover_wrapper< T, S > &s)
 
__device__ __host__ HMatrix< T, N > square () const
 Hermitian matrix square. More...
 
__device__ __host__ void print () const
 

Public Attributes

data [N *N]
 

Private Member Functions

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

Private Attributes

friend HMatrix_wrapper< T, HMatrix< T, N > >
 

Detailed Description

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

Specialized container for Hermitian matrices (e.g., used for wrapping clover matrices)

Definition at line 65 of file quda_matrix.h.

Constructor & Destructor Documentation

◆ HMatrix() [1/4]

template<class T, int N>
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( )
inline

Definition at line 210 of file quda_matrix.h.

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

Here is the call graph for this function:

◆ HMatrix() [2/4]

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

◆ HMatrix() [3/4]

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

◆ HMatrix() [4/4]

template<typename T , int N>
template<typename S >
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( const clover_wrapper< T, S > &  s)
inline

Definition at line 71 of file clover_field_order.h.

References a.

Member Function Documentation

◆ index()

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

Definition at line 194 of file quda_matrix.h.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i.

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

Here is the caller graph for this function:

◆ operator()() [1/2]

template<class T, int N>
__device__ __host__ complex<T> const quda::HMatrix< T, N >::operator() ( int  i,
int  j 
) const
inline

Definition at line 225 of file quda_matrix.h.

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

Here is the call graph for this function:

◆ operator()() [2/2]

template<class T, int N>
__device__ __host__ HMatrix_wrapper<T,HMatrix<T,N> > quda::HMatrix< T, N >::operator() ( int  i,
int  j 
)
inline

Definition at line 236 of file quda_matrix.h.

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

Here is the call graph for this function:

◆ operator=() [1/2]

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

◆ operator=() [2/2]

template<typename T , int N>
template<typename S >
__device__ __host__ void quda::HMatrix< T, N >::operator= ( const clover_wrapper< T, S > &  s)
inline

Definition at line 65 of file clover_field_order.h.

References a.

◆ print()

template<class T, int N>
__device__ __host__ void quda::HMatrix< T, N >::print ( ) const
inline

Definition at line 280 of file quda_matrix.h.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, and printf().

Here is the call graph for this function:

◆ square()

template<class T, int N>
__device__ __host__ HMatrix<T,N> quda::HMatrix< T, N >::square ( ) const
inline

Hermitian matrix square.

Returns
Matrix square

Definition at line 256 of file quda_matrix.h.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, and tmp.

Member Data Documentation

◆ data

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

◆ HMatrix_wrapper< T, HMatrix< T, N > >

template<class T, int N>
friend quda::HMatrix< T, N >::HMatrix_wrapper< T, HMatrix< T, N > >
private

Definition at line 191 of file quda_matrix.h.


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