From 74e397b29cdcc4fb54baaa48dc825ddf2c575764 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Tue, 30 Jun 2015 15:03:11 +0100 Subject: [PATCH] big commit fixing nocompiles in defective C++11 compilers (gcc, icpc). stared getting to near the bleeding edge I guess --- lib/qcd/QCD.h | 6 +- lib/qcd/action/fermion/WilsonFermion.cc | 12 +- lib/qcd/action/fermion/WilsonFermion5D.cc | 28 +-- lib/qcd/action/fermion/WilsonFermion5D.h | 16 +- lib/qcd/action/fermion/WilsonKernels.cc | 6 +- lib/qcd/action/fermion/WilsonKernels.h | 49 ++-- lib/qcd/action/fermion/WilsonKernelsHand.cc | 4 +- lib/qcd/spin/Dirac.h | 20 +- lib/qcd/spin/TwoSpinor.h | 257 ++++++++++---------- lib/qcd/utils/WilsonLoops.h | 4 +- 10 files changed, 204 insertions(+), 198 deletions(-) diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h index b3c6d138..0e841d8e 100644 --- a/lib/qcd/QCD.h +++ b/lib/qcd/QCD.h @@ -24,9 +24,9 @@ namespace QCD { // QCD iMatrix types // Index conventions: Lorentz x Spin x Colour ////////////////////////////////////////////////////////////////////////////// - static const int ColourIndex = 1; - static const int SpinIndex = 2; - static const int LorentzIndex= 3; + static const int ColourIndex = 2; + static const int SpinIndex = 1; + static const int LorentzIndex= 0; // ChrisK very keen to add extra space for Gparity doubling. diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc index 13f16c5a..067d5113 100644 --- a/lib/qcd/action/fermion/WilsonFermion.cc +++ b/lib/qcd/action/fermion/WilsonFermion.cc @@ -35,7 +35,7 @@ void WilsonFermion::DoubleStore(LatticeDoubledGaugeField &Uds,const LatticeGauge conformable(Umu._grid,GaugeGrid()); LatticeColourMatrix U(GaugeGrid()); for(int mu=0;mu(Umu,mu); + U = PeekIndex(Umu,mu); pokeIndex(Uds,U,mu); U = adj(Cshift(U,mu,-1)); pokeIndex(Uds,U,mu+4); @@ -109,7 +109,7 @@ void WilsonFermion::DhopDir(const LatticeFermion &in, LatticeFermion &out,int di PARALLEL_FOR_LOOP for(int sss=0;sssoSites();sss++){ - DiracOpt::DhopDir(Stencil,Umu,comm_buf,sss,sss,in,out,dirdisp); + DiracOptDhopDir(Stencil,Umu,comm_buf,sss,sss,in,out,dirdisp); } }; @@ -125,24 +125,24 @@ void WilsonFermion::DhopInternal(CartesianStencil & st,LatticeDoubledGaugeField if( HandOptDslash ) { PARALLEL_FOR_LOOP for(int sss=0;sssoSites();sss++){ - DiracOptHand::DhopSiteDag(st,U,comm_buf,sss,sss,in,out); + DiracOptHandDhopSiteDag(st,U,comm_buf,sss,sss,in,out); } } else { PARALLEL_FOR_LOOP for(int sss=0;sssoSites();sss++){ - DiracOpt::DhopSiteDag(st,U,comm_buf,sss,sss,in,out); + DiracOptDhopSiteDag(st,U,comm_buf,sss,sss,in,out); } } } else { if( HandOptDslash ) { PARALLEL_FOR_LOOP for(int sss=0;sssoSites();sss++){ - DiracOptHand::DhopSite(st,U,comm_buf,sss,sss,in,out); + DiracOptHandDhopSite(st,U,comm_buf,sss,sss,in,out); } } else { PARALLEL_FOR_LOOP for(int sss=0;sssoSites();sss++){ - DiracOpt::DhopSite(st,U,comm_buf,sss,sss,in,out); + DiracOptDhopSite(st,U,comm_buf,sss,sss,in,out); } } } diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc index ed57d37d..6d6097cf 100644 --- a/lib/qcd/action/fermion/WilsonFermion5D.cc +++ b/lib/qcd/action/fermion/WilsonFermion5D.cc @@ -77,7 +77,7 @@ void WilsonFermion5D::DoubleStore(LatticeDoubledGaugeField &Uds,const LatticeGau conformable(Umu._grid,GaugeGrid()); LatticeColourMatrix U(GaugeGrid()); for(int mu=0;mu(Umu,mu); + U = PeekIndex(Umu,mu); pokeIndex(Uds,U,mu); U = adj(Cshift(U,mu,-1)); pokeIndex(Uds,U,mu+4); @@ -105,7 +105,7 @@ void WilsonFermion5D::DhopDir(const LatticeFermion &in, LatticeFermion &out,int for(int s=0;soSites();ss++){ - { - for(int s=0;soSites();ss++){ { int sd; for(sd=0;sdoSites();ss++){ for(int s=0;soSites();ss++){ for(int s=0;s > &buf, int sF,int sU,const LatticeFermion &in, LatticeFermion &out) { @@ -149,7 +149,7 @@ void DiracOpt::DhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, vstream(out._odata[ss],result*(-0.5)); } -void DiracOpt::DhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, +void DiracOptDhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, std::vector > &buf, int sF,int sU,const LatticeFermion &in, LatticeFermion &out) { @@ -295,7 +295,7 @@ void DiracOpt::DhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, vstream(out._odata[ss],result*(-0.5)); } -void DiracOpt::DhopDir(CartesianStencil &st,LatticeDoubledGaugeField &U, +void DiracOptDhopDir(CartesianStencil &st,LatticeDoubledGaugeField &U, std::vector > &buf, int sF,int sU,const LatticeFermion &in, LatticeFermion &out,int dirdisp) { diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h index db384ddf..ec807af5 100644 --- a/lib/qcd/action/fermion/WilsonKernels.h +++ b/lib/qcd/action/fermion/WilsonKernels.h @@ -10,35 +10,40 @@ namespace Grid { //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Generic version works for any Nc and with extra flavour indices - class DiracOpt { - public: + // namespace DiracOpt { + // These ones will need to be package intelligently. WilsonType base class // for use by DWF etc.. - static void DhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, + void DiracOptDhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, + std::vector > &buf, + int sF,int sU,const LatticeFermion &in, LatticeFermion &out); + void DiracOptDhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, + std::vector > &buf, + int sF,int sU,const LatticeFermion &in, LatticeFermion &out); + void DiracOptDhopDir(CartesianStencil &st,LatticeDoubledGaugeField &U, std::vector > &buf, - int sF,int sU,const LatticeFermion &in, LatticeFermion &out); - static void DhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, - std::vector > &buf, - int sF,int sU,const LatticeFermion &in, LatticeFermion &out); - static void DhopDir(CartesianStencil &st,LatticeDoubledGaugeField &U, - std::vector > &buf, - int sF,int sU,const LatticeFermion &in, LatticeFermion &out,int dirdisp); + int sF,int sU,const LatticeFermion &in, LatticeFermion &out,int dirdisp); + + // }; - }; - - // Hand unrolled for Nc=3, one flavour - class DiracOptHand { - public: + // Hand unrolled for Nc=3, one flavour + // namespace DiracOptHand { // These ones will need to be package intelligently. WilsonType base class // for use by DWF etc.. - static void DhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, - std::vector > &buf, - int sF,int sU,const LatticeFermion &in, LatticeFermion &out); - static void DhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, - std::vector > &buf, - int sF,int sU,const LatticeFermion &in, LatticeFermion &out); - }; + void DiracOptHandDhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, + std::vector > &buf, + int sF,int sU,const LatticeFermion &in, LatticeFermion &out); + void DiracOptHandDhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, + std::vector > &buf, + int sF,int sU,const LatticeFermion &in, LatticeFermion &out); + + // }; + + + void DiracOptHandDhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, + std::vector > &buf, + int sF,int sU,const LatticeFermion &in, LatticeFermion &out); } } diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc index 019b668b..8c31d65b 100644 --- a/lib/qcd/action/fermion/WilsonKernelsHand.cc +++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc @@ -280,7 +280,7 @@ namespace Grid { namespace QCD { -void DiracOptHand::DhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, +void DiracOptHandDhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, std::vector > &buf, int sF,int sU,const LatticeFermion &in, LatticeFermion &out) { @@ -530,7 +530,7 @@ void DiracOptHand::DhopSite(CartesianStencil &st,LatticeDoubledGaugeField &U, } } -void DiracOptHand::DhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, +void DiracOptHandDhopSiteDag(CartesianStencil &st,LatticeDoubledGaugeField &U, std::vector > &buf, int ss,int sU,const LatticeFermion &in, LatticeFermion &out) { diff --git a/lib/qcd/spin/Dirac.h b/lib/qcd/spin/Dirac.h index 2623e683..3208d0b5 100644 --- a/lib/qcd/spin/Dirac.h +++ b/lib/qcd/spin/Dirac.h @@ -4,6 +4,8 @@ namespace Grid{ namespace QCD { + const int SpinorIndex = 2; + class Gamma { public: @@ -331,7 +333,7 @@ namespace QCD { //left multiply template inline auto operator * ( const Gamma &G,const iScalar &arg) -> - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type { iScalar ret; @@ -339,14 +341,14 @@ namespace QCD { return ret; } template inline auto operator * ( const Gamma &G,const iVector &arg) -> - typename std::enable_if,SpinIndex>::notvalue,iVector >::type + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type { iVector ret; ret._internal=G*arg._internal; return ret; } template inline auto operator * ( const Gamma &G,const iMatrix &arg) -> - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type { iMatrix ret; ret._internal=G*arg._internal; @@ -356,7 +358,7 @@ namespace QCD { //right multiply template inline auto operator * (const iScalar &arg, const Gamma &G) -> - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type { iScalar ret; @@ -364,14 +366,14 @@ namespace QCD { return ret; } template inline auto operator * (const iVector &arg, const Gamma &G) -> - typename std::enable_if,SpinIndex>::notvalue,iVector >::type + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type { iVector ret; ret._internal=arg._internal*G; return ret; } template inline auto operator * (const iMatrix &arg, const Gamma &G) -> - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type { iMatrix ret; ret._internal=arg._internal*G; @@ -382,7 +384,7 @@ namespace QCD { // When we hit the spin index this matches and we stop //////////////////////////////////////////////////////// template inline auto operator * ( const Gamma &G,const iMatrix &arg) -> - typename std::enable_if,SpinIndex>::value,iMatrix >::type + typename std::enable_if,SpinorIndex>::value,iMatrix >::type { iMatrix ret; switch (G._g) { @@ -430,7 +432,7 @@ namespace QCD { } // Could have used type trait for Matrix/vector and then an enable if to share code template inline auto operator * ( const Gamma &G,const iVector &arg) -> - typename std::enable_if,SpinIndex>::value,iVector >::type + typename std::enable_if,SpinorIndex>::value,iVector >::type { iVector ret; switch (G._g) { @@ -478,7 +480,7 @@ namespace QCD { } template inline auto operator * (const iMatrix &arg, const Gamma &G) -> - typename std::enable_if,SpinIndex>::value,iMatrix >::type + typename std::enable_if,SpinorIndex>::value,iMatrix >::type { iMatrix ret; switch (G._g) { diff --git a/lib/qcd/spin/TwoSpinor.h b/lib/qcd/spin/TwoSpinor.h index 97de13cf..919f0f76 100644 --- a/lib/qcd/spin/TwoSpinor.h +++ b/lib/qcd/spin/TwoSpinor.h @@ -42,17 +42,18 @@ namespace QCD { * -i 0 0 0 */ + template strong_inline void spProjXp (iVector &hspin,const iVector &fspin) { // To fail is not to err (Cryptic clue: suggest to Google SFINAE ;) ) - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)+timesI(fspin(3)); hspin(1)=fspin(1)+timesI(fspin(2)); } template strong_inline void spProjXm (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)-timesI(fspin(3)); hspin(1)=fspin(1)-timesI(fspin(2)); } @@ -63,13 +64,13 @@ namespace QCD { // -1 0 0 0 template strong_inline void spProjYp (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)-fspin(3); hspin(1)=fspin(1)+fspin(2); } template strong_inline void spProjYm (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)+fspin(3); hspin(1)=fspin(1)-fspin(2); } @@ -81,13 +82,13 @@ namespace QCD { */ template strong_inline void spProjZp (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)+timesI(fspin(2)); hspin(1)=fspin(1)-timesI(fspin(3)); } template strong_inline void spProjZm (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)-timesI(fspin(2)); hspin(1)=fspin(1)+timesI(fspin(3)); } @@ -99,13 +100,13 @@ namespace QCD { */ template strong_inline void spProjTp (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)+fspin(2); hspin(1)=fspin(1)+fspin(3); } template strong_inline void spProjTm (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0)-fspin(2); hspin(1)=fspin(1)-fspin(3); } @@ -118,13 +119,13 @@ namespace QCD { template strong_inline void spProj5p (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(0); hspin(1)=fspin(1); } template strong_inline void spProj5m (iVector &hspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; hspin(0)=fspin(2); hspin(1)=fspin(3); } @@ -132,7 +133,7 @@ namespace QCD { // template strong_inline void fspProj5p (iVector &rfspin,const iVector &fspin) template strong_inline void spProj5p (iVector &rfspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; rfspin(0)=fspin(0); rfspin(1)=fspin(1); rfspin(2)=zero; @@ -141,7 +142,7 @@ namespace QCD { // template strong_inline void fspProj5m (iVector &rfspin,const iVector &fspin) template strong_inline void spProj5m (iVector &rfspin,const iVector &fspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; rfspin(0)=zero; rfspin(1)=zero; rfspin(2)=fspin(2); @@ -159,7 +160,7 @@ namespace QCD { */ template strong_inline void spReconXp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=timesMinusI(hspin(1)); @@ -167,7 +168,7 @@ namespace QCD { } template strong_inline void spReconXm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=timesI(hspin(1)); @@ -175,7 +176,7 @@ namespace QCD { } template strong_inline void accumReconXp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)-=timesI(hspin(1)); @@ -183,7 +184,7 @@ namespace QCD { } template strong_inline void accumReconXm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)+=timesI(hspin(1)); @@ -197,7 +198,7 @@ namespace QCD { template strong_inline void spReconYp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)= hspin(1); @@ -205,7 +206,7 @@ namespace QCD { } template strong_inline void spReconYm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=-hspin(1); @@ -213,7 +214,7 @@ namespace QCD { } template strong_inline void accumReconYp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)+=hspin(1); @@ -221,7 +222,7 @@ namespace QCD { } template strong_inline void accumReconYm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)-=hspin(1); @@ -236,7 +237,7 @@ namespace QCD { */ template strong_inline void spReconZp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=timesMinusI(hspin(0)); @@ -244,7 +245,7 @@ namespace QCD { } template strong_inline void spReconZm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)= timesI(hspin(0)); @@ -252,7 +253,7 @@ namespace QCD { } template strong_inline void accumReconZp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)-=timesI(hspin(0)); @@ -260,7 +261,7 @@ namespace QCD { } template strong_inline void accumReconZm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)+=timesI(hspin(0)); @@ -274,7 +275,7 @@ namespace QCD { */ template strong_inline void spReconTp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=hspin(0); @@ -282,7 +283,7 @@ namespace QCD { } template strong_inline void spReconTm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0); fspin(1)=hspin(1); fspin(2)=-hspin(0); @@ -290,7 +291,7 @@ namespace QCD { } template strong_inline void accumReconTp (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)+=hspin(0); @@ -298,7 +299,7 @@ namespace QCD { } template strong_inline void accumReconTm (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0); fspin(1)+=hspin(1); fspin(2)-=hspin(0); @@ -312,7 +313,7 @@ namespace QCD { */ template strong_inline void spRecon5p (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=hspin(0)+hspin(0); // add is lower latency than mul fspin(1)=hspin(1)+hspin(1); // probably no measurable diffence though fspin(2)=zero; @@ -320,7 +321,7 @@ namespace QCD { } template strong_inline void spRecon5m (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)=zero; fspin(1)=zero; fspin(2)=hspin(0)+hspin(0); @@ -328,13 +329,13 @@ namespace QCD { } template strong_inline void accumRecon5p (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(0)+=hspin(0)+hspin(0); fspin(1)+=hspin(1)+hspin(1); } template strong_inline void accumRecon5m (iVector &fspin,const iVector &hspin) { - typename std::enable_if,SpinIndex>::value,iVector >::type *SFINAE; + typename std::enable_if,SpinorIndex>::value,iVector >::type *SFINAE; fspin(2)+=hspin(0)+hspin(0); fspin(3)+=hspin(1)+hspin(1); } @@ -348,19 +349,19 @@ namespace QCD { ////////// template strong_inline void spProjXp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjXp(hspin._internal,fspin._internal); } template strong_inline void spProjXp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjXp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconXp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconXp(hspin._internal,fspin._internal); } template strong_inline void spReconXp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconXp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconXp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconXp(hspin._internal,fspin._internal); } template strong_inline void accumReconXp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconXp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjXm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjXm(hspin._internal,fspin._internal); } template strong_inline void spProjXm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjXm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconXm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconXm(hspin._internal,fspin._internal); } template strong_inline void spReconXm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconXm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconXm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconXm(hspin._internal,fspin._internal); } template strong_inline void accumReconXm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconXm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjYp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjYp(hspin._internal,fspin._internal); } template strong_inline void spProjYp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjYp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconYp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconYp(hspin._internal,fspin._internal); } template strong_inline void spReconYp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconYp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconYp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconYp(hspin._internal,fspin._internal); } template strong_inline void accumReconYp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconYp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjYm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjYm(hspin._internal,fspin._internal); } template strong_inline void spProjYm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjYm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconYm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconYm(hspin._internal,fspin._internal); } template strong_inline void spReconYm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconYm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconYm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconYm(hspin._internal,fspin._internal); } template strong_inline void accumReconYm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconYm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjZp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjZp(hspin._internal,fspin._internal); } template strong_inline void spProjZp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjZp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconZp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconZp(hspin._internal,fspin._internal); } template strong_inline void spReconZp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconZp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconZp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconZp(hspin._internal,fspin._internal); } template strong_inline void accumReconZp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconZp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjZm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjZm(hspin._internal,fspin._internal); } template strong_inline void spProjZm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjZm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconZm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconZm(hspin._internal,fspin._internal); } template strong_inline void spReconZm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconZm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconZm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconZm(hspin._internal,fspin._internal); } template strong_inline void accumReconZm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconZm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjTp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjTp(hspin._internal,fspin._internal); } template strong_inline void spProjTp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjTp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconTp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconTp(hspin._internal,fspin._internal); } template strong_inline void spReconTp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconTp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconTp (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconTp(hspin._internal,fspin._internal); } template strong_inline void accumReconTp (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconTp (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProjTm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProjTm(hspin._internal,fspin._internal); } template strong_inline void spProjTm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProjTm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spReconTm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spReconTm(hspin._internal,fspin._internal); } template strong_inline void spReconTm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spReconTm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumReconTm (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumReconTm(hspin._internal,fspin._internal); } template strong_inline void accumReconTm (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumReconTm (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProj5p (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProj5p(hspin._internal,fspin._internal); } template strong_inline void spProj5p (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProj5p (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spRecon5p (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spRecon5p(hspin._internal,fspin._internal); } template strong_inline void spRecon5p (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spRecon5p (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumRecon5p (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumRecon5p(hspin._internal,fspin._internal); } template strong_inline void accumRecon5p (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumRecon5p (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void fspProj5p (iScalar &hspin,const iScalar &fspin) template strong_inline void spProj5p (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProj5p(hspin._internal,fspin._internal); } // template strong_inline void fspProj5p (iVector &hspin,iVector &fspin) template strong_inline void spProj5p (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void fspProj5p (iMatrix &hspin,iMatrix &fspin) template strong_inline void spProj5p (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spProj5m (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProj5m(hspin._internal,fspin._internal); } template strong_inline void spProj5m (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spProj5m (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void spRecon5m (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spRecon5m(hspin._internal,fspin._internal); } template strong_inline void spRecon5m (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void spRecon5m (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void accumRecon5m (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; accumRecon5m(hspin._internal,fspin._internal); } template strong_inline void accumRecon5m (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void accumRecon5m (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i strong_inline void fspProj5m (iScalar &hspin,const iScalar &fspin) template strong_inline void spProj5m (iScalar &hspin,const iScalar &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iScalar >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iScalar >::type *temp; spProj5m(hspin._internal,fspin._internal); } // template strong_inline void fspProj5m (iVector &hspin,iVector &fspin) template strong_inline void spProj5m (iVector &hspin,iVector &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iVector >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iVector >::type *temp; for(int i=0;i strong_inline void fspProj5m (iMatrix &hspin,iMatrix &fspin) template strong_inline void spProj5m (iMatrix &hspin,iMatrix &fspin) { - typename std::enable_if,SpinIndex>::notvalue,iMatrix >::type *temp; + typename std::enable_if,SpinorIndex>::notvalue,iMatrix >::type *temp; for(int i=0;i U(4,Umu._grid); for(int mu=0;mu(Umu,mu); + U[mu] = PeekIndex(Umu,mu); } LatticeComplex Plaq(Umu._grid); @@ -78,7 +78,7 @@ public: std::vector U(4,grid); for(int d=0;d(Umu,d); + U[d] = PeekIndex(Umu,d); } staple = zero;