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

Namespace, indnet

This commit is contained in:
paboyle 2018-01-14 23:46:07 +00:00
parent fe0467df1e
commit 044a292281

View File

@ -1,4 +1,4 @@
/************************************************************************************* /*************************************************************************************
Grid physics library, www.github.com/paboyle/Grid Grid physics library, www.github.com/paboyle/Grid
@ -26,31 +26,30 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See the full license in the file "LICENSE" in the top level distribution directory See the full license in the file "LICENSE" in the top level distribution directory
*************************************************************************************/ *************************************************************************************/
/* END LEGAL */ /* END LEGAL */
#include <Grid/Grid_Eigen_Dense.h> #include <Grid/Grid_Eigen_Dense.h>
#include <Grid/qcd/action/fermion/FermionCore.h> #include <Grid/qcd/action/fermion/FermionCore.h>
#include <Grid/qcd/action/fermion/CayleyFermion5D.h> #include <Grid/qcd/action/fermion/CayleyFermion5D.h>
namespace Grid { NAMESPACE_BEGIN(Grid);
namespace QCD {
template<class Impl> template<class Impl>
CayleyFermion5D<Impl>::CayleyFermion5D(GaugeField &_Umu, CayleyFermion5D<Impl>::CayleyFermion5D(GaugeField &_Umu,
GridCartesian &FiveDimGrid, GridCartesian &FiveDimGrid,
GridRedBlackCartesian &FiveDimRedBlackGrid, GridRedBlackCartesian &FiveDimRedBlackGrid,
GridCartesian &FourDimGrid, GridCartesian &FourDimGrid,
GridRedBlackCartesian &FourDimRedBlackGrid, GridRedBlackCartesian &FourDimRedBlackGrid,
RealD _mass,RealD _M5,const ImplParams &p) : RealD _mass,RealD _M5,const ImplParams &p) :
WilsonFermion5D<Impl>(_Umu, WilsonFermion5D<Impl>(_Umu,
FiveDimGrid, FiveDimGrid,
FiveDimRedBlackGrid, FiveDimRedBlackGrid,
FourDimGrid, FourDimGrid,
FourDimRedBlackGrid,_M5,p), FourDimRedBlackGrid,_M5,p),
mass(_mass) mass(_mass)
{ {
} }
template<class Impl> template<class Impl>
void CayleyFermion5D<Impl>::Dminus(const FermionField &psi, FermionField &chi) void CayleyFermion5D<Impl>::Dminus(const FermionField &psi, FermionField &chi)
@ -548,35 +547,35 @@ void CayleyFermion5D<Impl>::MooeeInternalCompute(int dag, int inv,
Matm.resize(Ls*LLs); Matm.resize(Ls*LLs);
for(int s2=0;s2<Ls;s2++){ for(int s2=0;s2<Ls;s2++){
for(int s1=0;s1<LLs;s1++){ for(int s1=0;s1<LLs;s1++){
int istride = LLs; int istride = LLs;
int ostride = 1; int ostride = 1;
Simd Vp; Simd Vp;
Simd Vm; Simd Vm;
scalar_type *sp = (scalar_type *)&Vp; scalar_type *sp = (scalar_type *)&Vp;
scalar_type *sm = (scalar_type *)&Vm; scalar_type *sm = (scalar_type *)&Vm;
for(int l=0;l<Nsimd;l++){ for(int l=0;l<Nsimd;l++){
if ( switcheroo<Coeff_t>::iscomplex() ) { if ( switcheroo<Coeff_t>::iscomplex() ) {
sp[l] = PplusMat (l*istride+s1*ostride,s2); sp[l] = PplusMat (l*istride+s1*ostride,s2);
sm[l] = PminusMat(l*istride+s1*ostride,s2); sm[l] = PminusMat(l*istride+s1*ostride,s2);
} else { } else {
// if real // if real
scalar_type tmp; scalar_type tmp;
tmp = PplusMat (l*istride+s1*ostride,s2); tmp = PplusMat (l*istride+s1*ostride,s2);
sp[l] = scalar_type(tmp.real(),tmp.real()); sp[l] = scalar_type(tmp.real(),tmp.real());
tmp = PminusMat(l*istride+s1*ostride,s2); tmp = PminusMat(l*istride+s1*ostride,s2);
sm[l] = scalar_type(tmp.real(),tmp.real()); sm[l] = scalar_type(tmp.real(),tmp.real());
}
} }
} Matp[LLs*s2+s1] = Vp;
Matp[LLs*s2+s1] = Vp; Matm[LLs*s2+s1] = Vm;
Matm[LLs*s2+s1] = Vm; }}
}}
} }
FermOpTemplateInstantiate(CayleyFermion5D); FermOpTemplateInstantiate(CayleyFermion5D);
GparityFermOpTemplateInstantiate(CayleyFermion5D); GparityFermOpTemplateInstantiate(CayleyFermion5D);
}} NAMESPACE_END(Grid);