Mark some functions as constexpr

This probably brings no benefit since those functions are currently not used at
compile time, but it’s nice…
master
Sébastien Villemot 2022-06-24 14:50:40 +02:00
parent 7e01d01d80
commit b307097f85
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 8 additions and 8 deletions

View File

@ -104,7 +104,7 @@ enum class ExprNodeOutputType
occbinDifferenceFile //!< MATLAB, in the generated occbin_difference file occbinDifferenceFile //!< MATLAB, in the generated occbin_difference file
}; };
inline bool constexpr bool
isMatlabOutput(ExprNodeOutputType output_type) isMatlabOutput(ExprNodeOutputType output_type)
{ {
return output_type == ExprNodeOutputType::matlabStaticModel return output_type == ExprNodeOutputType::matlabStaticModel
@ -117,7 +117,7 @@ isMatlabOutput(ExprNodeOutputType output_type)
|| output_type == ExprNodeOutputType::occbinDifferenceFile; || output_type == ExprNodeOutputType::occbinDifferenceFile;
} }
inline bool constexpr bool
isJuliaOutput(ExprNodeOutputType output_type) isJuliaOutput(ExprNodeOutputType output_type)
{ {
return output_type == ExprNodeOutputType::juliaStaticModel return output_type == ExprNodeOutputType::juliaStaticModel
@ -127,7 +127,7 @@ isJuliaOutput(ExprNodeOutputType output_type)
|| output_type == ExprNodeOutputType::juliaTimeDataFrame; || output_type == ExprNodeOutputType::juliaTimeDataFrame;
} }
inline bool constexpr bool
isCOutput(ExprNodeOutputType output_type) isCOutput(ExprNodeOutputType output_type)
{ {
return output_type == ExprNodeOutputType::CDynamicModel return output_type == ExprNodeOutputType::CDynamicModel
@ -135,7 +135,7 @@ isCOutput(ExprNodeOutputType output_type)
|| output_type == ExprNodeOutputType::CDynamicSteadyStateOperator; || output_type == ExprNodeOutputType::CDynamicSteadyStateOperator;
} }
inline bool constexpr bool
isLatexOutput(ExprNodeOutputType output_type) isLatexOutput(ExprNodeOutputType output_type)
{ {
return output_type == ExprNodeOutputType::latexStaticModel return output_type == ExprNodeOutputType::latexStaticModel
@ -145,20 +145,20 @@ isLatexOutput(ExprNodeOutputType output_type)
/* Equal to 1 for Matlab langage or Julia, or to 0 for C language. Not defined for LaTeX. /* Equal to 1 for Matlab langage or Julia, or to 0 for C language. Not defined for LaTeX.
In Matlab and Julia, array indexes begin at 1, while they begin at 0 in C */ In Matlab and Julia, array indexes begin at 1, while they begin at 0 in C */
inline int constexpr int
ARRAY_SUBSCRIPT_OFFSET(ExprNodeOutputType output_type) ARRAY_SUBSCRIPT_OFFSET(ExprNodeOutputType output_type)
{ {
return static_cast<int>(isMatlabOutput(output_type) || isJuliaOutput(output_type)); return static_cast<int>(isMatlabOutput(output_type) || isJuliaOutput(output_type));
} }
// Left and right array subscript delimiters: '(' and ')' for Matlab, '[' and ']' for C // Left and right array subscript delimiters: '(' and ')' for Matlab, '[' and ']' for C
inline char constexpr char
LEFT_ARRAY_SUBSCRIPT(ExprNodeOutputType output_type) LEFT_ARRAY_SUBSCRIPT(ExprNodeOutputType output_type)
{ {
return isMatlabOutput(output_type) ? '(' : '['; return isMatlabOutput(output_type) ? '(' : '[';
} }
inline char constexpr char
RIGHT_ARRAY_SUBSCRIPT(ExprNodeOutputType output_type) RIGHT_ARRAY_SUBSCRIPT(ExprNodeOutputType output_type)
{ {
return isMatlabOutput(output_type) ? ')' : ']'; return isMatlabOutput(output_type) ? ')' : ']';
@ -216,7 +216,7 @@ protected:
constexpr static int min_cost_matlab{40*90}; constexpr static int min_cost_matlab{40*90};
constexpr static int min_cost_c{40*4}; constexpr static int min_cost_c{40*4};
inline static int constexpr static int
min_cost(bool is_matlab) min_cost(bool is_matlab)
{ {
return is_matlab ? min_cost_matlab : min_cost_c; return is_matlab ? min_cost_matlab : min_cost_c;