Evoplex  0.2.1
constants.h
Go to the documentation of this file.
1 /* Evoplex <https://evoplex.org>
2  * Copyright (C) 2016-present - Marcos Cardinot <marcos@cardinot.net>
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef CONSTANTS_H
18 #define CONSTANTS_H
19 
21 /******************************************************************************
22  Impose limits for sanity
23 ******************************************************************************/
25 #define EVOPLEX_MAX_NODES 100000000
26 #define EVOPLEX_MAX_STEPS 100000000
28 #define EVOPLEX_MAX_TRIALS 1000
30 #define EVOPLEX_MAX_PROJECTS 100
32 
33 /******************************************************************************
34  These constants hold the name of the properties common to any experiment.
35 ******************************************************************************/
37 #define GENERAL_ATTR_EXPID "id"
38 #define GENERAL_ATTR_NODES "nodes"
40 #define GENERAL_ATTR_GRAPHID "graphId"
42 #define GENERAL_ATTR_MODELID "modelId"
44 #define GENERAL_ATTR_GRAPHVS "graphVersion"
46 #define GENERAL_ATTR_MODELVS "modelVersion"
48 #define GENERAL_ATTR_SEED "seed"
50 #define GENERAL_ATTR_STOPAT "stopAt"
52 #define GENERAL_ATTR_TRIALS "trials"
54 #define GENERAL_ATTR_AUTODELETE "autoDelete"
56 #define GENERAL_ATTR_GRAPHTYPE "graphType"
58 #define GENERAL_ATTR_EDGEATTRS "edgeAttrs"
60 
62 #define OUTPUT_DIR "outputDirectory"
63 #define OUTPUT_AVGTRIALS "outputAvgTrials"
65 #define OUTPUT_HEADER "outputHeader"
67 #define OUTPUT_SAVESTEPS "outputSaveSteps"
69 
70 /******************************************************************************
71  Plugin stuff
72 ******************************************************************************/
74 #define PLUGIN_ATTR_TYPE "type"
75 #define PLUGIN_ATTR_UID "uid"
77 #define PLUGIN_ATTR_AUTHOR "author"
79 #define PLUGIN_ATTR_TITLE "title"
81 #define PLUGIN_ATTR_DESCRIPTION "description"
83 #define PLUGIN_ATTR_VERSION "version"
85 #define PLUGIN_ATTR_ATTRSSCOPE "pluginAttributesScope"
87 
88 // model (only)
89 
91 #define PLUGIN_ATTR_NODESCOPE "nodeAttributesScope"
92 #define PLUGIN_ATTR_EDGESCOPE "edgeAttributesScope"
94 #define PLUGIN_ATTR_CUSTOMOUTPUTS "customOutputs"
96 #define PLUGIN_ATTR_SUPPORTEDGRAPHS "supportedGraphs"
98 
99 // graph (only)
100 
102 #define PLUGIN_ATTR_VALIDGRAPHTYPES "validGraphTypes"
103 #define PLUGIN_ATTR_EDGEATTRSGEN "supportsEdgeAttrsGen"
105 
107 #endif // CONSTANTS_H