43static std::vector<vComplexF> signsF;
45 template<
typename vtype>
46 int setupSigns(std::vector<vtype>&
signs ){
47 std::vector<vtype> bother(2);
54 static int signInitF = setupSigns(signsF);
56#define MAYBEPERM(A,perm) if (perm) { A ; }
57#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
58#define COMPLEX_SIGNS(isigns) vComplexF *isigns = &signsF[0];
64#define INTERIOR_AND_EXTERIOR
69 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
70#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
74 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
75#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
87#undef INTERIOR_AND_EXTERIOR
92 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
93#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
97 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
98#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
111#undef INTERIOR_AND_EXTERIOR
116 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
117#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
121 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
122#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
138#define INTERIOR_AND_EXTERIOR
143 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
144#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
148 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
149#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
161#undef INTERIOR_AND_EXTERIOR
166 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
167#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
171 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
172#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
184#undef INTERIOR_AND_EXTERIOR
189 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
190#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
194 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
195#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
209#define MAYBEPERM(A,B)
210#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
219#define INTERIOR_AND_EXTERIOR
224 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
225#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
228 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
229#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
240#undef INTERIOR_AND_EXTERIOR
245 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
246#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
249 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
250#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
261#undef INTERIOR_AND_EXTERIOR
265#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LSNOPF(ptr,pf)
268 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
269#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
273 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
274#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
290#define INTERIOR_AND_EXTERIOR
295 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
296#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
299 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
300#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
311#undef INTERIOR_AND_EXTERIOR
316 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
317#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
320 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
321#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
332#undef INTERIOR_AND_EXTERIOR
337 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
338#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
341 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
342#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
367static std::vector<vComplexD> signsD;
368static int signInitD = setupSigns(signsD);
370#define MAYBEPERM(A,perm) if (perm) { A ; }
371#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
372#define COMPLEX_SIGNS(isigns) vComplexD *isigns = &signsD[0];
375#define INTERIOR_AND_EXTERIOR
383#define INTERIOR_AND_EXTERIOR
388 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
389#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
392 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
393#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
404#undef INTERIOR_AND_EXTERIOR
409 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
410#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
413 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
414#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
425#undef INTERIOR_AND_EXTERIOR
430 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
431#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
434 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
435#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
450#define INTERIOR_AND_EXTERIOR
455 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
456#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
459 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
460#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
471#undef INTERIOR_AND_EXTERIOR
476 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
477#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
480 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
481#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
492#undef INTERIOR_AND_EXTERIOR
497 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
498#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
501 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
502#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
515#define MAYBEPERM(A,B)
516#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
524#define INTERIOR_AND_EXTERIOR
529 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
530#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
533 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
534#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
545#undef INTERIOR_AND_EXTERIOR
550 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
551#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
554 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
555#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
566#undef INTERIOR_AND_EXTERIOR
570#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LSNOPF(ptr,pf)
573 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
574#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
577 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
578#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
593#define INTERIOR_AND_EXTERIOR
598 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
599#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
602 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
603#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
614#undef INTERIOR_AND_EXTERIOR
619 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
620#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
623 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
624#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
635#undef INTERIOR_AND_EXTERIOR
641 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
642#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
645 int ss,
int ssU,
int Ls,
int Ns,
const FermionFieldView &in, FermionFieldView &out)
646#include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h>
accelerator_inline void vrsign(Grid_simd2< S, V > &ret)
accelerator_inline void visign(Grid_simd2< S, V > &ret)
static INTERNAL_PRECISION U
static void AsmDhopSiteExt(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)
static void AsmDhopSiteDag(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)
static void AsmDhopSite(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)
static void AsmDhopSiteDagExt(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)
static void AsmDhopSiteDagInt(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)
static void AsmDhopSiteInt(StencilView &st, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out)