21 #ifndef __SOLVER_VARIABLE_CATEGORIES_H__
22 #define __SOLVER_VARIABLE_CATEGORIES_H__
24 #include <antares/antares/constants.h>
26 namespace Antares::Solver::Variable::Category
31 constexpr uint8_t area = 1;
33 constexpr uint8_t thermalAggregate = 2;
35 constexpr uint8_t link = 4;
37 constexpr uint8_t setOfAreas = 8;
39 constexpr uint8_t bindingConstraint = 16;
41 constexpr uint8_t maxDataLevel = 16;
47 constexpr uint8_t va = 1;
49 constexpr uint8_t
id = 2;
51 constexpr uint8_t de = 4;
53 constexpr uint8_t de_res = 8;
55 constexpr uint8_t bc = 16;
57 constexpr uint8_t de_sts = 32;
59 constexpr uint8_t maxFileLevel = 32;
61 constexpr uint8_t allFile = va |
id | de | de_res | bc | de_sts;
77 all = hourly | daily | weekly | monthly | annual,
103 digestFlowLinear = 2,
111 enum SpatialAggregate
114 noSpatialAggregate = 0,
116 spatialAggregateSum = 1,
118 spatialAggregateMax = 2,
120 spatialAggregateAverage = 4,
122 spatialAggregateSumThen1IfPositive = 8,
124 spatialAggregateOr = 16,
127 enum SpatialAggregateMode
130 spatialAggregateEachYear = 1,
132 spatialAggregateOnce = 2,
135 enum SpatialAggregatePostProcessing
137 spatialAggregatePostProcessingPrice = 1,
143 static inline uint MaxDecimalPrecision(uint fileLevel)
145 return (fileLevel != FileLevel::id) ? 2u : 0u;
148 template<
int Index,
int Limit>
153 next = (Index != Limit) ? Index * 2 : 0,
157 template<
class StreamT>
158 inline void DataLevelToStream(StreamT& out,
int dataLevel)
162 using namespace DataLevel;
166 case thermalAggregate:
173 out +=
"set of areas";
180 template<
class StreamT>
181 inline void FileLevelToStreamShort(StreamT& out,
int fileLevel)
185 using namespace FileLevel;
209 template<
class StreamT>
210 inline void FileLevelToStream(StreamT& out,
int fileLevel)
214 using namespace FileLevel;
225 out +=
"details-res";
228 out +=
"binding-constraints";
231 out +=
"details-STstorage";
238 template<
class StreamT>
239 inline void PrecisionLevelToStream(StreamT& out,
int precisionLevel)
241 switch (precisionLevel)
Definition: categories.h:150