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