64 void M (
const FermionField &in, FermionField &out);
65 void Mdag (
const FermionField &in, FermionField &out);
68 void Meooe (
const FermionField &in, FermionField &out);
69 void Mooee (
const FermionField &in, FermionField &out);
70 void MooeeInv (
const FermionField &in, FermionField &out);
72 void MeooeDag (
const FermionField &in, FermionField &out);
73 void MooeeDag (
const FermionField &in, FermionField &out);
76 void Mdir (
const FermionField &in, FermionField &out,
int dir,
int disp);
77 void MdirAll(
const FermionField &in, std::vector<FermionField> &out);
78 void DhopDir(
const FermionField &in, FermionField &out,
int dir,
int disp);
81 void DhopDeriv (GaugeField &mat,
const FermionField &
U,
const FermionField &V,
int dag);
82 void DhopDerivEO(GaugeField &mat,
const FermionField &
U,
const FermionField &V,
int dag);
83 void DhopDerivOE(GaugeField &mat,
const FermionField &
U,
const FermionField &V,
int dag);
86 void Dhop (
const FermionField &in, FermionField &out,
int dag);
87 void DhopOE(
const FermionField &in, FermionField &out,
int dag);
88 void DhopEO(
const FermionField &in, FermionField &out,
int dag);
95 DoubledGaugeField &
U,
96 DoubledGaugeField & UUU,
98 const FermionField &A,
99 const FermionField &
B,
103 DoubledGaugeField &
U,
104 DoubledGaugeField &UUU,
105 const FermionField &in,
110 DoubledGaugeField &
U,
111 DoubledGaugeField &UUU,
112 const FermionField &in,
117 DoubledGaugeField &
U,
118 DoubledGaugeField &UUU,
119 const FermionField &in,
136 const ImplParams &p= ImplParams());
146 const ImplParams &p= ImplParams());
150 void ImportGauge(
const GaugeField &_Uthin,
const GaugeField &_Ufat);
155 DoubledGaugeField &
GetU(
void) {
return Umu ; } ;
184 Stencil.SetSloppyComms(sloppy);
206 PropagatorField &q_in_2,
207 PropagatorField &q_out,
208 PropagatorField &src,
212 PropagatorField &q_out,
213 PropagatorField &src,
218 ComplexField &lattice_cmplx);
#define NAMESPACE_BEGIN(A)
static INTERNAL_PRECISION U
static const std::vector< int > displacements
static const std::vector< int > directions
GridBase * _FourDimRedBlackGrid
DoubledGaugeField & GetUUU(void)
void Mdag(const FermionField &in, FermionField &out)
void MdirAll(const FermionField &in, std::vector< FermionField > &out)
void Mooee(const FermionField &in, FermionField &out)
GridBase * FermionRedBlackGrid(void)
void DhopDeriv(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
DoubledGaugeField UUUmuOdd
GridBase * GaugeRedBlackGrid(void)
void ImportGauge(const GaugeField &_Uthin)
void DhopOE(const FermionField &in, FermionField &out, int dag)
void DerivInternal(StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, GaugeField &mat, const FermionField &A, const FermionField &B, int dag)
void DhopDerivOE(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
ImprovedStaggeredFermion5D(GaugeField &_Uthin, GaugeField &_Ufat, GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, double _mass, RealD _c1, RealD _c2, RealD _u0, const ImplParams &p=ImplParams())
GridBase * FermionGrid(void)
void MooeeDag(const FermionField &in, FermionField &out)
void DhopEO(const FermionField &in, FermionField &out, int dag)
void CopyGaugeCheckerboards(void)
void DhopInternalSerialComms(StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
DoubledGaugeField UUUmuEven
void M(const FermionField &in, FermionField &out)
virtual int isTrivialEE(void)
void Mdir(const FermionField &in, FermionField &out, int dir, int disp)
void ImportGaugeSimple(const DoubledGaugeField &_UUU, const DoubledGaugeField &_U)
void ContractConservedCurrent(PropagatorField &q_in_1, PropagatorField &q_in_2, PropagatorField &q_out, PropagatorField &src, Current curr_type, unsigned int mu)
void DhopInternalOverlappedComms(StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
void MooeeInvDag(const FermionField &in, FermionField &out)
ImprovedStaggeredFermion5D(GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, double _mass, RealD _c1=1.0, RealD _c2=1.0, RealD _u0=1.0, const ImplParams &p=ImplParams())
void DhopDerivEO(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void SloppyComms(int sloppy)
DoubledGaugeField & GetU(void)
void MooeeInv(const FermionField &in, FermionField &out)
void Meooe(const FermionField &in, FermionField &out)
void Dhop(const FermionField &in, FermionField &out, int dag)
DoubledGaugeField UmuEven
GridBase * GaugeGrid(void)
StaggeredKernels< StaggeredImplF > Kernels
void DhopDir(const FermionField &in, FermionField &out, int dir, int disp)
void MeooeDag(const FermionField &in, FermionField &out)
void SeqConservedCurrent(PropagatorField &q_in, PropagatorField &q_out, PropagatorField &src, Current curr_type, unsigned int mu, unsigned int tmin, unsigned int tmax, ComplexField &lattice_cmplx)
void DhopInternal(StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
void ImportGauge(const GaugeField &_Uthin, const GaugeField &_Ufat)
GridBase * _FiveDimRedBlackGrid
void ImportGaugeSimple(const GaugeField &_UUU, const GaugeField &_U)
StaggeredKernels(const ImplParams &p=ImplParams())