diff --git a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc index 415b9150..a83b962e 100644 --- a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc +++ b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc @@ -48,17 +48,18 @@ void CayleyFermion5D::M5D(const FermionField &psi, std::vector &diag, std::vector &upper) { + Coeff_t one(1.0); int Ls=this->Ls; for(int s=0;s::M5Ddag(const FermionField &psi, std::vector &diag, std::vector &upper) { + Coeff_t one(1.0); int Ls=this->Ls; for(int s=0;s::M5Ddag(const FermionField &psi, template void CayleyFermion5D::MooeeInv (const FermionField &psi, FermionField &chi) { + Coeff_t one(1.0); + Coeff_t czero(0.0); chi.checkerboard=psi.checkerboard; int Ls=this->Ls; // Apply (L^{\prime})^{-1} - axpby_ssp (chi,1.0,psi, 0.0,psi,0,0); // chi[0]=psi[0] + axpby_ssp (chi,one,psi, czero,psi,0,0); // chi[0]=psi[0] for (int s=1;s=0;s--){ - axpby_ssp_pminus (chi,1.0,chi,-uee[s],chi,s,s+1); // chi[Ls] + axpby_ssp_pminus (chi,one,chi,-uee[s],chi,s,s+1); // chi[Ls] } } template void CayleyFermion5D::MooeeInvDag (const FermionField &psi, FermionField &chi) { + Coeff_t one(1.0); + Coeff_t czero(0.0); chi.checkerboard=psi.checkerboard; int Ls=this->Ls; // Apply (U^{\prime})^{-dagger} - axpby_ssp (chi,1.0,psi, 0.0,psi,0,0); // chi[0]=psi[0] + axpby_ssp (chi,one,psi, czero,psi,0,0); // chi[0]=psi[0] for (int s=1;s=0;s--){ - axpby_ssp_pplus (chi,1.0,chi,-lee[s],chi,s,s+1); // chi[Ls] + axpby_ssp_pplus (chi,one,chi,-conjugate(lee[s]),chi,s,s+1); // chi[Ls] } } #ifdef CAYLEY_DPERP_LINALG - INSTANTIATE(WilsonImplF); - INSTANTIATE(WilsonImplD); - INSTANTIATE(GparityWilsonImplF); - INSTANTIATE(GparityWilsonImplD); + INSTANTIATE_DPERP(WilsonImplF); + INSTANTIATE_DPERP(WilsonImplD); + INSTANTIATE_DPERP(GparityWilsonImplF); + INSTANTIATE_DPERP(GparityWilsonImplD); + INSTANTIATE_DPERP(ZWilsonImplF); + INSTANTIATE_DPERP(ZWilsonImplD); #endif }