From 662cdea02d96972872cede9dc4a5d20d00818da5 Mon Sep 17 00:00:00 2001 From: michel Date: Mon, 25 Aug 2008 19:57:21 +0000 Subject: [PATCH] add an upper bound to loops in VariableTable::computeDynJacobianCols() git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1997 ac1d8469-bf42-47a9-8791-bf33cf982152 --- preprocessor/VariableTable.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/preprocessor/VariableTable.cc b/preprocessor/VariableTable.cc index f994e9f66..e05b33558 100644 --- a/preprocessor/VariableTable.cc +++ b/preprocessor/VariableTable.cc @@ -104,19 +104,19 @@ VariableTable::computeDynJacobianCols() throw (DynJacobianColsAlreadyComputedExc // Assign the first columns to endogenous, using the lexicographic order over (lag, symbol_id) implemented in variable_table map int sorted_id = 0; - while(it->first.first.first == eEndogenous) + while(it->first.first.first == eEndogenous && it != variable_table.end()) { dyn_jacobian_cols_table[it->second] = sorted_id++; it++; } // Assign subsequent columns to exogenous and then exogenous deterministic, using an offset + symbol_id - while(it->first.first.first == eExogenous) + while(it->first.first.first == eExogenous && it != variable_table.end()) { dyn_jacobian_cols_table[it->second] = var_endo_nbr + it->first.second; it++; } - while(it->first.first.first == eExogenousDet) + while(it->first.first.first == eExogenousDet && it != variable_table.end()) { dyn_jacobian_cols_table[it->second] = var_endo_nbr + symbol_table.exo_nbr + it->first.second; it++;