diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index da33a68b9f6df1e6df6e6d83849c9cb6003d84de..efcfad762cf4f0bb263dd69766c7c03a86836c00 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -4595,19 +4595,28 @@ DynamicModel::writeSetAuxiliaryVariables(const string &basename, bool julia) con if (output_func_body.str().empty()) return; - string func_name = julia ? basename + "_dynamic_set_auxiliary_series" : "dynamic_set_auxiliary_series"; + string func_name = julia ? basename + "_dynamic_set_auxiliary_series!" : "dynamic_set_auxiliary_series"; string comment = julia ? "#" : "%"; stringstream output; - output << "function ds = " << func_name + "(ds, params)" << endl + if (julia) + output << "module " << basename << "DynamicSetAuxiliarySeries" << endl + << "export " << func_name << endl; + output << "function "; + if (!julia) + output << "ds = "; + output << func_name + "(ds, params)" << endl << comment << endl << comment << " Status : Computes Auxiliary variables of the dynamic model and returns a dseries" << endl << comment << endl << comment << " Warning : this file is generated automatically by Dynare" << endl << comment << " from model file (.mod)" << endl << endl - << output_func_body.str(); + << output_func_body.str() + << "end" << endl; + if (julia) + output << "end" << endl; - writeToFileIfModified(output, julia ? func_name + ".jl" : packageDir(basename) + "/" + func_name + ".m"); + writeToFileIfModified(output, julia ? basename + "DynamicSetAuxiliarySeries.jl" : packageDir(basename) + "/" + func_name + ".m"); } void diff --git a/src/StaticModel.cc b/src/StaticModel.cc index eafb81f893ce75c4ff7eabe8b1320133b0babf46..32b17bff04d88115f4d23eb8ab3212749272d61e 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -2115,27 +2115,28 @@ StaticModel::writeSetAuxiliaryVariables(const string &basename, bool julia) cons if (output_func_body.str().empty()) return; - string func_name = julia ? basename + "_set_auxiliary_variables" : "set_auxiliary_variables"; + string func_name = julia ? basename + "_set_auxiliary_variables!" : "set_auxiliary_variables"; string comment = julia ? "#" : "%"; stringstream output; + if (julia) + output << "module " << basename << "SetAuxiliaryVariables" << endl + << "export " << func_name << endl; output << "function "; if (!julia) output << "y = "; - output << func_name; - if (julia) - output << "!"; - output << "(y, x, params)" << endl + output << func_name << "(y, x, params)" << endl << comment << endl << 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 - << output_func_body.str(); + << output_func_body.str() + << "end" << endl; if (julia) output << "end" << endl; - writeToFileIfModified(output, julia ? func_name + ".jl" : packageDir(basename) + "/" + func_name + ".m"); + writeToFileIfModified(output, julia ? basename + "SetAuxiliaryVariables.jl" : packageDir(basename) + "/" + func_name + ".m"); } void