From 92ad5aad2c5dd0ba4e917ede11baddb674db82c0 Mon Sep 17 00:00:00 2001 From: Houtan Bastani <houtan@dynare.org> Date: Tue, 24 Sep 2019 14:03:38 +0200 Subject: [PATCH] Revert "add info about max endo/exo lag by variable. closes dynare#1596" This reverts commit 7827d2e04d5f5dd4973ff98f63a277bb76fe7eb1. --- src/DynamicModel.cc | 54 ++++++++------------------------------------- src/DynamicModel.hh | 3 --- 2 files changed, 9 insertions(+), 48 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index c84750bf..fdf8c1a8 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -2954,29 +2954,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de outstruct = "oo_."; } - if (max_endo_lag_by_var.size() != static_cast<size_t>(symbol_table.orig_endo_nbr())) - { - cerr << "ERROR: the number of endogenous variables found in the model block" - << " is not equal to the number declared" << endl; - exit(EXIT_FAILURE); - } - - if (max_exo_lag_by_var.size() != static_cast<size_t>(symbol_table.exo_nbr())) - { - cerr << "ERROR: the number of exogenous variables found in the model block" - << " is not equal to the number declared" << endl; - exit(EXIT_FAILURE); - } - - output << modstruct << "max_endo_lag_by_var = ["; - for (const auto & it : max_endo_lag_by_var) - output << it.second << " "; - output << "];" << endl - << modstruct << "max_exo_lag_by_var = ["; - for (const auto & it : max_exo_lag_by_var) - output << it.second << " "; - output << "];" << endl - << modstruct << "orig_maximum_endo_lag = " << max_endo_lag_orig << ";" << endl + output << modstruct << "orig_maximum_endo_lag = " << max_endo_lag_orig << ";" << endl << modstruct << "orig_maximum_endo_lead = " << max_endo_lead_orig << ";" << endl << modstruct << "orig_maximum_exo_lag = " << max_exo_lag_orig << ";" << endl << modstruct << "orig_maximum_exo_lead = " << max_exo_lead_orig << ";" << endl @@ -5558,35 +5536,21 @@ DynamicModel::setLeadsLagsOrig() for (const auto & dynvar : dynvars) { int lag = dynvar.second; + SymbolType type = symbol_table.getType(dynvar.first); max_lead_orig = max(lag, max_lead_orig); max_lag_orig = max(-lag, max_lag_orig); - - switch (symbol_table.getType(dynvar.first)) + switch (type) { case SymbolType::endogenous: - { - max_endo_lead_orig = max(lag, max_endo_lead_orig); - max_endo_lag_orig = max(-lag, max_endo_lag_orig); - auto var = max_endo_lag_by_var.find(dynvar.first); - if (var != max_endo_lag_by_var.end()) - max_endo_lag_by_var[dynvar.first] = max(0, lag); - else - max_endo_lag_by_var[dynvar.first] = max(var->second, lag); - break; - } + max_endo_lead_orig = max(lag, max_endo_lead_orig); + max_endo_lag_orig = max(-lag, max_endo_lag_orig); + break; case SymbolType::exogenous: - { - max_exo_lead_orig = max(lag, max_exo_lead_orig); - max_exo_lag_orig = max(-lag, max_exo_lag_orig); - auto var = max_exo_lag_by_var.find(dynvar.first); - if (var != max_exo_lag_by_var.end()) - max_exo_lag_by_var[dynvar.first] = max(0, lag); - else - max_exo_lag_by_var[dynvar.first] = max(var->second, lag); - break; - } + max_exo_lead_orig = max(lag, max_exo_lead_orig); + max_exo_lag_orig = max(-lag, max_exo_lag_orig); + break; case SymbolType::exogenousDet: max_exo_det_lead_orig = max(lag, max_exo_det_lead_orig); max_exo_det_lag_orig = max(-lag, max_exo_det_lag_orig); diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh index 1af8883f..f3f2a41f 100644 --- a/src/DynamicModel.hh +++ b/src/DynamicModel.hh @@ -84,9 +84,6 @@ private: //! Maximum lag and lead over deterministic exogenous variables (positive values) of original model int max_exo_det_lag_orig{0}, max_exo_det_lead_orig{0}; - //! Max lags by symb_id - map<int, int> max_endo_lag_by_var, max_exo_lag_by_var; - //! Cross reference information map<int, ExprNode::EquationInfo> xrefs; map<pair<int, int>, set<int>> xref_param; -- GitLab