From dc99d81c4512d3c0db76e63741abfdc1e7694d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 6 Dec 2021 16:20:17 +0100 Subject: [PATCH] Explain why expectation() operators need not be substituted in equations marked [static] By the way, also perform a small code simplification. --- src/DynamicModel.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 90a1d1f6..d975801e 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -5512,11 +5512,13 @@ DynamicModel::substituteExpectation(bool partial_information_model) // Substitute in equations for (auto &equation : equations) { - auto substeq = dynamic_cast<BinaryOpNode *>(equation->substituteExpectation(subst_table, neweqs, partial_information_model)); - assert(substeq); - equation = substeq; + equation = dynamic_cast<BinaryOpNode *>(equation->substituteExpectation(subst_table, neweqs, partial_information_model)); + assert(equation); } + /* No need to substitute in static_only_equations, since expectation() + operators in [static] equations are forbidden at the parsing level. */ + // Add new equations for (auto &neweq : neweqs) { -- GitLab