1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-11 06:30:45 +01:00

Namespace

This commit is contained in:
paboyle 2018-01-14 22:24:47 +00:00
parent d29fa23ebc
commit 3bf8fddbb5

View File

@ -25,16 +25,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
See the full license in the file "LICENSE" in the top level distribution
directory
*************************************************************************************/
/* END LEGAL */
/* END LEGAL */
#ifndef ACTION_MODULES_H
#define ACTION_MODULES_H
/*
Define loadable, serializable modules
for the HMC execution
*/
/*
Define loadable, serializable modules
for the HMC execution
*/
namespace Grid {
NAMESPACE_BEGIN(Grid);
//////////////////////////////////////////////
// Actions
@ -53,7 +53,7 @@ template <class ActionType, class APar>
class ActionModule
: public Parametrized<APar>,
public ActionModuleBase< QCD::Action<typename ActionType::GaugeField> , QCD::GridModule > {
public:
public:
typedef ActionModuleBase< QCD::Action<typename ActionType::GaugeField>, QCD::GridModule > Base;
typedef typename Base::Product Product;
typedef APar Parameters;
@ -76,7 +76,7 @@ class ActionModule
return ActionPtr.get();
}
private:
private:
virtual void initialize() = 0;
};
@ -85,10 +85,10 @@ class ActionModule
// Modules
//////////////////////////
namespace QCD{
class PlaqPlusRectangleGaugeActionParameters : Serializable {
public:
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(PlaqPlusRectangleGaugeActionParameters,
RealD, c_plaq,
RealD, c_rect);
@ -96,7 +96,7 @@ class PlaqPlusRectangleGaugeActionParameters : Serializable {
};
class RBCGaugeActionParameters : Serializable {
public:
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(RBCGaugeActionParameters,
RealD, beta,
RealD, c1);
@ -104,7 +104,7 @@ class RBCGaugeActionParameters : Serializable {
};
class BetaGaugeActionParameters : Serializable {
public:
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(BetaGaugeActionParameters,
RealD, beta);
};
@ -232,7 +232,7 @@ class TwoFlavourFModule: public PseudoFermionModuleBase<Impl, TwoFlavourPseudoFe
typename Base::operator_type fop_mod;
typename Base::solver_type solver_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_mod->AddGridPair(GridMod);
}
@ -261,7 +261,7 @@ class TwoFlavourEOFModule: public PseudoFermionModuleBase<Impl, TwoFlavourEvenOd
typename Base::operator_type fop_mod;
typename Base::solver_type solver_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_mod->AddGridPair(GridMod);
}
@ -291,7 +291,7 @@ class TwoFlavourRatioFModule: public PseudoFermionModuleBase<Impl, TwoFlavourRat
typename Base::operator_type fop_denominator_mod;
typename Base::solver_type solver_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_numerator_mod->AddGridPair(GridMod);
fop_denominator_mod->AddGridPair(GridMod);
@ -323,7 +323,7 @@ class TwoFlavourRatioEOFModule: public PseudoFermionModuleBase<Impl, TwoFlavourE
typename Base::operator_type fop_denominator_mod;
typename Base::solver_type solver_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_numerator_mod->AddGridPair(GridMod);
fop_denominator_mod->AddGridPair(GridMod);
@ -354,7 +354,7 @@ class OneFlavourFModule: public PseudoFermionModuleBase<Impl, OneFlavourRational
typename Base::operator_type fop_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_mod->AddGridPair(GridMod);
}
@ -375,13 +375,13 @@ class OneFlavourFModule: public PseudoFermionModuleBase<Impl, OneFlavourRational
template <class Impl >
class OneFlavourEOFModule:
public PseudoFermionModuleBase<Impl, OneFlavourEvenOddRationalPseudoFermionAction, OneFlavourRationalParams>
{
{
typedef PseudoFermionModuleBase<Impl, OneFlavourEvenOddRationalPseudoFermionAction, OneFlavourRationalParams> Base;
using Base::Base;
typename Base::operator_type fop_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_mod->AddGridPair(GridMod);
}
@ -403,7 +403,7 @@ class OneFlavourEOFModule:
template <class Impl >
class OneFlavourRatioFModule:
public PseudoFermionModuleBase<Impl, OneFlavourRatioRationalPseudoFermionAction, OneFlavourRationalParams>
{
{
typedef PseudoFermionModuleBase<Impl, OneFlavourRatioRationalPseudoFermionAction, OneFlavourRationalParams> Base;
using Base::Base;
@ -411,7 +411,7 @@ class OneFlavourRatioFModule:
typename Base::operator_type fop_numerator_mod;
typename Base::operator_type fop_denominator_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_numerator_mod->AddGridPair(GridMod);
fop_denominator_mod->AddGridPair(GridMod);
@ -437,7 +437,7 @@ class OneFlavourRatioFModule:
template <class Impl >
class OneFlavourRatioEOFModule:
public PseudoFermionModuleBase<Impl, OneFlavourEvenOddRatioRationalPseudoFermionAction, OneFlavourRationalParams>
{
{
typedef PseudoFermionModuleBase<Impl, OneFlavourEvenOddRatioRationalPseudoFermionAction, OneFlavourRationalParams> Base;
using Base::Base;
@ -445,7 +445,7 @@ class OneFlavourRatioEOFModule:
typename Base::operator_type fop_numerator_mod;
typename Base::operator_type fop_denominator_mod;
public:
public:
virtual void acquireResource(typename Base::Resource& GridMod){
fop_numerator_mod->AddGridPair(GridMod);
fop_denominator_mod->AddGridPair(GridMod);
@ -492,7 +492,7 @@ class OneFlavourRatioEOFModule:
template <char const *str, class Field, class ReaderClass >
class HMC_ActionModuleFactory
: public Factory < ActionModuleBase< QCD::Action< Field >, QCD::GridModule > , Reader<ReaderClass> > {
public:
public:
typedef Reader<ReaderClass> TheReader;
// use SINGLETON FUNCTOR MACRO HERE
HMC_ActionModuleFactory(const HMC_ActionModuleFactory& e) = delete;
@ -502,16 +502,15 @@ class HMC_ActionModuleFactory
return e;
}
private:
private:
HMC_ActionModuleFactory(void) = default;
std::string obj_type() const {
return std::string(str);
}
};
extern char gauge_string[];
} // Grid
NAMESPACE_END(Grid);
#endif //HMC_MODULES_H