20 const CloverFermActParams& param_)
52 Real mquarter = -0.25;
64 chi[rb[1]] += mquarter*tmp1;
69 tmp1[rb[1]] = (GammaConst<Ns,Ns*Ns-1>() * timesI(
psi));
89 cbsite_flops += 4*Nc*Ns;
91 return cbsite_flops*(Layout::sitesOnNode()/2);
105 const CloverFermActParams& param_)
135 T tmp1; moveToFastMemoryHint(tmp1);
137 Real mquarter = -0.25;
149 chi[rb[1]] += mquarter*tmp1;
154 tmp1[rb[1]] = (GammaConst<Ns,Ns*Ns-1>() * timesI(
psi));
174 cbsite_flops += 4*Nc*Ns;
176 return cbsite_flops*(Layout::sitesOnNode()/2);
unsigned long nFlops() const
Return flops performed by the operator()
CloverFermActParams param
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
const Subset & subset() const
Return the subset on which the operator acts.
unsigned long nFlops() const
Return flops performed by the operator()
void create(Handle< FermState< T, P, Q > > fs, const CloverFermActParams ¶m_)
Creation routine.
unsigned long nFlops() const
Return flops performed by the operator()
const Subset & subset() const
Return the subset on which the operator acts.
CloverFermActParams param
void operator()(LatticeFermionF &chi, const LatticeFermionF &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
void create(Handle< FermState< LatticeFermionF, P, Q > > fs, const CloverFermActParams ¶m_)
Creation routine.
void create(Handle< FermState< T, multi1d< U >, multi1d< U > > > fs, const CloverFermActParams ¶m_)
Creation routine.
void apply(T &chi, const T &psi, enum PlusMinus isign, int cb) const
void choles(int cb)
Computes the inverse of the term on cb using Cholesky.
void create(Handle< FermState< T, P, Q > > state)
Creation routine.
unsigned long nFlops() const
Return flops performed by the operator()
Even-odd preconditioned Clover fermion linear operator.
void apply(T &chi, const T &psi, enum PlusMinus isign, int cb) const
General Wilson-Dirac dslash.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)