mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
Multiple implementations for the 5d hopping terms, depending on cache friendly
ops and/or the 5th direction being vectorised All use 4d redblack.
This commit is contained in:
parent
79a8ca1a62
commit
dfd714e1ef
@ -51,11 +51,29 @@ namespace Grid {
|
||||
virtual void MooeeDag (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeInv (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeInvDag (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeLDUInv (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeLDUInvDag (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeDenseInv (const FermionField &in, FermionField &out);
|
||||
virtual void MooeeDenseInvDag (const FermionField &in, FermionField &out);
|
||||
void MooeeDenseInternal(const FermionField &in, FermionField &out,int dag,int inv);
|
||||
virtual void Meo5D (const FermionField &psi, FermionField &chi);
|
||||
|
||||
virtual void M5D (const FermionField &psi, FermionField &chi);
|
||||
virtual void M5Ddag(const FermionField &psi, FermionField &chi);
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// Instantiate different versions depending on Impl
|
||||
/////////////////////////////////////////////////////
|
||||
void M5D(const FermionField &psi,
|
||||
const FermionField &phi,
|
||||
FermionField &chi,
|
||||
std::vector<RealD> &lower,
|
||||
std::vector<RealD> &diag,
|
||||
std::vector<RealD> &upper);
|
||||
|
||||
void M5Ddag(const FermionField &psi,
|
||||
const FermionField &phi,
|
||||
FermionField &chi,
|
||||
std::vector<RealD> &lower,
|
||||
std::vector<RealD> &diag,
|
||||
std::vector<RealD> &upper);
|
||||
void MooeeInternal(const FermionField &in, FermionField &out,int dag,int inv);
|
||||
|
||||
virtual void Instantiatable(void)=0;
|
||||
|
||||
// force terms; five routines; default to Dhop on diagonal
|
||||
@ -100,6 +118,7 @@ namespace Grid {
|
||||
RealD _mass,RealD _M5,const ImplParams &p= ImplParams());
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
void SetCoefficientsZolotarev(RealD zolohi,Approx::zolotarev_data *zdata,RealD b,RealD c);
|
||||
void SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c);
|
||||
|
Loading…
Reference in New Issue
Block a user