diff --git a/Grid/qcd/action/fermion/DomainWallFermion.h b/Grid/qcd/action/fermion/DomainWallFermion.h index 56179f26..9f5fa696 100644 --- a/Grid/qcd/action/fermion/DomainWallFermion.h +++ b/Grid/qcd/action/fermion/DomainWallFermion.h @@ -53,7 +53,7 @@ namespace Grid { ComplexField coor(in._grid); ComplexField ph(in._grid); ph = zero; FermionField in_buf(in._grid); in_buf = zero; - Complex ci(0.0,1.0); + Scalar ci(0.0,1.0); assert(twist.size() == Nd);//check that twist is Nd int shift = 0; if(fiveD) shift = 1; diff --git a/Grid/qcd/action/fermion/FermionOperator.h b/Grid/qcd/action/fermion/FermionOperator.h index 20079fc5..e7d48aa5 100644 --- a/Grid/qcd/action/fermion/FermionOperator.h +++ b/Grid/qcd/action/fermion/FermionOperator.h @@ -106,7 +106,7 @@ namespace Grid { ComplexField coor(in._grid); ComplexField ph(in._grid); ph = zero; FermionField in_buf(in._grid); in_buf = zero; - Complex ci(0.0,1.0); + Scalar ci(0.0,1.0); assert(twist.size() == Nd);//check that twist is Nd for(unsigned int nu = 0; nu < Nd; nu++) { diff --git a/Grid/qcd/action/gauge/GaugeImplTypes.h b/Grid/qcd/action/gauge/GaugeImplTypes.h index 9e3e0d68..22198fc5 100644 --- a/Grid/qcd/action/gauge/GaugeImplTypes.h +++ b/Grid/qcd/action/gauge/GaugeImplTypes.h @@ -38,6 +38,7 @@ namespace QCD { #define INHERIT_GIMPL_TYPES(GImpl) \ typedef typename GImpl::Simd Simd; \ + typedef typename GImpl::Scalar Scalar; \ typedef typename GImpl::LinkField GaugeLinkField; \ typedef typename GImpl::Field GaugeField; \ typedef typename GImpl::ComplexField ComplexField;\ @@ -55,7 +56,8 @@ namespace QCD { template class GaugeImplTypes { public: typedef S Simd; - + typedef typename Simd::scalar_type scalar_type; + typedef scalar_type Scalar; template using iImplScalar = iScalar > >; template using iImplGaugeLink = iScalar > >; template using iImplGaugeField = iVector >, Nd>; diff --git a/Grid/qcd/action/gauge/Photon.h b/Grid/qcd/action/gauge/Photon.h index f059fcf3..9afafe6c 100644 --- a/Grid/qcd/action/gauge/Photon.h +++ b/Grid/qcd/action/gauge/Photon.h @@ -38,6 +38,7 @@ namespace QCD{ { public: typedef S Simd; + typedef typename Simd::scalar_type Scalar; template using iImplGaugeLink = iScalar>>;