From 0794065726c3389c8fa259c5dae8755c3fb25aba Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 17 Oct 2008 11:54:35 +0000 Subject: [PATCH] trunk preprocessor: removed unused recursive variable type git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2167 ac1d8469-bf42-47a9-8791-bf33cf982152 --- ExprNode.cc | 9 +-------- ModelTree.cc | 6 ------ NumericalInitialization.cc | 3 --- SymbolTable.cc | 16 +--------------- VariableTable.cc | 9 +-------- include/CodeInterpreter.hh | 1 - include/SymbolTable.hh | 2 -- include/VariableTable.hh | 4 ---- 8 files changed, 3 insertions(+), 47 deletions(-) diff --git a/ExprNode.cc b/ExprNode.cc index 98ed2925..f978044f 100644 --- a/ExprNode.cc +++ b/ExprNode.cc @@ -176,8 +176,7 @@ VariableNode::VariableNode(DataTree &datatree_arg, int symb_id_arg, SymbolType t // Add myself to the variable table if necessary and initialize var_id if (type == eEndogenous || type == eExogenousDet - || type == eExogenous - || type == eRecursiveVariable) + || type == eExogenous) var_id = datatree.variable_table.addVariable(type, symb_id, lag); else var_id = -1; @@ -195,7 +194,6 @@ VariableNode::VariableNode(DataTree &datatree_arg, int symb_id_arg, SymbolType t case eEndogenous: case eExogenous: case eExogenousDet: - case eRecursiveVariable: // For a variable, the only non-null derivative is with respect to itself non_null_derivatives.insert(var_id); break; @@ -223,7 +221,6 @@ VariableNode::computeDerivative(int varID) case eEndogenous: case eExogenous: case eExogenousDet: - case eRecursiveVariable: if (varID == var_id) return datatree.One; else @@ -391,9 +388,6 @@ VariableNode::writeOutput(ostream &output, ExprNodeOutputType output_type, } break; - case eRecursiveVariable: - cerr << "Recursive variable not implemented" << endl; - exit(-1); case eUnknownFunction: cerr << "Impossible case" << endl; exit(-1); @@ -462,7 +456,6 @@ VariableNode::compile(ofstream &CompileCode, bool lhs_rhs, ExprNodeOutputType ou lagl=lag; CompileCode.write(reinterpret_cast(&lagl), sizeof(lagl)); break; - case eRecursiveVariable: case eModelLocalVariable: case eModFileLocalVariable: cerr << "VariableNode::compile: unhandled variable type" << endl; diff --git a/ModelTree.cc b/ModelTree.cc index 21278e0f..d04ecac8 100644 --- a/ModelTree.cc +++ b/ModelTree.cc @@ -3819,12 +3819,6 @@ ModelTree::writeOutput(ostream &output) const output << "M_.maximum_exo_det_lead = " << variable_table.max_exo_det_lead << ";\n"; output << "oo_.exo_det_steady_state = zeros(" << symbol_table.exo_det_nbr << ", 1);\n"; } - if (symbol_table.recur_nbr) - { - output << "M_.maximum_recur_lag = " << variable_table.max_recur_lag << ";\n"; - output << "M_.maximum_recur_lead = " << variable_table.max_recur_lead << ";\n"; - output << "oo_.recur_steady_state = zeros(" << symbol_table.recur_nbr << ", 1);\n"; - } if (symbol_table.parameter_nbr) output << "M_.params = repmat(NaN," << symbol_table.parameter_nbr << ", 1);\n"; } diff --git a/NumericalInitialization.cc b/NumericalInitialization.cc index d92a4912..a5bee8e2 100644 --- a/NumericalInitialization.cc +++ b/NumericalInitialization.cc @@ -86,9 +86,6 @@ InitValStatement::writeOutput(ostream &output, const string &basename) const output << "options_.initval_file = 0;" << endl << "endval_=0;" << endl; - if (symbol_table.recur_nbr > 0) - output << "recurs_ = zeros(" << symbol_table.recur_nbr << ", 1);\n"; - writeInitValues(output); output << "oo_.endo_simul=[oo_.steady_state*ones(1,M_.maximum_lag)];\n"; diff --git a/SymbolTable.cc b/SymbolTable.cc index 23d411db..bad45267 100644 --- a/SymbolTable.cc +++ b/SymbolTable.cc @@ -22,7 +22,7 @@ #include "SymbolTable.hh" -SymbolTable::SymbolTable() : endo_nbr(0), exo_nbr(0), exo_det_nbr(0), recur_nbr(0), +SymbolTable::SymbolTable() : endo_nbr(0), exo_nbr(0), exo_det_nbr(0), parameter_nbr(0), model_local_variable_nbr(0), modfile_local_variable_nbr(0), unknown_function_nbr(0) { @@ -55,9 +55,6 @@ SymbolTable::addSymbol(const string &name, SymbolType type, const string &tex_na case eParameter: id = parameter_nbr++; break; - case eRecursiveVariable: - id = recur_nbr++; - break; case eModelLocalVariable: id = model_local_variable_nbr++; break; @@ -108,16 +105,6 @@ SymbolTable::writeOutput(ostream &output) const << "M_.endo_names_tex = strvcat(M_.endo_names_tex, '" << getTeXNameByID(eEndogenous, id) << "');" << endl; } } - if (recur_nbr > 0) - { - output << "M_.recur_names = '" << getNameByID(eRecursiveVariable, 0) << "';" << endl; - output << "M_.recur_names_tex = '" << getTeXNameByID(eRecursiveVariable, 0) << "';" << endl; - for (int id = 1; id < recur_nbr; id++) - { - output << "M_.recur_names = strvcat(M_.recur_names, '" << getNameByID(eRecursiveVariable, id) << "');" << endl - << "M_.recur_names_tex = strvcat(M_.recur_names_tex, '" << getTeXNameByID(eRecursiveVariable, id) << "');" << endl; - } - } if (parameter_nbr > 0) { output << "M_.param_names = '" << getNameByID(eParameter, 0) << "';" << endl; @@ -132,7 +119,6 @@ SymbolTable::writeOutput(ostream &output) const output << "M_.exo_det_nbr = " << exo_det_nbr << ";" << endl << "M_.exo_nbr = " << exo_nbr << ";" << endl << "M_.endo_nbr = " << endo_nbr << ";" << endl - << "M_.recur_nbr = " << recur_nbr << ";" << endl << "M_.param_nbr = " << parameter_nbr << ";" << endl; output << "M_.Sigma_e = zeros(" << exo_nbr << ", " << exo_nbr << ");" << endl; diff --git a/VariableTable.cc b/VariableTable.cc index b439dfe8..ccf523fe 100644 --- a/VariableTable.cc +++ b/VariableTable.cc @@ -27,8 +27,7 @@ VariableTable::VariableTable(const SymbolTable &symbol_table_arg) : max_lag(0), max_lead(0), max_endo_lag(0), max_endo_lead(0), max_exo_lag(0), max_exo_lead(0), - max_exo_det_lag(0), max_exo_det_lead(0), - max_recur_lag(0), max_recur_lead(0) + max_exo_det_lag(0), max_exo_det_lead(0) { } @@ -79,12 +78,6 @@ VariableTable::addVariable(SymbolType type, int symb_id, int lag) throw (DynJaco else if (-max_exo_det_lag > lag) max_exo_det_lag = -lag; break; - case eRecursiveVariable: - if (max_recur_lead < lag) - max_recur_lead = lag; - else if (-max_recur_lag > lag) - max_recur_lag = -lag; - break; default: cerr << "VariableTable::addVariable(): forbidden variable type" << endl; exit(-1); diff --git a/include/CodeInterpreter.hh b/include/CodeInterpreter.hh index d698bb2d..eab2d706 100644 --- a/include/CodeInterpreter.hh +++ b/include/CodeInterpreter.hh @@ -71,7 +71,6 @@ enum SymbolType eEndogenous = 0, //!< Endogenous eExogenous = 1, //!< Exogenous eExogenousDet = 2, //!< Exogenous deterministic - eRecursiveVariable = 3, //!< Recursive variable (reserved for future use) eParameter = 4, //!< Parameter eModelLocalVariable = 10, //!< Local variable whose scope is model (pound expression) eModFileLocalVariable = 11, //!< Local variable whose scope is mod file (model excluded) diff --git a/include/SymbolTable.hh b/include/SymbolTable.hh index a7e4257a..48554b39 100644 --- a/include/SymbolTable.hh +++ b/include/SymbolTable.hh @@ -88,8 +88,6 @@ public: int exo_nbr; //! Number of declared deterministic exogenous variables int exo_det_nbr; - //! Number of declared recursive variables - int recur_nbr; //! Number of declared parameters int parameter_nbr; //! Number of model local variables diff --git a/include/VariableTable.hh b/include/VariableTable.hh index 50faa803..0df13c4f 100644 --- a/include/VariableTable.hh +++ b/include/VariableTable.hh @@ -73,10 +73,6 @@ public: int max_exo_det_lag; //! Maximum lead over deterministic exogenous variables int max_exo_det_lead; - //! Maximum lag over recursive variables (positive value) - int max_recur_lag; - //! Maximum lead over recursive variables - int max_recur_lead; //! Thrown when trying to access an unknown variable by (type, symb_id, lag) class UnknownVariableKeyException {