From 851dcc88a61770d8bd2bea954082136a8c2979a7 Mon Sep 17 00:00:00 2001 From: Michel Juillard Date: Thu, 3 Jun 2010 15:59:35 +0200 Subject: [PATCH] steady_state_model: authorizing change in parameter values in steady_state_model block + removing ys_ initialization to zero --- ParsingDriver.cc | 2 +- SteadyStateModel.cc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ParsingDriver.cc b/ParsingDriver.cc index 43d775cc..b7abea8a 100644 --- a/ParsingDriver.cc +++ b/ParsingDriver.cc @@ -1866,7 +1866,7 @@ ParsingDriver::add_steady_state_model_equal(string *varname, NodeID expr) } SymbolType type = mod_file->symbol_table.getType(id); - if (type != eEndogenous && type != eModFileLocalVariable) + if (type != eEndogenous && type != eModFileLocalVariable && type != eParameter) error(*varname + " has incorrect type"); mod_file->steady_state_model.addDefinition(id, expr); diff --git a/SteadyStateModel.cc b/SteadyStateModel.cc index f2e58a0e..6ebf32be 100644 --- a/SteadyStateModel.cc +++ b/SteadyStateModel.cc @@ -31,7 +31,8 @@ void SteadyStateModel::addDefinition(int symb_id, NodeID expr) { assert(symbol_table.getType(symb_id) == eEndogenous - || symbol_table.getType(symb_id) == eModFileLocalVariable); + || symbol_table.getType(symb_id) == eModFileLocalVariable + || symbol_table.getType(symb_id) == eParameter); // Add the variable recursive_order.push_back(symb_id); @@ -93,8 +94,7 @@ SteadyStateModel::writeSteadyStateFile(const string &basename, bool ramsey_polic output << "ys_orig_"; output << ", exo_)" << endl << "% Steady state generated by Dynare preprocessor" << endl - << " global M_" << endl - << " ys_=zeros(" << symbol_table.orig_endo_nbr() << ",1);" << endl; + << " global M_" << endl; for(size_t i = 0; i < recursive_order.size(); i++) {