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