ExprNode::removeTrendLeadLag(): pass map argument by const-reference rather than by value

issue#70
Sébastien Villemot 2019-07-05 18:22:02 +02:00
parent 24d4b2dc77
commit 17c4104275
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
2 changed files with 17 additions and 17 deletions

View File

@ -752,7 +752,7 @@ NumConstNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
NumConstNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
NumConstNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
return const_cast<NumConstNode *>(this);
}
@ -1991,7 +1991,7 @@ VariableNode::countDiffs() const
}
expr_t
VariableNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
VariableNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
if ((get_type() != SymbolType::trend && get_type() != SymbolType::logTrend) || lag == 0)
return const_cast<VariableNode *>(this);
@ -3830,7 +3830,7 @@ UnaryOpNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
UnaryOpNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
UnaryOpNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
expr_t argsubst = arg->removeTrendLeadLag(trend_symbols_map);
return buildSimilarUnaryOpNode(argsubst, datatree);
@ -5524,7 +5524,7 @@ BinaryOpNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
BinaryOpNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
BinaryOpNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
expr_t arg1subst = arg1->removeTrendLeadLag(trend_symbols_map);
expr_t arg2subst = arg2->removeTrendLeadLag(trend_symbols_map);
@ -6852,7 +6852,7 @@ TrinaryOpNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
TrinaryOpNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
TrinaryOpNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
expr_t arg1subst = arg1->removeTrendLeadLag(trend_symbols_map);
expr_t arg2subst = arg2->removeTrendLeadLag(trend_symbols_map);
@ -7383,7 +7383,7 @@ AbstractExternalFunctionNode::detrend(int symb_id, bool log_trend, expr_t trend)
}
expr_t
AbstractExternalFunctionNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
AbstractExternalFunctionNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
vector<expr_t> arguments_subst;
for (auto argument : arguments)
@ -8985,7 +8985,7 @@ VarExpectationNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
VarExpectationNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
VarExpectationNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
cerr << "VarExpectationNode::removeTrendLeadLag not implemented." << endl;
exit(EXIT_FAILURE);
@ -9399,7 +9399,7 @@ PacExpectationNode::detrend(int symb_id, bool log_trend, expr_t trend) const
}
expr_t
PacExpectationNode::removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const
PacExpectationNode::removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const
{
return const_cast<PacExpectationNode *>(this);
}

View File

@ -572,7 +572,7 @@ class ExprNode
virtual expr_t clone(DataTree &datatree) const = 0;
//! Move a trend variable with lag/lead to time t by dividing/multiplying by its growth factor
virtual expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const = 0;
virtual expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const = 0;
//! Returns true if the expression is in static form (no lead, no lag, no expectation, no STEADY_STATE)
virtual bool isInStaticForm() const = 0;
@ -716,7 +716,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -799,7 +799,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -910,7 +910,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -1024,7 +1024,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
//! Function to write out the oPowerNode in expr_t terms as opposed to writing out the function itself
expr_t unpackPowerDeriv() const;
//! Returns MULT_i*(lhs-rhs) = 0, creating multiplier MULT_i
@ -1152,7 +1152,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -1272,7 +1272,7 @@ public:
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t clone(DataTree &datatree) const override = 0;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -1480,7 +1480,7 @@ public:
bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@ -1561,7 +1561,7 @@ public:
bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
expr_t replaceTrendVar() const override;
expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override;
expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
bool isInStaticForm() const override;
void findConstantEquations(map<VariableNode *, NumConstNode *> &table) const override;
expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;