QUDA  0.9.0
Public Member Functions | Protected Attributes | List of all members
quda::clover::FieldOrder< Float, nColor, nSpin, order > Struct Template Reference

#include <clover_field_order.h>

Collaboration diagram for quda::clover::FieldOrder< Float, nColor, nSpin, order >:
Collaboration graph
[legend]

Public Member Functions

 FieldOrder (CloverField &A, bool inverse=false)
 
CloverFieldField ()
 
virtual ~FieldOrder ()
 
__device__ __host__ const complex< Float > operator() (int parity, int x, int s_row, int s_col, int c_row, int c_col) const
 Read-only complex-member accessor function. More...
 
__device__ __host__ complex< Float > operator() (int dummy, int parity, int x, int s_row, int s_col, int c_row, int c_col) const
 Read-only complex-member accessor function. This is a special variant that is compatible with the equivalent gauge::FieldOrder accessor so these can be used interchangebly in templated code. More...
 
__device__ __host__ int Ncolor () const
 Complex-member accessor function. More...
 
__device__ __host__ int Volume () const
 
__device__ __host__ int VolumeCB () const
 
size_t Bytes () const
 

Protected Attributes

CloverFieldA
 
const int volumeCB
 
const Accessor< Float, nColor, nSpin, order > accessor
 

Detailed Description

template<typename Float, int nColor, int nSpin, QudaCloverFieldOrder order>
struct quda::clover::FieldOrder< Float, nColor, nSpin, order >

This is a template driven generic clover field accessor. To deploy for a specifc field ordering, the two operator() accessors have to be specialized for that ordering.

Definition at line 268 of file clover_field_order.h.

Constructor & Destructor Documentation

◆ FieldOrder()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
quda::clover::FieldOrder< Float, nColor, nSpin, order >::FieldOrder ( CloverField A,
bool  inverse = false 
)
inline

Constructor for the FieldOrder class

Parameters
fieldThe field that we are accessing

Definition at line 281 of file clover_field_order.h.

◆ ~FieldOrder()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
virtual quda::clover::FieldOrder< Float, nColor, nSpin, order >::~FieldOrder ( )
inlinevirtual

Definition at line 286 of file clover_field_order.h.

Member Function Documentation

◆ Bytes()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
size_t quda::clover::FieldOrder< Float, nColor, nSpin, order >::Bytes ( ) const
inline

Return the size of the allocation (parity left out and added as needed in Tunable::bytes)

Definition at line 350 of file clover_field_order.h.

References n, nColor, and quda::clover::FieldOrder< Float, nColor, nSpin, order >::volumeCB.

◆ Field()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
CloverField& quda::clover::FieldOrder< Float, nColor, nSpin, order >::Field ( )
inline

◆ Ncolor()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
__device__ __host__ int quda::clover::FieldOrder< Float, nColor, nSpin, order >::Ncolor ( ) const
inline

Complex-member accessor function.

Parameters
parityParity index
x1-d site index
s_rowrow spin index
c_rowrow color index
s_colcol spin index
c_colcol color indexReturns the number of field colors

Definition at line 341 of file clover_field_order.h.

References nColor.

◆ operator()() [1/2]

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
__device__ __host__ const complex<Float> quda::clover::FieldOrder< Float, nColor, nSpin, order >::operator() ( int  parity,
int  x,
int  s_row,
int  s_col,
int  c_row,
int  c_col 
) const
inline

Read-only complex-member accessor function.

Parameters
parityParity index
x1-d site index
s_rowrow spin index
c_rowrow color index
s_colcol spin index
c_colcol color index

Definition at line 298 of file clover_field_order.h.

References quda::clover::FieldOrder< Float, nColor, nSpin, order >::accessor, parity, and x.

◆ operator()() [2/2]

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
__device__ __host__ complex<Float> quda::clover::FieldOrder< Float, nColor, nSpin, order >::operator() ( int  dummy,
int  parity,
int  x,
int  s_row,
int  s_col,
int  c_row,
int  c_col 
) const
inline

Read-only complex-member accessor function. This is a special variant that is compatible with the equivalent gauge::FieldOrder accessor so these can be used interchangebly in templated code.

Parameters
dummyDummy parameter that is ignored
parityParity index
x1-d site index
s_rowrow spin index
c_rowrow color index
s_colcol spin index
c_colcol color index

Definition at line 317 of file clover_field_order.h.

References quda::clover::FieldOrder< Float, nColor, nSpin, order >::accessor, parity, and x.

◆ Volume()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
__device__ __host__ int quda::clover::FieldOrder< Float, nColor, nSpin, order >::Volume ( ) const
inline

Returns the field volume

Definition at line 344 of file clover_field_order.h.

References quda::clover::FieldOrder< Float, nColor, nSpin, order >::volumeCB.

◆ VolumeCB()

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
__device__ __host__ int quda::clover::FieldOrder< Float, nColor, nSpin, order >::VolumeCB ( ) const
inline

Returns the field volume

Definition at line 347 of file clover_field_order.h.

References quda::clover::FieldOrder< Float, nColor, nSpin, order >::volumeCB.

Member Data Documentation

◆ A

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
CloverField& quda::clover::FieldOrder< Float, nColor, nSpin, order >::A
protected

An internal reference to the actual field we are accessing

Definition at line 272 of file clover_field_order.h.

Referenced by quda::clover::FieldOrder< Float, nColor, nSpin, order >::Field().

◆ accessor

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
const Accessor<Float,nColor,nSpin,order> quda::clover::FieldOrder< Float, nColor, nSpin, order >::accessor
protected

◆ volumeCB

template<typename Float , int nColor, int nSpin, QudaCloverFieldOrder order>
const int quda::clover::FieldOrder< Float, nColor, nSpin, order >::volumeCB
protected

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