28 if (
in.Ndim() != 5 ||
out.Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
33 &static_cast<const cudaColorSpinorField&>(
in),
39 long long Ls =
in.X(4);
40 long long bulk = (
Ls-2)*(
in.Volume()/
Ls);
41 long long wall = 2*
in.Volume()/
Ls;
42 flops += 1320LL*(
long long)
in.Volume() + 96LL*bulk + 120LL*wall;
47 const double &k)
const 49 if (
in.Ndim() != 5 ||
out.Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
55 &static_cast<const cudaColorSpinorField&>(
in),
57 &static_cast<const cudaColorSpinorField&>(
x),
63 long long Ls =
in.X(4);
64 long long bulk = (
Ls-2)*(
in.Volume()/
Ls);
65 long long wall = 2*
in.Volume()/
Ls;
66 flops += (1320LL+48LL)*(
long long)
in.Volume() + 96LL*bulk + 120LL*wall;
93 errorQuda(
"Preconditioned solution requires a preconditioned solve_type");
125 if (&
dirac !=
this) {
135 if (
in.Ndim() != 5 ||
out.Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
void M(ColorSpinorField &out, const ColorSpinorField &in) const
void prepare(ColorSpinorField *&src, ColorSpinorField *&sol, ColorSpinorField &x, ColorSpinorField &b, const QudaSolutionType) const
virtual void MdagM(ColorSpinorField &out, const ColorSpinorField &in) const
void reconstruct(ColorSpinorField &x, const ColorSpinorField &b, const QudaSolutionType) const
virtual ~DiracDomainWallPC()
virtual void checkFullSpinor(const ColorSpinorField &, const ColorSpinorField &) const
void Dslash(ColorSpinorField &out, const ColorSpinorField &in, const QudaParity parity) const
void deleteTmp(ColorSpinorField **, const bool &reset) const
DiracWilson & operator=(const DiracWilson &dirac)
bool newTmp(ColorSpinorField **, const ColorSpinorField &) const
int commDim[QUDA_MAX_DIM]
DiracDomainWallPC(const DiracParam ¶m)
virtual void M(ColorSpinorField &out, const ColorSpinorField &in) const
DiracDomainWall & operator=(const DiracDomainWall &dirac)
void checkSpinorAlias(const ColorSpinorField &, const ColorSpinorField &) const
DiracDomainWall(const DiracParam ¶m)
#define checkLocation(...)
enum QudaSolutionType_s QudaSolutionType
enum QudaParity_s QudaParity
DiracDomainWallPC & operator=(const DiracDomainWallPC &dirac)
void Mdag(ColorSpinorField &out, const ColorSpinorField &in) const
virtual void prepare(ColorSpinorField *&src, ColorSpinorField *&sol, ColorSpinorField &x, ColorSpinorField &b, const QudaSolutionType) const
cpuColorSpinorField * out
void domainWallDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const double &m_f, const double &k, const int *commDim, TimeProfile &profile)
void MdagM(ColorSpinorField &out, const ColorSpinorField &in) const
void DslashXpay(ColorSpinorField &out, const ColorSpinorField &in, const QudaParity parity, const ColorSpinorField &x, const double &k) const
virtual void reconstruct(ColorSpinorField &x, const ColorSpinorField &b, const QudaSolutionType) const
virtual void checkParitySpinor(const ColorSpinorField &, const ColorSpinorField &) const
virtual ~DiracDomainWall()