diff --git a/ModFile.cc b/ModFile.cc index 71f5f33a05e98c263f712671854012ec8b90bbf1..39f9b5b17c46d9eb4d2bc1f8b876b028627c265e 100644 --- a/ModFile.cc +++ b/ModFile.cc @@ -813,7 +813,8 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_glo mOutputFile << "M_.orig_eq_nbr = " << mod_file_struct.orig_eq_nbr << ";" << endl << "M_.eq_nbr = " << dynamic_model.equation_number() << ";" << endl - << "M_.ramsey_eq_nbr = " << mod_file_struct.ramsey_eq_nbr << ";" << endl; + << "M_.ramsey_eq_nbr = " << mod_file_struct.ramsey_eq_nbr << ";" << endl + << "M_.set_auxiliary_variables = exist(['./' M_.fname '_set_auxiliary_variables.m'], 'file') == 2;" << endl; if (dynamic_model.equation_number() > 0) { diff --git a/StaticModel.cc b/StaticModel.cc index dc24f6ee6b44785faf88192efb8266d148ec2a2d..97f4f38b5e87ea846b5ba6030985c3e8c2472d16 100644 --- a/StaticModel.cc +++ b/StaticModel.cc @@ -2130,6 +2130,11 @@ StaticModel::writeAuxVarInitval(ostream &output, ExprNodeOutputType output_type) void StaticModel::writeSetAuxiliaryVariables(const string &basename, const bool julia) const { + ostringstream output_func_body; + writeAuxVarRecursiveDefinitions(output_func_body, oMatlabStaticModel); + + if (output_func_body.str().empty()) + return; string func_name = basename + "_set_auxiliary_variables"; string filename = julia ? func_name + ".jl" : func_name + ".m"; @@ -2148,10 +2153,8 @@ StaticModel::writeSetAuxiliaryVariables(const string &basename, const bool julia << comment << " Status : Computes static model for Dynare" << endl << comment << endl << comment << " Warning : this file is generated automatically by Dynare" << endl - << comment << " from model file (.mod)" << endl - << endl; - - writeAuxVarRecursiveDefinitions(output, oMatlabStaticModel); + << comment << " from model file (.mod)" << endl << endl + << output_func_body.str(); } void