52 if (*tmp)
return false;
66 #define flip(x) (x) = ((x) == QUDA_DAG_YES ? QUDA_DAG_NO : QUDA_DAG_YES)
88 errorQuda(
"CUDA Dirac operator requires UKQCD basis, out = %d, in = %d",
93 errorQuda(
"Input precision %d and output spinor precision %d don't match in dslash_quda",
98 errorQuda(
"Input %d and output %d spinor strides don't match in dslash_quda",
103 errorQuda(
"ColorSpinorFields are not single parity: in = %d, out = %d",
107 if (out.
Ndim() != 5) {
124 errorQuda(
"ColorSpinorFields are not full fields: in = %d, out = %d",
130 if (a.
V() == b.
V())
errorQuda(
"Aliasing pointers");
177 errorQuda(
"Cannot create DiracTwistedClover operator for %d flavors\n", param.
Ls);
184 errorQuda(
"Cannot create DiracTwistedCloverPC operator for %d flavors\n", param.
Ls);
Dirac(const DiracParam ¶m)
virtual void checkParitySpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const
QudaVerbosity getVerbosity()
bool newTmp(cudaColorSpinorField **, const cudaColorSpinorField &) const
cudaColorSpinorField * tmp1
void checkSpinorAlias(const cudaColorSpinorField &, const cudaColorSpinorField &) const
int commDim[QUDA_MAX_DIM]
cudaColorSpinorField * tmp2
cudaColorSpinorField * tmp
VOLATILE spinorFloat kappa
int commDim[QUDA_MAX_DIM]
virtual void MdagM(cudaColorSpinorField &out, const cudaColorSpinorField &in) const =0
void deleteTmp(cudaColorSpinorField **, const bool &reset) const
cudaColorSpinorField * tmp2
virtual void checkFullSpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const
Dirac & operator=(const Dirac &dirac)
cpuColorSpinorField * out
virtual void M(cudaColorSpinorField &out, const cudaColorSpinorField &in) const =0
cudaColorSpinorField * tmp1
QudaPrecision Precision() const
QudaGammaBasis GammaBasis() const
static Dirac * create(const DiracParam ¶m)
void Mdag(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
QudaSiteSubset SiteSubset() const
void MMdag(cudaColorSpinorField &out, const cudaColorSpinorField &in) const