1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-09 21:50:45 +01:00

Changing Dminus(Dag) to use full vectors to work correctly

This commit is contained in:
Chulwoo Jung 2017-03-12 23:02:42 -04:00
parent cc773ae70c
commit 33edde245d

View File

@ -57,10 +57,11 @@ void CayleyFermion5D<Impl>::Dminus(const FermionField &psi, FermionField &chi)
{ {
int Ls=this->Ls; int Ls=this->Ls;
this->DW(psi,this->tmp(),DaggerNo); FermionField tmp_f(this->FermionGrid());
this->DW(psi,tmp_f,DaggerNo);
for(int s=0;s<Ls;s++){ for(int s=0;s<Ls;s++){
axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],this->tmp(),s,s);// chi = (1-c[s] D_W) psi axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],tmp_f,s,s);// chi = (1-c[s] D_W) psi
} }
} }
@ -112,10 +113,11 @@ void CayleyFermion5D<Impl>::DminusDag(const FermionField &psi, FermionField &chi
{ {
int Ls=this->Ls; int Ls=this->Ls;
this->DW(psi,this->tmp(),DaggerYes); FermionField tmp_f(this->FermionGrid());
this->DW(psi,tmp_f,DaggerYes);
for(int s=0;s<Ls;s++){ for(int s=0;s<Ls;s++){
axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],this->tmp(),s,s);// chi = (1-c[s] D_W) psi axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],tmp_f,s,s);// chi = (1-c[s] D_W) psi
} }
} }
template<class Impl> template<class Impl>