diff --git a/Grid/qcd/QCD.h b/Grid/qcd/QCD.h index 81356a66..533c0e21 100644 --- a/Grid/qcd/QCD.h +++ b/Grid/qcd/QCD.h @@ -126,6 +126,7 @@ typedef iSpinMatrix SpinMatrixD; typedef iSpinMatrix vSpinMatrix; typedef iSpinMatrix vSpinMatrixF; typedef iSpinMatrix vSpinMatrixD; +typedef iSpinMatrix vSpinMatrixD2; // Colour Matrix typedef iColourMatrix ColourMatrix; @@ -135,6 +136,7 @@ typedef iColourMatrix ColourMatrixD; typedef iColourMatrix vColourMatrix; typedef iColourMatrix vColourMatrixF; typedef iColourMatrix vColourMatrixD; +typedef iColourMatrix vColourMatrixD2; // SpinColour matrix typedef iSpinColourMatrix SpinColourMatrix; @@ -144,6 +146,7 @@ typedef iSpinColourMatrix SpinColourMatrixD; typedef iSpinColourMatrix vSpinColourMatrix; typedef iSpinColourMatrix vSpinColourMatrixF; typedef iSpinColourMatrix vSpinColourMatrixD; +typedef iSpinColourMatrix vSpinColourMatrixD2; // SpinColourSpinColour matrix typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrix; @@ -153,6 +156,7 @@ typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixD; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrix; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixF; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD; +typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD2; // SpinColourSpinColour matrix typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrix; @@ -162,33 +166,37 @@ typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixD; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrix; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixF; typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD; +typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD2; // LorentzColour typedef iLorentzColourMatrix LorentzColourMatrix; typedef iLorentzColourMatrix LorentzColourMatrixF; typedef iLorentzColourMatrix LorentzColourMatrixD; -typedef iLorentzColourMatrix vLorentzColourMatrix; -typedef iLorentzColourMatrix vLorentzColourMatrixF; -typedef iLorentzColourMatrix vLorentzColourMatrixD; +typedef iLorentzColourMatrix vLorentzColourMatrix; +typedef iLorentzColourMatrix vLorentzColourMatrixF; +typedef iLorentzColourMatrix vLorentzColourMatrixD; +typedef iLorentzColourMatrix vLorentzColourMatrixD2; // DoubleStored gauge field typedef iDoubleStoredColourMatrix DoubleStoredColourMatrix; typedef iDoubleStoredColourMatrix DoubleStoredColourMatrixF; typedef iDoubleStoredColourMatrix DoubleStoredColourMatrixD; -typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrix; -typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrixF; -typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrixD; +typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrix; +typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrixF; +typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrixD; +typedef iDoubleStoredColourMatrix vDoubleStoredColourMatrixD2; //G-parity flavour matrix typedef iGparityFlavourMatrix GparityFlavourMatrix; typedef iGparityFlavourMatrix GparityFlavourMatrixF; typedef iGparityFlavourMatrix GparityFlavourMatrixD; -typedef iGparityFlavourMatrix vGparityFlavourMatrix; -typedef iGparityFlavourMatrix vGparityFlavourMatrixF; -typedef iGparityFlavourMatrix vGparityFlavourMatrixD; +typedef iGparityFlavourMatrix vGparityFlavourMatrix; +typedef iGparityFlavourMatrix vGparityFlavourMatrixF; +typedef iGparityFlavourMatrix vGparityFlavourMatrixD; +typedef iGparityFlavourMatrix vGparityFlavourMatrixD2; // Spin vector @@ -199,6 +207,7 @@ typedef iSpinVector SpinVectorD; typedef iSpinVector vSpinVector; typedef iSpinVector vSpinVectorF; typedef iSpinVector vSpinVectorD; +typedef iSpinVector vSpinVectorD2; // Colour vector typedef iColourVector ColourVector; @@ -208,6 +217,7 @@ typedef iColourVector ColourVectorD; typedef iColourVector vColourVector; typedef iColourVector vColourVectorF; typedef iColourVector vColourVectorD; +typedef iColourVector vColourVectorD2; // SpinColourVector typedef iSpinColourVector SpinColourVector; @@ -217,6 +227,7 @@ typedef iSpinColourVector SpinColourVectorD; typedef iSpinColourVector vSpinColourVector; typedef iSpinColourVector vSpinColourVectorF; typedef iSpinColourVector vSpinColourVectorD; +typedef iSpinColourVector vSpinColourVectorD2; // HalfSpin vector typedef iHalfSpinVector HalfSpinVector; @@ -226,15 +237,17 @@ typedef iHalfSpinVector HalfSpinVectorD; typedef iHalfSpinVector vHalfSpinVector; typedef iHalfSpinVector vHalfSpinVectorF; typedef iHalfSpinVector vHalfSpinVectorD; +typedef iHalfSpinVector vHalfSpinVectorD2; // HalfSpinColour vector typedef iHalfSpinColourVector HalfSpinColourVector; typedef iHalfSpinColourVector HalfSpinColourVectorF; typedef iHalfSpinColourVector HalfSpinColourVectorD; -typedef iHalfSpinColourVector vHalfSpinColourVector; -typedef iHalfSpinColourVector vHalfSpinColourVectorF; -typedef iHalfSpinColourVector vHalfSpinColourVectorD; +typedef iHalfSpinColourVector vHalfSpinColourVector; +typedef iHalfSpinColourVector vHalfSpinColourVectorF; +typedef iHalfSpinColourVector vHalfSpinColourVectorD; +typedef iHalfSpinColourVector vHalfSpinColourVectorD2; //G-parity flavour vector typedef iGparityFlavourVector GparityFlavourVector; @@ -244,7 +257,7 @@ typedef iGparityFlavourVector GparityFlavourVectorD; typedef iGparityFlavourVector vGparityFlavourVector; typedef iGparityFlavourVector vGparityFlavourVectorF; typedef iGparityFlavourVector vGparityFlavourVectorD; - +typedef iGparityFlavourVector vGparityFlavourVectorD2; // singlets typedef iSinglet TComplex; // FIXME This is painful. Tensor singlet complex type. @@ -254,6 +267,7 @@ typedef iSinglet TComplexD; // FIXME This is painful. Tenso typedef iSinglet vTComplex ; // what if we don't know the tensor structure typedef iSinglet vTComplexF; // what if we don't know the tensor structure typedef iSinglet vTComplexD; // what if we don't know the tensor structure +typedef iSinglet vTComplexD2; // what if we don't know the tensor structure typedef iSinglet TReal; // Shouldn't need these; can I make it work without? typedef iSinglet TRealF; // Shouldn't need these; can I make it work without? @@ -271,47 +285,58 @@ typedef iSinglet TInteger; typedef Lattice LatticeColourMatrix; typedef Lattice LatticeColourMatrixF; typedef Lattice LatticeColourMatrixD; +typedef Lattice LatticeColourMatrixD2; typedef Lattice LatticeSpinMatrix; typedef Lattice LatticeSpinMatrixF; typedef Lattice LatticeSpinMatrixD; +typedef Lattice LatticeSpinMatrixD2; typedef Lattice LatticeSpinColourMatrix; typedef Lattice LatticeSpinColourMatrixF; typedef Lattice LatticeSpinColourMatrixD; +typedef Lattice LatticeSpinColourMatrixD2; typedef Lattice LatticeSpinColourSpinColourMatrix; typedef Lattice LatticeSpinColourSpinColourMatrixF; typedef Lattice LatticeSpinColourSpinColourMatrixD; +typedef Lattice LatticeSpinColourSpinColourMatrixD2; -typedef Lattice LatticeLorentzColourMatrix; -typedef Lattice LatticeLorentzColourMatrixF; -typedef Lattice LatticeLorentzColourMatrixD; +typedef Lattice LatticeLorentzColourMatrix; +typedef Lattice LatticeLorentzColourMatrixF; +typedef Lattice LatticeLorentzColourMatrixD; +typedef Lattice LatticeLorentzColourMatrixD2; // DoubleStored gauge field -typedef Lattice LatticeDoubleStoredColourMatrix; -typedef Lattice LatticeDoubleStoredColourMatrixF; -typedef Lattice LatticeDoubleStoredColourMatrixD; +typedef Lattice LatticeDoubleStoredColourMatrix; +typedef Lattice LatticeDoubleStoredColourMatrixF; +typedef Lattice LatticeDoubleStoredColourMatrixD; +typedef Lattice LatticeDoubleStoredColourMatrixD2; typedef Lattice LatticeSpinVector; typedef Lattice LatticeSpinVectorF; typedef Lattice LatticeSpinVectorD; +typedef Lattice LatticeSpinVectorD2; typedef Lattice LatticeColourVector; typedef Lattice LatticeColourVectorF; typedef Lattice LatticeColourVectorD; +typedef Lattice LatticeColourVectorD2; typedef Lattice LatticeSpinColourVector; typedef Lattice LatticeSpinColourVectorF; typedef Lattice LatticeSpinColourVectorD; +typedef Lattice LatticeSpinColourVectorD2; typedef Lattice LatticeHalfSpinVector; typedef Lattice LatticeHalfSpinVectorF; typedef Lattice LatticeHalfSpinVectorD; +typedef Lattice LatticeHalfSpinVectorD2; -typedef Lattice LatticeHalfSpinColourVector; -typedef Lattice LatticeHalfSpinColourVectorF; -typedef Lattice LatticeHalfSpinColourVectorD; +typedef Lattice LatticeHalfSpinColourVector; +typedef Lattice LatticeHalfSpinColourVectorF; +typedef Lattice LatticeHalfSpinColourVectorD; +typedef Lattice LatticeHalfSpinColourVectorD2; typedef Lattice LatticeReal; typedef Lattice LatticeRealF; @@ -320,6 +345,7 @@ typedef Lattice LatticeRealD; typedef Lattice LatticeComplex; typedef Lattice LatticeComplexF; typedef Lattice LatticeComplexD; +typedef Lattice LatticeComplexD2; typedef Lattice LatticeInteger; // Predicates for "where" @@ -327,37 +353,42 @@ typedef Lattice LatticeInteger; // Predicates for "where" /////////////////////////////////////////// // Physical names for things /////////////////////////////////////////// -typedef LatticeHalfSpinColourVector LatticeHalfFermion; -typedef LatticeHalfSpinColourVectorF LatticeHalfFermionF; -typedef LatticeHalfSpinColourVectorF LatticeHalfFermionD; +typedef LatticeHalfSpinColourVector LatticeHalfFermion; +typedef LatticeHalfSpinColourVectorF LatticeHalfFermionF; +typedef LatticeHalfSpinColourVectorD LatticeHalfFermionD; +typedef LatticeHalfSpinColourVectorD2 LatticeHalfFermionD2; typedef LatticeSpinColourVector LatticeFermion; typedef LatticeSpinColourVectorF LatticeFermionF; typedef LatticeSpinColourVectorD LatticeFermionD; +typedef LatticeSpinColourVectorD2 LatticeFermionD2; typedef LatticeSpinColourMatrix LatticePropagator; typedef LatticeSpinColourMatrixF LatticePropagatorF; typedef LatticeSpinColourMatrixD LatticePropagatorD; +typedef LatticeSpinColourMatrixD2 LatticePropagatorD2; typedef LatticeLorentzColourMatrix LatticeGaugeField; typedef LatticeLorentzColourMatrixF LatticeGaugeFieldF; typedef LatticeLorentzColourMatrixD LatticeGaugeFieldD; +typedef LatticeLorentzColourMatrixD2 LatticeGaugeFieldD2; typedef LatticeDoubleStoredColourMatrix LatticeDoubledGaugeField; typedef LatticeDoubleStoredColourMatrixF LatticeDoubledGaugeFieldF; typedef LatticeDoubleStoredColourMatrixD LatticeDoubledGaugeFieldD; +typedef LatticeDoubleStoredColourMatrixD2 LatticeDoubledGaugeFieldD2; template using LorentzScalar = Lattice >; -// Uhgg... typing this hurt ;) -// (my keyboard got burning hot when I typed this, must be the anti-Fermion) typedef Lattice LatticeStaggeredFermion; typedef Lattice LatticeStaggeredFermionF; typedef Lattice LatticeStaggeredFermionD; +typedef Lattice LatticeStaggeredFermionD2; typedef Lattice LatticeStaggeredPropagator; typedef Lattice LatticeStaggeredPropagatorF; typedef Lattice LatticeStaggeredPropagatorD; +typedef Lattice LatticeStaggeredPropagatorD2; ////////////////////////////////////////////////////////////////////////////// // Peek and Poke named after physics attributes