diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc index 5e34a655a7ec0cf2df623960813f35179d07d14e..060624505d6d85951a30eaddb7d4488db6609db8 100644 --- a/preprocessor/ComputingTasks.cc +++ b/preprocessor/ComputingTasks.cc @@ -371,6 +371,17 @@ RplotStatement::writeOutput(ostream &output, const string &basename) const output << "rplot(var_list_);\n"; } +UnitRootVarsStatement::UnitRootVarsStatement(void) +{ +} + +void +UnitRootVarsStatement::writeOutput(ostream &output, const string &basename) const +{ + output << "options_.diffuse_filter = 1;" << endl + << "options_.steadystate.nocheck = 1;" << endl; +} + PeriodsStatement::PeriodsStatement(int periods_arg) : periods(periods_arg) { } diff --git a/preprocessor/ComputingTasks.hh b/preprocessor/ComputingTasks.hh index 3f66bd03b44b5cb93e6b6dc7aa6a61d34580d060..2c7a0e8692cf8a53ca2f8a3bd9af6d40afb11498 100644 --- a/preprocessor/ComputingTasks.hh +++ b/preprocessor/ComputingTasks.hh @@ -126,6 +126,13 @@ public: virtual void writeOutput(ostream &output, const string &basename) const; }; +class UnitRootVarsStatement : public Statement +{ +public: + UnitRootVarsStatement(void); + virtual void writeOutput(ostream &output, const string &basename) const; +}; + class PeriodsStatement : public Statement { private: diff --git a/preprocessor/ParsingDriver.cc b/preprocessor/ParsingDriver.cc index eff84af442d45c3a4efb5bbb517d87e2b58d27be..73fc785fcb6fcc958d0e5c36d0f2e6826bec6570 100644 --- a/preprocessor/ParsingDriver.cc +++ b/preprocessor/ParsingDriver.cc @@ -1179,7 +1179,8 @@ ParsingDriver::estimated_params_bounds() void ParsingDriver::set_unit_root_vars() { - warning("'unit_root_vars' is now obsolete and has no effect; use option 'diffuse_filter' of 'estimation' instead"); + mod_file->addStatement(new UnitRootVarsStatement()); + warning("'unit_root_vars' is now obsolete; use option 'diffuse_filter' of 'estimation' instead"); symbol_list.clear(); }