QUDA  v1.1.0
A library for QCD on GPUs
Public Types | Public Member Functions | Public Attributes | List of all members
quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase > Struct Template Reference

Generic reconstruction helper with no reconstruction. More...

#include <gauge_field_order.h>

Public Types

using real = typename mapper< Float >::type
 
using complex = complex< real >
 

Public Member Functions

 Reconstruct (const GaugeField &u)
 
 Reconstruct (const Reconstruct< N, Float, ghostExchange_ > &recon)
 
__device__ __host__ void Pack (real out[N], const complex in[N/2], int idx) const
 
template<typename I >
__device__ __host__ void Unpack (complex out[N/2], const real in[N], int idx, int dir, real phase, const I *X, const int *R) const
 
__device__ __host__ real getPhase (const complex in[N/2]) const
 

Public Attributes

real scale
 
real scale_inv
 

Detailed Description

template<int N, typename Float, QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
struct quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >

Generic reconstruction helper with no reconstruction.

Template Parameters
Nnumber of real numbers in each packed gauge matrix
FloatStorage format (e.g., double, float, short)
ghostExchange_optional template the ghostExchange type to avoid the run-time overhead (dummy for trivial reconstruct type)

Definition at line 1256 of file gauge_field_order.h.

Member Typedef Documentation

◆ complex

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
using quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::complex = complex<real>

Definition at line 1258 of file gauge_field_order.h.

◆ real

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
using quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::real = typename mapper<Float>::type

Definition at line 1257 of file gauge_field_order.h.

Constructor & Destructor Documentation

◆ Reconstruct() [1/2]

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Reconstruct ( const GaugeField u)
inline

Definition at line 1261 of file gauge_field_order.h.

◆ Reconstruct() [2/2]

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Reconstruct ( const Reconstruct< N, Float, ghostExchange_ > &  recon)
inline

Definition at line 1267 of file gauge_field_order.h.

Member Function Documentation

◆ getPhase()

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
__device__ __host__ real quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::getPhase ( const complex  in[N/2]) const
inline

Definition at line 1300 of file gauge_field_order.h.

◆ Pack()

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
__device__ __host__ void quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Pack ( real  out[N],
const complex  in[N/2],
int  idx 
) const
inline

Definition at line 1271 of file gauge_field_order.h.

◆ Unpack()

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
template<typename I >
__device__ __host__ void quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Unpack ( complex  out[N/2],
const real  in[N],
int  idx,
int  dir,
real  phase,
const I *  X,
const int *  R 
) const
inline

Definition at line 1289 of file gauge_field_order.h.

Member Data Documentation

◆ scale

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
real quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::scale

Definition at line 1259 of file gauge_field_order.h.

◆ scale_inv

template<int N, typename Float , QudaGhostExchange ghostExchange_, QudaStaggeredPhase = QUDA_STAGGERED_PHASE_NO>
real quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::scale_inv

Definition at line 1260 of file gauge_field_order.h.


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