diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 561bd2f757545330c606212fa4576a53c92f922a..40d3c002472746de279f076b64e0077e0404088e 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -2061,11 +2061,8 @@ ModelComparisonStatement::writeJsonOutput(ostream &output) const PlannerObjectiveStatement::PlannerObjectiveStatement(SymbolTable &symbol_table, NumericalConstants &num_constants, - ExternalFunctionsTable &external_functions_table, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg) : - model_tree{symbol_table, num_constants, external_functions_table, - trend_component_model_table_arg, var_model_table_arg} + ExternalFunctionsTable &external_functions_table) : + model_tree{symbol_table, num_constants, external_functions_table} { } diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index be6c5d1a6e3674e9e12defa3be8aa79742a18264..4985c2b79310555e7bacb45da7b9ab0f0282395a 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -510,9 +510,7 @@ private: public: PlannerObjectiveStatement(SymbolTable &symbol_table, NumericalConstants &num_constants, - ExternalFunctionsTable &external_functions_table, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg); + ExternalFunctionsTable &external_functions_table); /*! \todo check there are only endogenous variables at the current period in the objective (no exogenous, no lead/lag) */ void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override; diff --git a/src/DataTree.cc b/src/DataTree.cc index 736e49e848c937f376f94da727a478a215a71678..cdab07024754cb5feccf1106c01e9f19450c2696 100644 --- a/src/DataTree.cc +++ b/src/DataTree.cc @@ -28,14 +28,10 @@ DataTree::DataTree(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg) : + ExternalFunctionsTable &external_functions_table_arg) : symbol_table(symbol_table_arg), num_constants(num_constants_arg), - external_functions_table(external_functions_table_arg), - trend_component_model_table(trend_component_model_table_arg), - var_model_table(var_model_table_arg) + external_functions_table(external_functions_table_arg) { Zero = AddNonNegativeConstant("0"); One = AddNonNegativeConstant("1"); diff --git a/src/DataTree.hh b/src/DataTree.hh index 623641c1a321ea75df1126115abc314e8372cf33..f32ec26f63fa38103e57870d209780567fbdf4eb 100644 --- a/src/DataTree.hh +++ b/src/DataTree.hh @@ -45,10 +45,6 @@ public: NumericalConstants &num_constants; //! A reference to the external functions table ExternalFunctionsTable &external_functions_table; - //! A reference to the trend component model table - TrendComponentModelTable &trend_component_model_table; - //! A reference to the VAR model table - VarModelTable &var_model_table; protected: //! num_constant_id -> NumConstNode @@ -122,9 +118,8 @@ private: public: DataTree(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg); + ExternalFunctionsTable &external_functions_table_arg); + virtual ~DataTree(); diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 8d77e5efad9409533403d9e90f4e26c373138c38..cf7523a2d7cb3f98c543e9a7ad53d515587d949c 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -36,8 +36,9 @@ DynamicModel::DynamicModel(SymbolTable &symbol_table_arg, ExternalFunctionsTable &external_functions_table_arg, TrendComponentModelTable &trend_component_model_table_arg, VarModelTable &var_model_table_arg) : - ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg, - trend_component_model_table_arg, var_model_table_arg), + ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg), + trend_component_model_table(trend_component_model_table_arg), + var_model_table(var_model_table_arg), max_lag(0), max_lead(0), max_endo_lag(0), max_endo_lead(0), max_exo_lag(0), max_exo_lead(0), diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh index 5f5c67fe6c12bcfc4afb82370f4a8460d9fb379e..d6e4bc01075a258dd35ad68ae73c353c9416f4d5 100644 --- a/src/DynamicModel.hh +++ b/src/DynamicModel.hh @@ -30,6 +30,11 @@ using namespace std; //! Stores a dynamic model class DynamicModel : public ModelTree { +public: + //! A reference to the trend component model table + TrendComponentModelTable &trend_component_model_table; + //! A reference to the VAR model table + VarModelTable &var_model_table; private: constexpr static double zero_band{1e-8}; diff --git a/src/ModFile.cc b/src/ModFile.cc index 2aacae8d784ed61609e8599b71846c19a8ca6c81..47246a9a7fb18197e12712d08d992aa5767e015c 100644 --- a/src/ModFile.cc +++ b/src/ModFile.cc @@ -32,8 +32,7 @@ ModFile::ModFile(WarningConsolidation &warnings_arg) : var_model_table(symbol_table), trend_component_model_table(symbol_table), - expressions_tree(symbol_table, num_constants, external_functions_table, - trend_component_model_table, var_model_table), + expressions_tree(symbol_table, num_constants, external_functions_table), original_model(symbol_table, num_constants, external_functions_table, trend_component_model_table, var_model_table), dynamic_model(symbol_table, num_constants, external_functions_table, @@ -46,12 +45,9 @@ ModFile::ModFile(WarningConsolidation &warnings_arg) trend_component_model_table, var_model_table), epilogue(symbol_table, num_constants, external_functions_table, trend_component_model_table, var_model_table), - static_model(symbol_table, num_constants, external_functions_table, - trend_component_model_table, var_model_table), - steady_state_model(symbol_table, num_constants, external_functions_table, - trend_component_model_table, var_model_table, static_model), - diff_static_model(symbol_table, num_constants, external_functions_table, - trend_component_model_table, var_model_table), + static_model(symbol_table, num_constants, external_functions_table), + steady_state_model(symbol_table, num_constants, external_functions_table, static_model), + diff_static_model(symbol_table, num_constants, external_functions_table), linear(false), block(false), byte_code(false), use_dll(false), no_static(false), differentiate_forward_vars(false), nonstationary_variables(false), param_used_with_lead_lag(false), warnings(warnings_arg) diff --git a/src/ModelEquationBlock.cc b/src/ModelEquationBlock.cc index 59f5170f3274741638f9c62eada60cfe8eb58af3..34ea65fbeaaf90bf55c5fd5ecd525abf7552fa11 100644 --- a/src/ModelEquationBlock.cc +++ b/src/ModelEquationBlock.cc @@ -25,11 +25,8 @@ SteadyStateModel::SteadyStateModel(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg, const StaticModel &static_model_arg) : - DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg, - trend_component_model_table_arg, var_model_table_arg), + DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg), static_model(static_model_arg) { } diff --git a/src/ModelEquationBlock.hh b/src/ModelEquationBlock.hh index 5ad8ed0dad3bd39310184ca294f02c56fa4a1794..199e4bdb44685f58c370d2abeeb803be4166a5e8 100644 --- a/src/ModelEquationBlock.hh +++ b/src/ModelEquationBlock.hh @@ -39,8 +39,6 @@ public: SteadyStateModel(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg, const StaticModel &static_model_arg); //! Add an expression of the form "var = expr;" void addDefinition(int symb_id, expr_t expr); diff --git a/src/ModelTree.cc b/src/ModelTree.cc index e9916de6cbd900c230ea1cc9dbfffc3900f3a12c..3cc8d6bb8828ad07d78d0c061f53256ca1c8cce3 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -1003,11 +1003,8 @@ ModelTree::BlockLinear(const blocks_derivatives_t &blocks_derivatives, const vec ModelTree::ModelTree(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg) : - DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg, - trend_component_model_table_arg, var_model_table_arg), + ExternalFunctionsTable &external_functions_table_arg) : + DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg), cutoff(1e-15), mfs(0) diff --git a/src/ModelTree.hh b/src/ModelTree.hh index 97594d661e45169bc9a40bfcab308ec6be488751..1ec338316887adcb691b1360ba1c9595042ca98f 100644 --- a/src/ModelTree.hh +++ b/src/ModelTree.hh @@ -323,9 +323,7 @@ protected: public: ModelTree(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg); + ExternalFunctionsTable &external_functions_table_arg); //! Absolute value under which a number is considered to be zero double cutoff; //! Compute the minimum feedback set diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index dcad3c39235d2084f5c711d1d5a72449fb281a4c..c6046e4bee11ede8f0ffc8eddbd169e83a104744 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -2136,9 +2136,7 @@ ParsingDriver::begin_planner_objective() { planner_objective_statement = make_unique<PlannerObjectiveStatement>(mod_file->symbol_table, mod_file->num_constants, - mod_file->external_functions_table, - mod_file->trend_component_model_table, - mod_file->var_model_table); + mod_file->external_functions_table); set_current_data_tree(&planner_objective_statement->getPlannerObjective()); } diff --git a/src/StaticModel.cc b/src/StaticModel.cc index c46f193f58310adc4578b7f2996371d5e3f322b1..4b339a5d4567661fa0ff8ab19017fafa3deaf445 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -31,11 +31,8 @@ StaticModel::StaticModel(SymbolTable &symbol_table_arg, NumericalConstants &num_constants_arg, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg) : - ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg, - trend_component_model_table_arg, var_model_table_arg), + ExternalFunctionsTable &external_functions_table_arg) : + ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg), global_temporary_terms(true) { } diff --git a/src/StaticModel.hh b/src/StaticModel.hh index 341b36e53e7d81991676cc27d87d675a11008e8c..e29d4b0373993526629349d07019ab18755b6a62 100644 --- a/src/StaticModel.hh +++ b/src/StaticModel.hh @@ -162,9 +162,7 @@ protected: public: StaticModel(SymbolTable &symbol_table_arg, NumericalConstants &num_constants, - ExternalFunctionsTable &external_functions_table_arg, - TrendComponentModelTable &trend_component_model_table_arg, - VarModelTable &var_model_table_arg); + ExternalFunctionsTable &external_functions_table_arg); //! Writes information on block decomposition when relevant void writeOutput(ostream &output, bool block) const;