29#ifndef GRID_QCD_NAIVE_STAG_FERMION_H
30#define GRID_QCD_NAIVE_STAG_FERMION_H
62 void M(
const FermionField &in, FermionField &out);
63 void Mdag(
const FermionField &in, FermionField &out);
68 void Meooe(
const FermionField &in, FermionField &out);
69 void MeooeDag(
const FermionField &in, FermionField &out);
70 void Mooee(
const FermionField &in, FermionField &out);
71 void MooeeDag(
const FermionField &in, FermionField &out);
72 void MooeeInv(
const FermionField &in, FermionField &out);
79 void DhopDeriv (GaugeField &mat,
const FermionField &
U,
const FermionField &V,
int dag);
80 void DhopDerivOE(GaugeField &mat,
const FermionField &
U,
const FermionField &V,
int dag);
81 void DhopDerivEO(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);
93 void Mdir(
const FermionField &in, FermionField &out,
int dir,
int disp);
94 void MdirAll(
const FermionField &in, std::vector<FermionField> &out);
95 void DhopDir(
const FermionField &in, FermionField &out,
int dir,
int disp);
101 DoubledGaugeField &
U,
103 const FermionField &A,
const FermionField &
B,
int dag);
106 const FermionField &in, FermionField &out,
int dag);
108 const FermionField &in, FermionField &out,
int dag);
110 const FermionField &in, FermionField &out,
int dag);
118 const ImplParams &p = ImplParams());
122 const ImplParams &p = ImplParams());
126 DoubledGaugeField &
GetU(
void) {
return Umu ; } ;
151 Stencil.SetSloppyComms(sloppy);
165 PropagatorField &q_in_2,
166 PropagatorField &q_out,
167 PropagatorField &src,
171 PropagatorField &q_out,
172 PropagatorField &srct,
177 ComplexField &lattice_cmplx);
NaiveStaggeredFermion< StaggeredImplF > NaiveStaggeredFermionF
NaiveStaggeredFermion< StaggeredImplD > NaiveStaggeredFermionD
#define NAMESPACE_BEGIN(A)
static INTERNAL_PRECISION U
static const std::vector< int > directions
static const std::vector< int > displacements
StaggeredKernels< StaggeredImplF > Kernels
DoubledGaugeField UmuEven
DoubledGaugeField & GetU(void)
void DhopInternal(StencilImpl &st, DoubledGaugeField &U, const FermionField &in, FermionField &out, int dag)
void MooeeDag(const FermionField &in, FermionField &out)
virtual int isTrivialEE(void)
void MdirAll(const FermionField &in, std::vector< FermionField > &out)
NaiveStaggeredFermion(GridCartesian &Fgrid, GridRedBlackCartesian &Hgrid, RealD _mass, RealD _c1, RealD _u0, const ImplParams &p=ImplParams())
GridBase * GaugeRedBlackGrid(void)
void Dhop(const FermionField &in, FermionField &out, int dag)
void CopyGaugeCheckerboards(void)
void DhopInternalOverlappedComms(StencilImpl &st, DoubledGaugeField &U, const FermionField &in, FermionField &out, int dag)
void DhopDeriv(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
GridBase * FermionRedBlackGrid(void)
void M(const FermionField &in, FermionField &out)
void DhopDerivOE(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
GridBase * GaugeGrid(void)
void SeqConservedCurrent(PropagatorField &q_in, PropagatorField &q_out, PropagatorField &srct, Current curr_type, unsigned int mu, unsigned int tmin, unsigned int tmax, ComplexField &lattice_cmplx)
void DhopOE(const FermionField &in, FermionField &out, int dag)
void DhopEO(const FermionField &in, FermionField &out, int dag)
void DhopDir(const FermionField &in, FermionField &out, int dir, int disp)
NaiveStaggeredFermion(GaugeField &_U, GridCartesian &Fgrid, GridRedBlackCartesian &Hgrid, RealD _mass, RealD _c1, RealD _u0, const ImplParams &p=ImplParams())
void Mdag(const FermionField &in, FermionField &out)
void DhopDerivEO(GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void ImportGauge(const GaugeField &_U)
void MooeeInv(const FermionField &in, FermionField &out)
void MeooeDag(const FermionField &in, FermionField &out)
void MooeeInvDag(const FermionField &in, FermionField &out)
void DhopInternalSerialComms(StencilImpl &st, DoubledGaugeField &U, const FermionField &in, FermionField &out, int dag)
void DerivInternal(StencilImpl &st, DoubledGaugeField &U, GaugeField &mat, const FermionField &A, const FermionField &B, int dag)
void Mooee(const FermionField &in, FermionField &out)
void ContractConservedCurrent(PropagatorField &q_in_1, PropagatorField &q_in_2, PropagatorField &q_out, PropagatorField &src, Current curr_type, unsigned int mu)
GridBase * FermionGrid(void)
void SloppyComms(int sloppy)
void Meooe(const FermionField &in, FermionField &out)
void Mdir(const FermionField &in, FermionField &out, int dir, int disp)
StaggeredKernels(const ImplParams &p=ImplParams())