From c9f789ba32f028f6944ce426c5cfc102b38d67f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Wed, 13 Nov 2024 16:35:47 +0100 Subject: [PATCH] =?UTF-8?q?Refactor=20implementation=20of=20=E2=80=9Cset?= =?UTF-8?q?=5Ftime=E2=80=9D=20(hidden)=20command?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ComputingTasks.cc | 13 +++---------- src/ComputingTasks.hh | 4 ++-- src/ParsingDriver.cc | 6 ++---- src/ParsingDriver.hh | 4 ++-- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index e05e9fa2..4b1b7589 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -3713,8 +3713,7 @@ SvarGlobalIdentificationCheckStatement::writeJsonOutput(ostream& output) const output << R"({"statementName": "svar_global_identification"})"; } -SetTimeStatement::SetTimeStatement(OptionsList options_list_arg) : - options_list {move(options_list_arg)} +SetTimeStatement::SetTimeStatement(string period_arg) : period {move(period_arg)} { } @@ -3722,19 +3721,13 @@ void SetTimeStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename, [[maybe_unused]] bool minimal_workspace) const { - options_list.writeOutput(output); + output << "options_.initial_period = " << period << endl; } void SetTimeStatement::writeJsonOutput(ostream& output) const { - output << R"({"statementName": "set_time")"; - if (!options_list.empty()) - { - output << ", "; - options_list.writeJsonOutput(output); - } - output << "}"; + output << R"({"statementName": "set_time", "period": ")" << period << R"("})"; } EstimationDataStatement::EstimationDataStatement(OptionsList options_list_arg) : diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index 747bb0a5..2e4df64a 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -1007,10 +1007,10 @@ public: class SetTimeStatement : public Statement { private: - const OptionsList options_list; + const string period; public: - explicit SetTimeStatement(OptionsList options_list_arg); + explicit SetTimeStatement(string period_arg); void writeOutput(ostream& output, const string& basename, bool minimal_workspace) const override; void writeJsonOutput(ostream& output) const override; }; diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index d8191d74..5afacaf7 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -1739,11 +1739,9 @@ ParsingDriver::set_unit_root_vars() } void -ParsingDriver::set_time(const string& arg) +ParsingDriver::set_time(string period) { - option_date("initial_period", arg); - mod_file->addStatement(make_unique<SetTimeStatement>(move(options_list))); - options_list.clear(); + mod_file->addStatement(make_unique<SetTimeStatement>(move(period))); } void diff --git a/src/ParsingDriver.hh b/src/ParsingDriver.hh index ffb2f4cb..132dee58 100644 --- a/src/ParsingDriver.hh +++ b/src/ParsingDriver.hh @@ -559,8 +559,8 @@ public: void osr_params_bounds(); //! Add a line in an osr params block void add_osr_params_element(); - //! Sets the frequency of the data - void set_time(const string& arg); + // Sets the initial period for estimation + void set_time(string period); //! Estimation Data void estimation_data(); //! Sets the prior for a parameter -- GitLab