diff --git a/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h b/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h index 38d0fda2..9d1a9a86 100644 --- a/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h +++ b/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h @@ -1,4 +1,4 @@ - /************************************************************************************* +/************************************************************************************* Grid physics library, www.github.com/paboyle/Grid @@ -24,48 +24,47 @@ Author: Peter Boyle 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. See the full license in the file "LICENSE" in the top level distribution directory - *************************************************************************************/ - /* END LEGAL */ +*************************************************************************************/ +/* END LEGAL */ #ifndef OVERLAP_WILSON_CONTFRAC_TANH_FERMION_H #define OVERLAP_WILSON_CONTFRAC_TANH_FERMION_H #include -namespace Grid { +NAMESPACE_BEGIN(Grid); - namespace QCD { +template +class OverlapWilsonContFracTanhFermion : public ContinuedFractionFermion5D +{ +public: + INHERIT_IMPL_TYPES(Impl); +public: - template - class OverlapWilsonContFracTanhFermion : public ContinuedFractionFermion5D - { - public: - INHERIT_IMPL_TYPES(Impl); - public: - - virtual void Instantiatable(void){}; - // Constructors - OverlapWilsonContFracTanhFermion(GaugeField &_Umu, - GridCartesian &FiveDimGrid, - GridRedBlackCartesian &FiveDimRedBlackGrid, - GridCartesian &FourDimGrid, - GridRedBlackCartesian &FourDimRedBlackGrid, - RealD _mass,RealD _M5, - RealD scale,const ImplParams &p= ImplParams()) : + virtual void Instantiatable(void){}; + // Constructors + OverlapWilsonContFracTanhFermion(GaugeField &_Umu, + GridCartesian &FiveDimGrid, + GridRedBlackCartesian &FiveDimRedBlackGrid, + GridCartesian &FourDimGrid, + GridRedBlackCartesian &FourDimRedBlackGrid, + RealD _mass,RealD _M5, + RealD scale,const ImplParams &p= ImplParams()) : - // b+c=scale, b-c = 0 <=> b =c = scale/2 - ContinuedFractionFermion5D(_Umu, - FiveDimGrid, - FiveDimRedBlackGrid, - FourDimGrid, - FourDimRedBlackGrid,_mass,_M5,p) - { - assert((this->Ls&0x1)==1); // Odd Ls required - int nrational=this->Ls-1;// Even rational order - Approx::zolotarev_data *zdata = Approx::higham(1.0,nrational);// eps is ignored for higham - this->SetCoefficientsTanh(zdata,scale); - Approx::zolotarev_free(zdata); - } - }; + // b+c=scale, b-c = 0 <=> b =c = scale/2 + ContinuedFractionFermion5D(_Umu, + FiveDimGrid, + FiveDimRedBlackGrid, + FourDimGrid, + FourDimRedBlackGrid,_mass,_M5,p) + { + assert((this->Ls&0x1)==1); // Odd Ls required + int nrational=this->Ls-1;// Even rational order + Approx::zolotarev_data *zdata = Approx::higham(1.0,nrational);// eps is ignored for higham + this->SetCoefficientsTanh(zdata,scale); + Approx::zolotarev_free(zdata); } -} +}; + +NAMESPACE_END(Grid); + #endif