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

Hadrons: namespace macro to tackle GCC 5 bug

This commit is contained in:
2016-12-05 14:29:32 +09:00
parent 7a1ac45679
commit 7ae734103e
11 changed files with 252 additions and 237 deletions

View File

@ -37,34 +37,35 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Domain wall quark action *
******************************************************************************/
namespace MAction
BEGIN_MODULE_NAMESPACE(MAction)
class DWFPar: Serializable
{
class DWFPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(DWFPar,
std::string, gauge,
unsigned int, Ls,
double , mass,
double , M5);
};
class DWF: public Module<DWFPar>
{
public:
// constructor
DWF(const std::string name);
// destructor
virtual ~DWF(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
}
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(DWFPar,
std::string, gauge,
unsigned int, Ls,
double , mass,
double , M5);
};
class DWF: public Module<DWFPar>
{
public:
// constructor
DWF(const std::string name);
// destructor
virtual ~DWF(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
END_MODULE_NAMESPACE
MODULE_REGISTER_NS(DWF, MAction);

View File

@ -37,32 +37,33 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Wilson quark action *
******************************************************************************/
namespace MAction
{
class WilsonPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(WilsonPar,
std::string, gauge,
double , mass);
};
BEGIN_MODULE_NAMESPACE(MAction)
class Wilson: public Module<WilsonPar>
{
public:
// constructor
Wilson(const std::string name);
// destructor
virtual ~Wilson(void) = default;
// dependencies/products
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
}
class WilsonPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(WilsonPar,
std::string, gauge,
double , mass);
};
class Wilson: public Module<WilsonPar>
{
public:
// constructor
Wilson(const std::string name);
// destructor
virtual ~Wilson(void) = default;
// dependencies/products
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
END_MODULE_NAMESPACE
MODULE_REGISTER_NS(Wilson, MAction);