1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-14 05:07:05 +01:00

Hadrons: templatisation of the fermion implementation

This commit is contained in:
2016-12-05 16:47:29 +09:00
parent 7ae734103e
commit d1f7c6b94e
18 changed files with 483 additions and 638 deletions

View File

@ -56,10 +56,19 @@ using Grid::operator<<;
BEGIN_HADRONS_NAMESPACE
// type aliases
typedef FermionOperator<FIMPL> FMat;
typedef FIMPL::FermionField FermionField;
typedef FIMPL::PropagatorField PropagatorField;
typedef std::function<void(FermionField &, const FermionField &)> SolverFn;
//typedef FermionOperator<FIMPL> FMat;
//typedef FIMPL::FermionField FermionField;
//typedef FIMPL::PropagatorField PropagatorField;
//typedef std::function<void(FermionField &, const FermionField &)> SolverFn;
#define TYPE_ALIASES(FImpl, suffix)\
typedef FermionOperator<FImpl> FMat##suffix; \
typedef typename FImpl::FermionField FermionField##suffix; \
typedef typename FImpl::PropagatorField PropagatorField##suffix; \
typedef typename FImpl::SitePropagator SitePropagator##suffix; \
typedef typename FImpl::DoubledGaugeField DoubledGaugeField##suffix;\
typedef std::function<void(FermionField##suffix &, \
const FermionField##suffix &)> SolverFn##suffix;
// logger
class HadronsLogger: public Logger