diff --git a/Hadrons/Application.cc b/Hadrons/Application.cc index d3eee21c..44579646 100644 --- a/Hadrons/Application.cc +++ b/Hadrons/Application.cc @@ -62,10 +62,10 @@ Application::Application(void) LOG(Message) << std::endl; LOG(Message) << "** Default parameters (and associated C macros)" << std::endl; LOG(Message) << "ASCII output precision : " << MACOUT(DEFAULT_ASCII_PREC) << std::endl; - LOG(Message) << "Fermion implementation : " << MACOUTS(FIMPL) << std::endl; - LOG(Message) << "z-Fermion implementation: " << MACOUTS(ZFIMPL) << std::endl; - LOG(Message) << "Scalar implementation : " << MACOUTS(SIMPL) << std::endl; - LOG(Message) << "Gauge implementation : " << MACOUTS(GIMPL) << std::endl; + LOG(Message) << "Fermion implementation : " << MACOUTS(FIMPLBASE) << std::endl; + LOG(Message) << "z-Fermion implementation: " << MACOUTS(ZFIMPLBASE) << std::endl; + LOG(Message) << "Scalar implementation : " << MACOUTS(SIMPLBASE) << std::endl; + LOG(Message) << "Gauge implementation : " << MACOUTS(GIMPLBASE) << std::endl; LOG(Message) << "Eigenvector base size : " << MACOUT(HADRONS_DEFAULT_LANCZOS_NBASIS) << std::endl; LOG(Message) << "Schur decomposition : " << MACOUTS(HADRONS_DEFAULT_SCHUR) << std::endl; diff --git a/Hadrons/Global.hpp b/Hadrons/Global.hpp index 808ed2ba..61eb11c2 100644 --- a/Hadrons/Global.hpp +++ b/Hadrons/Global.hpp @@ -62,18 +62,36 @@ using Grid::operator>>; #define END_MODULE_NAMESPACE } -#ifndef FIMPL -#define FIMPL WilsonImplR +#define _HADRONS_IMPL(impl, sub) impl##sub +#define HADRONS_IMPL(impl, sub) _HADRONS_IMPL(impl, sub) + +#ifndef FIMPLBASE +#define FIMPLBASE WilsonImpl #endif -#ifndef ZFIMPL -#define ZFIMPL ZWilsonImplR +#define FIMPL HADRONS_IMPL(FIMPLBASE, R) +#define FIMPLF HADRONS_IMPL(FIMPLBASE, F) +#define FIMPLD HADRONS_IMPL(FIMPLBASE, D) + +#ifndef ZFIMPLBASE +#define ZFIMPLBASE ZWilsonImpl #endif -#ifndef SIMPL -#define SIMPL ScalarImplCR +#define ZFIMPL HADRONS_IMPL(ZFIMPLBASE, R) +#define ZFIMPLF HADRONS_IMPL(ZFIMPLBASE, F) +#define ZFIMPLD HADRONS_IMPL(ZFIMPLBASE, D) + +#ifndef SIMPLBASE +#define SIMPLBASE ScalarImplC #endif -#ifndef GIMPL -#define GIMPL PeriodicGimplR +#define SIMPL HADRONS_IMPL(SIMPLBASE, R) +#define SIMPLF HADRONS_IMPL(SIMPLBASE, F) +#define SIMPLD HADRONS_IMPL(SIMPLBASE, D) + +#ifndef GIMPLBASE +#define GIMPLBASE PeriodicGimpl #endif +#define GIMPL HADRONS_IMPL(GIMPLBASE, R) +#define GIMPLF HADRONS_IMPL(GIMPLBASE, F) +#define GIMPLD HADRONS_IMPL(GIMPLBASE, D) BEGIN_HADRONS_NAMESPACE