gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
module_macros_inmodule.hpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
22 //
36 
37 #ifndef __module_macros_inmodule_hpp__
38 #define __module_macros_inmodule_hpp__
39 
41 
47 // Redirect the rollcall macros to their in-module variants
48 #define START_MODULE MODULE_START_MODULE
49 #define START_CAPABILITY MODULE_START_CAPABILITY(MODULE)
50 #define LONG_START_CAPABILITY(MODULE, C) MODULE_START_CAPABILITY(MODULE)
51 #define DECLARE_FUNCTION(TYPE, CAN_MANAGE) MODULE_DECLARE_FUNCTION(MODULE, FUNCTION, TYPE, CAN_MANAGE, NOT_MODEL)
52 #define LONG_DECLARE_FUNCTION(MODULE, C, FUNCTION, TYPE, CAN_MANAGE) \
53  MODULE_DECLARE_FUNCTION(MODULE, FUNCTION, TYPE, CAN_MANAGE, NOT_MODEL)
54 #define DEPENDENCY(DEP, TYPE) MODULE_DEPENDENCY(DEP, TYPE, MODULE, FUNCTION, NOT_MODEL)
55 #define LONG_DEPENDENCY(MODULE, FUNCTION, DEP, TYPE) MODULE_DEPENDENCY(DEP, TYPE, MODULE, FUNCTION, NOT_MODEL)
56 #define NEEDS_MANAGER(...) MODULE_NEEDS_MANAGER_REDIRECT(__VA_ARGS__)
57 #define ALLOW_MODELS(...) ALLOW_MODELS_AB(MODULE, FUNCTION, __VA_ARGS__)
58 #define ALLOWED_MODEL(MODULE,FUNCTION,MODEL) MODULE_ALLOWED_MODEL(MODULE,FUNCTION,MODEL,NOT_MODEL)
59 #define ALLOWED_MODEL_DEPENDENCE(MODULE,FUNCTION,MODEL) MODULE_ALLOWED_MODEL(MODULE,FUNCTION,MODEL,NOT_MODEL)
60 #define ALLOW_MODEL_COMBINATION(...) DUMMYARG(__VA_ARGS__)
61 #define MODEL_GROUP(GROUPNAME, GROUP) DUMMYARG(GROUPNAME, GROUP)
62 
63 #define BE_GROUP(GROUP) MODULE_BE_GROUP(GROUP,NOT_MODEL)
64 #define DECLARE_BACKEND_REQ(GROUP, REQUIREMENT, TAGS, TYPE, ARGS, IS_VARIABLE) \
65  MODULE_BACKEND_REQ(MODULE, FUNCTION, GROUP, REQUIREMENT, TAGS, TYPE, ARGS, IS_VARIABLE, NOT_MODEL)
66 #define LONG_DECLARE_BACKEND_REQ(MODULE, C, FUNCTION, GROUP, REQUIREMENT, TAGS, TYPE, ARGS, IS_VARIABLE) \
67  MODULE_BACKEND_REQ(MODULE, FUNCTION, GROUP, REQUIREMENT, TAGS, TYPE, ARGS, IS_VARIABLE, NOT_MODEL)
68 #define ACTIVATE_BACKEND_REQ_FOR_MODELS(MODELS,TAGS) DUMMYARG(MODELS,TAGS)
69 #define START_CONDITIONAL_DEPENDENCY(TYPE) MODULE_DEPENDENCY(CONDITIONAL_DEPENDENCY, TYPE, MODULE, FUNCTION, NOT_MODEL)
70 #define ACTIVATE_DEP_BE(BACKEND_REQ, BACKEND, VERSTRING) DUMMYARG(BACKEND_REQ, BACKEND, VERSTRING)
71 #define ACTIVATE_FOR_MODELS(...) DUMMYARG(__VA_ARGS__)
72 #define MODEL_CONDITIONAL_DEPENDENCY(DEP, TYPE, ...) MODULE_DEPENDENCY(DEP, TYPE, MODULE, FUNCTION, NOT_MODEL)
73 #define BACKEND_OPTION(BACKEND_AND_VERSIONS,TAGS) DUMMYARG(BACKEND_AND_VERSIONS,TAGS)
74 #define LONG_BACKEND_OPTION(MODULE, CAPABILITY, FUNCTION, BACKEND_AND_VERSIONS,TAGS) \
75  DUMMYARG(BACKEND_AND_VERSIONS,TAGS)
76 #define FORCE_SAME_BACKEND(...) DUMMYARG(__VA_ARGS__)
77 #define CLASSLOAD_NEEDED(...) DUMMYARG(__VA_ARGS__)
78 
80 
81 #endif // defined __module_macros_inmodule_hpp__
82 
Generic observable and likelihood function macro definitions, for inclusion from macro redirection he...