QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Attributes | List of all members
quda::spin_mapper< fineSpin, coarseSpin > Struct Template Reference

Public Member Functions

__device__ __host__ constexpr int operator() (int s, int parity) const
 

Static Public Attributes

static constexpr int spin_block_size = (fineSpin == 1 && coarseSpin == 2) ? 0 : fineSpin / coarseSpin
 

Detailed Description

template<int fineSpin, int coarseSpin>
struct quda::spin_mapper< fineSpin, coarseSpin >

Helper struct for dealing with spin coarsening. This helper should work with all types of fermions.

Definition at line 10 of file multigrid_helper.cuh.

Member Function Documentation

◆ operator()()

template<int fineSpin, int coarseSpin>
__device__ __host__ constexpr int quda::spin_mapper< fineSpin, coarseSpin >::operator() ( int  s,
int  parity 
) const
inline

Return the coarse spin coordinate from the fine spin coordinate

Parameters
sFine spin coordinate
parityfine parity, for staggered
Returns
Coarse spin coordinate

Definition at line 20 of file multigrid_helper.cuh.

References parity, and quda::spin_mapper< fineSpin, coarseSpin >::spin_block_size.

Member Data Documentation

◆ spin_block_size

template<int fineSpin, int coarseSpin>
constexpr int quda::spin_mapper< fineSpin, coarseSpin >::spin_block_size = (fineSpin == 1 && coarseSpin == 2) ? 0 : fineSpin / coarseSpin
static

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