diff --git a/src/CodeInterpreter.hh b/src/CodeInterpreter.hh index 7fdaace4afeb2aabb98ca70fd8d23e19b74873fe..68c1ed5d8abe6994bcdbd83852bcb3e673e3b7d6 100644 --- a/src/CodeInterpreter.hh +++ b/src/CodeInterpreter.hh @@ -1677,7 +1677,7 @@ public: }; #ifdef BYTE_CODE -typedef vector<pair<Tags, void * > > tags_liste_t; +typedef vector<pair<Tags, void * >> tags_liste_t; class CodeLoad { private: diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 5980658be5a39055008bb2961ca992e896397abc..73a3f158729300ee62ab0fc0546a0dd31af1b442 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -374,7 +374,7 @@ PacModelStatement::writeJsonOutput(ostream &output) const } void -PacModelStatement::getPacModelInfoForPacExpectation(pair<string, pair<string, pair<string, pair<int, map<string, int> > > > > &pac_model_info) const +PacModelStatement::getPacModelInfoForPacExpectation(pair<string, pair<string, pair<string, pair<int, map<string, int>>>>> &pac_model_info) const { int growth_symb_id = -1; if (!growth.empty()) @@ -395,8 +395,8 @@ VarModelStatement::VarModelStatement(SymbolList symbol_list_arg, void VarModelStatement::getVarModelInfo(string &var_model_name, - map<string, pair<SymbolList, int> > &var_model_info, - map<string, vector<string> > &var_model_eqtags) const + map<string, pair<SymbolList, int>> &var_model_info, + map<string, vector<string>> &var_model_eqtags) const { var_model_name = name; if (symbol_list.empty()) @@ -413,7 +413,7 @@ VarModelStatement::getVarModelInfo(string &var_model_name, void VarModelStatement::fillVarModelInfoFromEquations(vector<int> &eqnumber_arg, vector<int> &lhs_arg, - vector<set<pair<int, int> > > &rhs_arg, + vector<set<pair<int, int>>> &rhs_arg, vector<bool> &nonstationary_arg, vector<bool> &diff_arg, vector<int> &orig_diff_var_arg, @@ -524,7 +524,7 @@ VarModelStatement::writeOutput(ostream &output, const string &basename, bool min } void -VarModelStatement::createVarModelMFunction(ostream &output, const map<string, set<int> > &var_expectation_functions_to_write) const +VarModelStatement::createVarModelMFunction(ostream &output, const map<string, set<int>> &var_expectation_functions_to_write) const { if (var_expectation_functions_to_write.find(name) == var_expectation_functions_to_write.end()) return; @@ -571,12 +571,12 @@ VarEstimationStatement::writeOutput(ostream &output, const string &basename, boo } VarRestrictionsStatement::VarRestrictionsStatement(const string &var_model_name_arg, - const map<string, vector<string> > &var_map_arg, - map<int, map<int, SymbolList> > exclusion_restrictions_arg, + const map<string, vector<string>> &var_map_arg, + map<int, map<int, SymbolList>> exclusion_restrictions_arg, equation_restrictions_t equation_restrictions_arg, crossequation_restrictions_t crossequation_restrictions_arg, map<pair<int, int>, double> covariance_number_restriction_arg, - map<pair<int, int>, pair<int, int> > covariance_pair_restriction_arg, + map<pair<int, int>, pair<int, int>> covariance_pair_restriction_arg, const SymbolTable &symbol_table_arg) : var_model_name(var_model_name_arg), var_map(var_map_arg), @@ -1472,7 +1472,7 @@ EstimatedParamsStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo // Check that no parameter/endogenous is declared twice in the block set<string> already_declared; - set<pair<string, string> > already_declared_corr; + set<pair<string, string>> already_declared_corr; for (const auto & it : estim_params_list) { if (it.type == 3) // Correlation @@ -4950,7 +4950,7 @@ SMMEstimationStatement::writeJsonOutput(ostream &output) const GenerateIRFsStatement::GenerateIRFsStatement(OptionsList options_list_arg, vector<string> generate_irf_names_arg, - vector<map<string, double> > generate_irf_elements_arg) : + vector<map<string, double>> generate_irf_elements_arg) : options_list(move(options_list_arg)), generate_irf_names(move(generate_irf_names_arg)), generate_irf_elements(move(generate_irf_elements_arg)) diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index 554e0b5be6d4bacde2211b11dfde032a634ac2b2..d03f5a2ce00390580b4240abf483e028a87658a0 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -140,7 +140,7 @@ public: void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; void writeJsonOutput(ostream &output) const override; void fillUndiffedLHS(vector<int> &lhs); - void getPacModelInfoForPacExpectation(pair<string, pair<string, pair<string, pair<int, map<string, int> > > > > &pac_model_info) const; + void getPacModelInfoForPacExpectation(pair<string, pair<string, pair<string, pair<int, map<string, int>>>>> &pac_model_info) const; }; class VarModelStatement : public Statement @@ -151,7 +151,7 @@ private: const string &name; const SymbolTable &symbol_table; vector<int> eqnumber, lhs, orig_diff_var; - vector<set<pair<int, int> > > rhs_by_eq; // rhs by equation + vector<set<pair<int, int>>> rhs_by_eq; // rhs by equation vector<bool> nonstationary, diff; int max_lag; public: @@ -160,41 +160,41 @@ public: const string &name_arg, const SymbolTable &symbol_table_arg); void getVarModelInfo(string &var_model_name, - map<string, pair<SymbolList, int> > &var_model_info, - map<string, vector<string> > &var_model_eqtags) const; + map<string, pair<SymbolList, int>> &var_model_info, + map<string, vector<string>> &var_model_eqtags) const; void fillVarModelInfoFromEquations(vector<int> &eqnumber_arg, vector<int> &lhs_arg, - vector<set<pair<int, int> > > &rhs_arg, + vector<set<pair<int, int>>> &rhs_arg, vector<bool> &nonstationary_arg, vector<bool> &diff_arg, vector<int> &orig_diff_var_arg, int max_lag_arg); void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override; void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; - void createVarModelMFunction(ostream &output, const map<string, set<int> > &var_expectation_functions_to_write) const; + void createVarModelMFunction(ostream &output, const map<string, set<int>> &var_expectation_functions_to_write) const; }; class VarRestrictionsStatement : public Statement { private: - typedef pair<pair<int, pair<int, int> >, expr_t> var_restriction_eq_crosseq_t; + typedef pair<pair<int, pair<int, int>>, expr_t> var_restriction_eq_crosseq_t; const string &var_model_name; - const map<string, vector<string> > &var_map; - const map<int, map<int, SymbolList> > exclusion_restrictions; - typedef map<int, pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double> > equation_restrictions_t; + const map<string, vector<string>> &var_map; + const map<int, map<int, SymbolList>> exclusion_restrictions; + typedef map<int, pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double>> equation_restrictions_t; const equation_restrictions_t equation_restrictions; - typedef vector<pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double> > crossequation_restrictions_t; + typedef vector<pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double>> crossequation_restrictions_t; const crossequation_restrictions_t crossequation_restrictions; const map<pair<int, int>, double> covariance_number_restriction; - const map<pair<int, int>, pair<int, int> > covariance_pair_restriction; + const map<pair<int, int>, pair<int, int>> covariance_pair_restriction; const SymbolTable &symbol_table; int findIdxInVector(const vector<string> &vecvars, const string &var) const; public: VarRestrictionsStatement(const string &var_model_name_arg, - const map<string, vector<string> > &var_map_arg, - map<int, map<int, SymbolList> > exclusion_restrictions_arg, + const map<string, vector<string>> &var_map_arg, + map<int, map<int, SymbolList>> exclusion_restrictions_arg, equation_restrictions_t equation_restrictions_arg, crossequation_restrictions_t crossequation_restrictions_arg, map<pair<int, int>, double> covariance_number_restriction_arg, - map<pair<int, int>, pair<int, int> > covariance_pair_restriction_arg, + map<pair<int, int>, pair<int, int>> covariance_pair_restriction_arg, const SymbolTable &symbol_table_arg); void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; }; @@ -437,7 +437,7 @@ public: class ModelComparisonStatement : public Statement { public: - typedef vector<pair<string, string> > filename_list_t; + typedef vector<pair<string, string>> filename_list_t; private: filename_list_t filename_list; OptionsList options_list; @@ -820,7 +820,7 @@ public: class SvarIdentificationStatement : public Statement { public: - // typedef map<pair<int, int>, vector<int> > svar_identification_exclusion_t; + // typedef map<pair<int, int>, vector<int>> svar_identification_exclusion_t; struct svar_identification_restriction { int equation; @@ -906,7 +906,7 @@ class SubsamplesStatement : public Statement { public: //! Storage for declaring subsamples: map<subsample_name, <date1, date2 > - typedef map<string, pair<string, string> > subsample_declaration_map_t; + typedef map<string, pair<string, string>> subsample_declaration_map_t; private: const string name1; const string name2; @@ -1203,11 +1203,11 @@ public: private: const OptionsList options_list; const vector<string> generate_irf_names; - const vector<map<string, double> > generate_irf_elements; + const vector<map<string, double>> generate_irf_elements; public: GenerateIRFsStatement(OptionsList options_list_arg, vector<string> generate_irf_names_arg, - vector<map<string, double> > generate_irf_elements_arg); + vector<map<string, double>> generate_irf_elements_arg); void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; void writeJsonOutput(ostream &output) const override; }; diff --git a/src/ConfigFile.cc b/src/ConfigFile.cc index a70e8945855810babc8dec552a1d2009a37ee395..67262f8b41c2d7bb343fecb813945ceb3232e23b 100644 --- a/src/ConfigFile.cc +++ b/src/ConfigFile.cc @@ -367,10 +367,10 @@ ConfigFile::getConfigFileInfo(const string &config_file) else if (!tokenizedLine.front().compare("Members")) { char_separator<char> sep(" ,;", "()", drop_empty_tokens); - tokenizer<char_separator<char> > tokens(tokenizedLine.back(), sep); + tokenizer<char_separator<char>> tokens(tokenizedLine.back(), sep); bool begin_weight = false; string node_name; - for (tokenizer<char_separator<char> >::iterator it = tokens.begin(); + for (tokenizer<char_separator<char>>::iterator it = tokens.begin(); it != tokens.end(); it++) { string token(*it); @@ -683,8 +683,8 @@ ConfigFile::getIncludePaths() const vector<string> include_paths; for (auto path : paths) { - map <string, vector<string> > pathmap = path->get_paths(); - for (map <string, vector<string> >::const_iterator mapit = pathmap.begin(); mapit != pathmap.end(); mapit++) + map <string, vector<string>> pathmap = path->get_paths(); + for (map <string, vector<string>>::const_iterator mapit = pathmap.begin(); mapit != pathmap.end(); mapit++) for (const auto & vecit : mapit->second) include_paths.push_back(vecit); } diff --git a/src/ConfigFile.hh b/src/ConfigFile.hh index 6a5852180399d3afc49ff582ff1379b330a3acd1..4fc2fa7c7e6db34641d564a81bed67e7257262ca 100644 --- a/src/ConfigFile.hh +++ b/src/ConfigFile.hh @@ -50,9 +50,9 @@ public: Path(vector<string> &includepath_arg); ~Path(); private: - map<string, vector<string> > paths; + map<string, vector<string>> paths; public: - inline map<string, vector<string> > + inline map<string, vector<string>> get_paths() { return paths; diff --git a/src/DataTree.hh b/src/DataTree.hh index c1ab2bb99bdb629b3accbfbf9ec02b0d3c7006d1..26e3777d113606db59c1ba5022762045c2ce9639 100644 --- a/src/DataTree.hh +++ b/src/DataTree.hh @@ -66,7 +66,7 @@ protected: variable_node_map_t variable_node_map; //! Pair( Pair(arg1, UnaryOpCode), Pair( Expectation Info Set, Pair(param1_symb_id, param2_symb_id)) )) - typedef map<pair<pair<expr_t, UnaryOpcode>, pair<pair<int, pair<int, int> >, pair<string, vector<int> > > >, UnaryOpNode *> unary_op_node_map_t; + typedef map<pair<pair<expr_t, UnaryOpcode>, pair<pair<int, pair<int, int>>, pair<string, vector<int>>>>, UnaryOpNode *> unary_op_node_map_t; unary_op_node_map_t unary_op_node_map; //! Pair( Pair( Pair(arg1, arg2), order of Power Derivative), opCode) typedef map<pair<pair<pair<expr_t, expr_t>, int>, BinaryOpcode>, BinaryOpNode *> binary_op_node_map_t; @@ -79,7 +79,7 @@ protected: external_function_node_map_t external_function_node_map; // (model_name, (symb_id, forecast_horizon)) -> VarExpectationNode - typedef map<pair<string, pair<int, int> >, VarExpectationNode *> var_expectation_node_map_t; + typedef map<pair<string, pair<int, int>>, VarExpectationNode *> var_expectation_node_map_t; var_expectation_node_map_t var_expectation_node_map; // model_name -> PacExpectationNode @@ -91,7 +91,7 @@ protected: first_deriv_external_function_node_map_t first_deriv_external_function_node_map; // ((arguments, (deriv_idx1, deriv_idx2)), symb_id) -> SecondDerivExternalFunctionNode - typedef map<pair<pair<vector<expr_t>, pair<int, int> >, int>, SecondDerivExternalFunctionNode *> second_deriv_external_function_node_map_t; + typedef map<pair<pair<vector<expr_t>, pair<int, int>>, int>, SecondDerivExternalFunctionNode *> second_deriv_external_function_node_map_t; second_deriv_external_function_node_map_t second_deriv_external_function_node_map; //! Stores local variables value (maps symbol ID to corresponding node) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index b4ea1895282bf66093c732e2d5be1deedcc7d0c7..38427985f24d97c3df565260d4808d13d705fb9a 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -88,7 +88,7 @@ DynamicModel::compileChainRuleDerivative(ofstream &code_file, unsigned int &inst void DynamicModel::computeTemporaryTermsOrdered() { - map<expr_t, pair<int, int> > first_occurence; + map<expr_t, pair<int, int>> first_occurence; map<expr_t, int> reference_count; BinaryOpNode *eq_node; first_derivatives_t::const_iterator it; @@ -98,7 +98,7 @@ DynamicModel::computeTemporaryTermsOrdered() map_idx.clear(); unsigned int nb_blocks = getNbBlocks(); - v_temporary_terms = vector<vector<temporary_terms_t> >(nb_blocks); + v_temporary_terms = vector<vector<temporary_terms_t>>(nb_blocks); v_temporary_terms_inuse = vector<temporary_terms_inuse_t>(nb_blocks); temporary_terms.clear(); @@ -254,13 +254,13 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const int prev_lag; unsigned int prev_var, count_col, count_col_endo, count_col_exo, count_col_exo_det, count_col_other_endo; - map<pair<int, pair<int, int> >, expr_t> tmp_block_endo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_block_endo_derivative; for (auto it = blocks_derivatives[block].begin(); it != (blocks_derivatives[block]).end(); it++) tmp_block_endo_derivative[make_pair(it->second.first, make_pair(it->first.second, it->first.first))] = it->second.second; prev_var = 999999999; prev_lag = -9999999; count_col_endo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -271,13 +271,13 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const count_col_endo++; } } - map<pair<int, pair<int, int> >, expr_t> tmp_block_exo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_block_exo_derivative; for (auto it = derivative_exo[block].begin(); it != (derivative_exo[block]).end(); it++) tmp_block_exo_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; prev_var = 999999999; prev_lag = -9999999; count_col_exo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -288,13 +288,13 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const count_col_exo++; } } - map<pair<int, pair<int, int> >, expr_t> tmp_block_exo_det_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_block_exo_det_derivative; for (auto it = derivative_exo_det[block].begin(); it != (derivative_exo_det[block]).end(); it++) tmp_block_exo_det_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; prev_var = 999999999; prev_lag = -9999999; count_col_exo_det = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -305,13 +305,13 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const count_col_exo_det++; } } - map<pair<int, pair<int, int> >, expr_t> tmp_block_other_endo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_block_other_endo_derivative; for (auto it = derivative_other_endo[block].begin(); it != (derivative_other_endo[block]).end(); it++) tmp_block_other_endo_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; prev_var = 999999999; prev_lag = -9999999; count_col_other_endo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_other_endo_derivative.begin(); it != tmp_block_other_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_other_endo_derivative.begin(); it != tmp_block_other_endo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -564,7 +564,7 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const prev_var = 999999999; prev_lag = -9999999; count_col = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -590,7 +590,7 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const prev_var = 999999999; prev_lag = -9999999; count_col = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_exo_derivative.begin(); it != tmp_block_exo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -613,7 +613,7 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const prev_var = 999999999; prev_lag = -9999999; count_col = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_exo_det_derivative.begin(); it != tmp_block_exo_det_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_exo_det_derivative.begin(); it != tmp_block_exo_det_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -636,7 +636,7 @@ DynamicModel::writeModelEquationsOrdered_M(const string &dynamic_basename) const prev_var = 999999999; prev_lag = -9999999; count_col = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_other_endo_derivative.begin(); it != tmp_block_other_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_other_endo_derivative.begin(); it != tmp_block_other_endo_derivative.end(); it++) { int lag = it->first.first; unsigned int var = it->first.second.first; @@ -830,8 +830,8 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen for (int i = 0; i < symbol_table.exo_nbr(); i++) exo.push_back(i); - map<pair< int, pair<int, int> >, expr_t> first_derivatives_reordered_endo; - map<pair< pair<int, int>, pair<int, int> >, expr_t> first_derivatives_reordered_exo; + map<pair< int, pair<int, int>>, expr_t> first_derivatives_reordered_endo; + map<pair< pair<int, int>, pair<int, int>>, expr_t> first_derivatives_reordered_exo; for (const auto & first_derivative : first_derivatives) { int deriv_id = first_derivative.first.second; @@ -847,7 +847,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen int prev_var = -1; int prev_lag = -999999999; int count_col_endo = 0; - for (map<pair< int, pair<int, int> >, expr_t>::const_iterator it = first_derivatives_reordered_endo.begin(); + for (map<pair< int, pair<int, int>>, expr_t>::const_iterator it = first_derivatives_reordered_endo.begin(); it != first_derivatives_reordered_endo.end(); it++) { int var = it->first.second.first; @@ -865,7 +865,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen int count_col_exo = 0; int count_col_det_exo = 0; - for (map<pair< pair<int, int>, pair<int, int> >, expr_t>::const_iterator it = first_derivatives_reordered_exo.begin(); + for (map<pair< pair<int, int>, pair<int, int>>, expr_t>::const_iterator it = first_derivatives_reordered_exo.begin(); it != first_derivatives_reordered_exo.end(); it++) { int var = it->first.second.first; @@ -920,7 +920,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen fjmp_if_eval.write(code_file, instruction_number); int prev_instruction_number = instruction_number; - vector<vector<pair<pair<int, int>, int > > > derivatives; + vector<vector<pair<pair<int, int>, int >>> derivatives; derivatives.resize(symbol_table.endo_nbr()); count_u = symbol_table.endo_nbr(); for (const auto & first_derivative : first_derivatives) @@ -951,7 +951,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen fldr.write(code_file, instruction_number); if (derivatives[i].size()) { - for (vector<pair<pair<int, int>, int> >::const_iterator it = derivatives[i].begin(); + for (vector<pair<pair<int, int>, int>>::const_iterator it = derivatives[i].begin(); it != derivatives[i].end(); it++) { FLDU_ fldu(it->second); @@ -989,7 +989,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen prev_var = -1; prev_lag = -999999999; count_col_endo = 0; - for (map<pair< int, pair<int, int> >, expr_t>::const_iterator it = first_derivatives_reordered_endo.begin(); + for (map<pair< int, pair<int, int>>, expr_t>::const_iterator it = first_derivatives_reordered_endo.begin(); it != first_derivatives_reordered_endo.end(); it++) { unsigned int eq = it->first.second.second; @@ -1011,7 +1011,7 @@ DynamicModel::writeModelEquationsCode(string &file_name, const string &bin_basen prev_var = -1; prev_lag = -999999999; count_col_exo = 0; - for (map<pair< pair<int, int>, pair<int, int> >, expr_t>::const_iterator it = first_derivatives_reordered_exo.begin(); + for (map<pair< pair<int, int>, pair<int, int>>, expr_t>::const_iterator it = first_derivatives_reordered_exo.begin(); it != first_derivatives_reordered_exo.end(); it++) { unsigned int eq = it->first.second.second; @@ -1108,22 +1108,22 @@ DynamicModel::writeModelEquationsCode_Block(string &file_name, const string &bin simulation_type == SOLVE_TWO_BOUNDARIES_COMPLETE || simulation_type == SOLVE_TWO_BOUNDARIES_SIMPLE); file_open = true; } - map<pair<int, pair<int, int> >, expr_t> tmp_block_endo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_block_endo_derivative; for (auto it = blocks_derivatives[block].begin(); it != (blocks_derivatives[block]).end(); it++) tmp_block_endo_derivative[make_pair(it->second.first, make_pair(it->first.second, it->first.first))] = it->second.second; - map<pair<int, pair<int, int> >, expr_t> tmp_exo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_exo_derivative; for (auto it = derivative_exo[block].begin(); it != (derivative_exo[block]).end(); it++) tmp_exo_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; - map<pair<int, pair<int, int> >, expr_t> tmp_exo_det_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_exo_det_derivative; for (auto it = derivative_exo_det[block].begin(); it != (derivative_exo_det[block]).end(); it++) tmp_exo_det_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; - map<pair<int, pair<int, int> >, expr_t> tmp_other_endo_derivative; + map<pair<int, pair<int, int>>, expr_t> tmp_other_endo_derivative; for (auto it = derivative_other_endo[block].begin(); it != (derivative_other_endo[block]).end(); it++) tmp_other_endo_derivative[make_pair(it->first.first, make_pair(it->first.second.second, it->first.second.first))] = it->second; int prev_var = -1; int prev_lag = -999999999; int count_col_endo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) { int lag = it->first.first; int var = it->first.second.first; @@ -1408,7 +1408,7 @@ DynamicModel::writeModelEquationsCode_Block(string &file_name, const string &bin prev_var = -1; prev_lag = -999999999; count_col_endo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_block_endo_derivative.begin(); it != tmp_block_endo_derivative.end(); it++) { int lag = it->first.first; unsigned int eq = it->first.second.second; @@ -1430,7 +1430,7 @@ DynamicModel::writeModelEquationsCode_Block(string &file_name, const string &bin prev_var = -1; prev_lag = -999999999; count_col_exo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_exo_derivative.begin(); it != tmp_exo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_exo_derivative.begin(); it != tmp_exo_derivative.end(); it++) { int lag = it->first.first; int eq = it->first.second.second; @@ -1454,7 +1454,7 @@ DynamicModel::writeModelEquationsCode_Block(string &file_name, const string &bin prev_var = -1; prev_lag = -999999999; int count_col_exo_det = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_exo_det_derivative.begin(); it != tmp_exo_det_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_exo_det_derivative.begin(); it != tmp_exo_det_derivative.end(); it++) { int lag = it->first.first; int eq = it->first.second.second; @@ -1478,7 +1478,7 @@ DynamicModel::writeModelEquationsCode_Block(string &file_name, const string &bin prev_var = -1; prev_lag = -999999999; count_col_other_endo = 0; - for (map<pair<int, pair<int, int> >, expr_t>::const_iterator it = tmp_other_endo_derivative.begin(); it != tmp_other_endo_derivative.end(); it++) + for (map<pair<int, pair<int, int>>, expr_t>::const_iterator it = tmp_other_endo_derivative.begin(); it != tmp_other_endo_derivative.end(); it++) { int lag = it->first.first; int eq = it->first.second.second; @@ -1528,7 +1528,7 @@ DynamicModel::fillVarExpectationFunctionsToWrite() var_expectation_functions_to_write[it->first.first].insert(it->first.second.second); } -map<string, set<int> > +map<string, set<int>> DynamicModel::getVarExpectationFunctionsToWrite() const { return var_expectation_functions_to_write; @@ -3233,7 +3233,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de for (vector<int>::const_iterator it = state_var.begin(); it != state_var.end(); it++) state_equ.push_back(equation_reordered[variable_inv_reordered[*it - 1]]+1); - map<pair< int, pair<int, int> >, int> lag_row_incidence; + map<pair< int, pair<int, int>>, int> lag_row_incidence; for (const auto & first_derivative : first_derivatives) { int deriv_id = first_derivative.first.second; @@ -3247,7 +3247,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de } } int prev_lag = -1000000; - for (map<pair< int, pair<int, int> >, int>::const_iterator it = lag_row_incidence.begin(); it != lag_row_incidence.end(); it++) + for (map<pair< int, pair<int, int>>, int>::const_iterator it = lag_row_incidence.begin(); it != lag_row_incidence.end(); it++) { if (prev_lag != it->first.first) { @@ -3296,7 +3296,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de } if (block == 0) { - set<pair<int, int> > row_state_var_incidence; + set<pair<int, int>> row_state_var_incidence; for (auto it = blocks_derivatives[block].begin(); it != (blocks_derivatives[block]).end(); it++) { vector<int>::const_iterator it_state_var = find(state_var.begin(), state_var.end(), getBlockVariableID(block, it->first.second)+1); @@ -3334,7 +3334,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de } } - set<pair<int, int> > col_state_var_incidence; + set<pair<int, int>> col_state_var_incidence; for (const auto & row_state_var_incidence_it : row_state_var_incidence) col_state_var_incidence.insert(make_pair(row_state_var_incidence_it.second, row_state_var_incidence_it.first)); auto col_state_var_incidence_it = col_state_var_incidence.begin(); @@ -3366,7 +3366,7 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de output << modstruct << "n_diag = " << nb_diag << ";" << endl; KF_index_file.write(reinterpret_cast<char *>(&nb_diag), sizeof(nb_diag)); - typedef pair<int, pair<int, int > > index_KF; + typedef pair<int, pair<int, int >> index_KF; vector<index_KF> v_index_KF; for (int i = 0; i < n; i++) //int i = 0; @@ -3463,10 +3463,10 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de it->ExprNode::writeOutput(output, oMatlabDynamicModel); } -map<pair<int, pair<int, int > >, expr_t> +map<pair<int, pair<int, int >>, expr_t> DynamicModel::collect_first_order_derivatives_endogenous() { - map<pair<int, pair<int, int > >, expr_t> endo_derivatives; + map<pair<int, pair<int, int >>, expr_t> endo_derivatives; for (auto & first_derivative : first_derivatives) { if (getTypeByDerivID(first_derivative.first.second) == eEndogenous) @@ -3492,14 +3492,14 @@ DynamicModel::getVarModelVariablesFromEqTags(vector<string> &var_model_eqtags, vector<int> &eqnumber, vector<int> &lhs, vector<expr_t> &lhs_expr_t, - vector<set<pair<int, int> > > &rhs, + vector<set<pair<int, int>>> &rhs, vector<bool> &nonstationary) const { for (vector<string>::const_iterator itvareqs = var_model_eqtags.begin(); itvareqs != var_model_eqtags.end(); itvareqs++) { int eqn = -1; - set<pair<int, int> > lhs_set, lhs_tmp_set, rhs_set; + set<pair<int, int>> lhs_set, lhs_tmp_set, rhs_set; string eqtag (*itvareqs); for (const auto & equation_tag : equation_tags) if (equation_tag.second.first == "name" @@ -3619,7 +3619,7 @@ DynamicModel::getVarLhsDiffAndInfo(vector<int> &eqnumber, vector<bool> &diff, equations[*it]->get_arg1()->countDiffs() > 0 ? diff.push_back(true) : diff.push_back(false); if (diff.back()) { - set<pair<int, int> > diff_set; + set<pair<int, int>> diff_set; equations[*it]->get_arg1()->collectDynamicVariables(eEndogenous, diff_set); if (diff_set.size() != 1) @@ -3635,18 +3635,18 @@ DynamicModel::getVarLhsDiffAndInfo(vector<int> &eqnumber, vector<bool> &diff, } void -DynamicModel::setVarExpectationIndices(map<string, pair<SymbolList, int> > &var_model_info) +DynamicModel::setVarExpectationIndices(map<string, pair<SymbolList, int>> &var_model_info) { for (auto & equation : equations) equation->setVarExpectationIndex(var_model_info); } void -DynamicModel::addEquationsForVar(map<string, pair<SymbolList, int> > &var_model_info) +DynamicModel::addEquationsForVar(map<string, pair<SymbolList, int>> &var_model_info) { // List of endogenous variables and the minimum lag value that must exist in the model equations map<string, int> var_endos_and_lags, model_endos_and_lags; - for (map<string, pair<SymbolList, int> >::const_iterator it = var_model_info.begin(); + for (map<string, pair<SymbolList, int>>::const_iterator it = var_model_info.begin(); it != var_model_info.end(); it++) for (auto & equation : equations) if (equation->isVarModelReferenced(it->first)) @@ -3705,7 +3705,7 @@ DynamicModel::getUndiffLHSForPac(vector<int> &lhs, vector<expr_t> &lhs_expr_t, v { int eqn = -1; string eqtag (it->first); - for (vector<pair<int, pair<string, string> > >::const_iterator iteqtag = + for (vector<pair<int, pair<string, string>>>::const_iterator iteqtag = equation_tags.begin(); iteqtag != equation_tags.end(); iteqtag++) if (iteqtag->second.first == "name" && iteqtag->second.second == eqtag) @@ -3808,8 +3808,8 @@ DynamicModel::walkPacParameters() { bool pac_encountered = false; pair<int, int> lhs (-1, -1); - set<pair<int, pair<int, int> > > params_and_vars; - set<pair<int, pair<int, int> > > ecm_params_and_vars; + set<pair<int, pair<int, int>>> params_and_vars; + set<pair<int, pair<int, int>>> ecm_params_and_vars; equation->walkPacParameters(pac_encountered, lhs, ecm_params_and_vars, params_and_vars); if (pac_encountered) equation->addParamInfoToPac(lhs, ecm_params_and_vars, params_and_vars); @@ -3907,7 +3907,7 @@ DynamicModel::computingPass(bool jacobianExo, bool hessian, bool thirdDerivative jacob_map_t contemporaneous_jacobian, static_jacobian; // for each block contains pair<Size, Feddback_variable> - vector<pair<int, int> > blocks; + vector<pair<int, int>> blocks; evaluateAndReduceJacobian(eval_context, contemporaneous_jacobian, static_jacobian, dynamic_jacobian, cutoff, false); @@ -3915,7 +3915,7 @@ DynamicModel::computingPass(bool jacobianExo, bool hessian, bool thirdDerivative computePrologueAndEpilogue(static_jacobian, equation_reordered, variable_reordered); - map<pair<int, pair<int, int> >, expr_t> first_order_endo_derivatives = collect_first_order_derivatives_endogenous(); + map<pair<int, pair<int, int>>, expr_t> first_order_endo_derivatives = collect_first_order_derivatives_endogenous(); equation_type_and_normalized_equation = equationTypeDetermination(first_order_endo_derivatives, variable_reordered, equation_reordered, mfs); @@ -3943,7 +3943,7 @@ DynamicModel::computingPass(bool jacobianExo, bool hessian, bool thirdDerivative computeTemporaryTermsOrdered(); int k = 0; equation_block = vector<int>(equations.size()); - variable_block_lead_lag = vector< pair< int, pair< int, int> > >(equations.size()); + variable_block_lead_lag = vector< pair< int, pair< int, int>>>(equations.size()); for (unsigned int i = 0; i < getNbBlocks(); i++) { for (unsigned int j = 0; j < getBlockSize(i); j++) @@ -3987,7 +3987,7 @@ DynamicModel::computeXrefs() } void -DynamicModel::computeRevXref(map<pair<int, int>, set<int> > &xrefset, const set<pair<int, int> > &eiref, int eqn) +DynamicModel::computeRevXref(map<pair<int, int>, set<int>> &xrefset, const set<pair<int, int>> &eiref, int eqn) { for (const auto & it : eiref) { @@ -4042,7 +4042,7 @@ DynamicModel::writeXrefs(ostream &output) const } void -DynamicModel::writeRevXrefs(ostream &output, const map<pair<int, int>, set<int> > &xrefmap, const string &type) const +DynamicModel::writeRevXrefs(ostream &output, const map<pair<int, int>, set<int>> &xrefmap, const string &type) const { int last_tsid = -1; for (const auto & it : xrefmap) @@ -4064,11 +4064,11 @@ DynamicModel::writeRevXrefs(ostream &output, const map<pair<int, int>, set<int> } } -map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> +map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> DynamicModel::get_Derivatives(int block) { int max_lag, max_lead; - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> Derivatives; + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> Derivatives; Derivatives.clear(); BlockSimulationType simulation_type = getBlockSimulationType(block); if (simulation_type == EVALUATE_BACKWARD || simulation_type == EVALUATE_FORWARD) @@ -4095,7 +4095,7 @@ DynamicModel::get_Derivatives(int block) if (dynamic_jacobian.find(make_pair(lag, make_pair(eqr, varr))) != dynamic_jacobian.end()) { bool OK = true; - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int>::const_iterator its = Derivatives.find(make_pair(make_pair(lag, make_pair(eq, var)), make_pair(eqr, varr))); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int>::const_iterator its = Derivatives.find(make_pair(make_pair(lag, make_pair(eq, var)), make_pair(eqr, varr))); if (its != Derivatives.end()) { if (its->second == 2) @@ -4150,12 +4150,12 @@ DynamicModel::computeChainRuleJacobian(blocks_derivatives_t &blocks_endo_derivat else recursive_variables[getDerivID(symbol_table.getID(eEndogenous, getBlockVariableID(block, i)), 0)] = getBlockEquationExpr(block, i); } - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> Derivatives = get_Derivatives(block); - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int>::const_iterator it = Derivatives.begin(); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> Derivatives = get_Derivatives(block); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int>::const_iterator it = Derivatives.begin(); for (int i = 0; i < (int) Derivatives.size(); i++) { int Deriv_type = it->second; - pair<pair<int, pair<int, int> >, pair<int, int> > it_l(it->first); + pair<pair<int, pair<int, int>>, pair<int, int>> it_l(it->first); it++; int lag = it_l.first.first; int eq = it_l.first.second.first; @@ -4203,11 +4203,11 @@ DynamicModel::collect_block_first_order_derivatives() derivative_other_endo = vector<derivative_t>(nb_blocks); derivative_exo = vector<derivative_t>(nb_blocks); derivative_exo_det = vector<derivative_t>(nb_blocks); - endo_max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); - other_endo_max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); - exo_max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); - exo_det_max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); - max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); + endo_max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); + other_endo_max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); + exo_max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); + exo_det_max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); + max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); for (auto & first_derivative : first_derivatives) { int eq = first_derivative.first.first; @@ -4239,7 +4239,7 @@ DynamicModel::collect_block_first_order_derivatives() other_endo_max_leadlag_block[block_eq] = make_pair(other_endo_max_leadlag_block[block_eq].first, lag); tmp_derivative = derivative_other_endo[block_eq]; { - map< int, map<int, int> >::const_iterator it = block_other_endo_index.find(block_eq); + map< int, map<int, int>>::const_iterator it = block_other_endo_index.find(block_eq); if (it == block_other_endo_index.end()) block_other_endo_index[block_eq][var] = 0; else @@ -4268,7 +4268,7 @@ DynamicModel::collect_block_first_order_derivatives() exo_max_leadlag_block[block_eq] = make_pair(exo_max_leadlag_block[block_eq].first, lag); tmp_derivative = derivative_exo[block_eq]; { - map< int, map<int, int> >::const_iterator it = block_exo_index.find(block_eq); + map< int, map<int, int>>::const_iterator it = block_exo_index.find(block_eq); if (it == block_exo_index.end()) block_exo_index[block_eq][var] = 0; else @@ -4296,7 +4296,7 @@ DynamicModel::collect_block_first_order_derivatives() exo_det_max_leadlag_block[block_eq] = make_pair(exo_det_max_leadlag_block[block_eq].first, lag); tmp_derivative = derivative_exo_det[block_eq]; { - map< int, map<int, int> >::const_iterator it = block_det_exo_index.find(block_eq); + map< int, map<int, int>>::const_iterator it = block_det_exo_index.find(block_eq); if (it == block_det_exo_index.end()) block_det_exo_index[block_eq][var] = 0; else @@ -4469,7 +4469,7 @@ DynamicModel::cloneDynamic(DynamicModel &dynamic_model) const // Convert equations for (size_t i = 0; i < equations.size(); i++) { - vector<pair<string, string> > eq_tags; + vector<pair<string, string>> eq_tags; for (const auto & equation_tag : equation_tags) if (equation_tag.first == (int)i) eq_tags.push_back(equation_tag.second); @@ -4518,7 +4518,7 @@ DynamicModel::computeRamseyPolicyFOCs(const StaticModel &static_model, const boo addEquation(static_model.equations[0]->cloneDynamic(*this), static_model.equations_lineno[0]); // Get max endo lead and max endo lag - set<pair<int, int> > dynvars; + set<pair<int, int>> dynvars; int max_eq_lead = 0; int max_eq_lag = 0; for (auto & equation : equations) @@ -4593,7 +4593,7 @@ DynamicModel::toStatic(StaticModel &static_model) const { // Detect if equation is marked [dynamic] bool is_dynamic_only = false; - vector<pair<string, string> > eq_tags; + vector<pair<string, string>> eq_tags; for (const auto & equation_tag : equation_tags) if (equation_tag.first == i) { @@ -4664,7 +4664,7 @@ DynamicModel::findUnusedExogenous() void DynamicModel::setLeadsLagsOrig() { - set<pair<int, int> > dynvars; + set<pair<int, int>> dynvars; for (auto & equation : equations) { @@ -4712,7 +4712,7 @@ DynamicModel::setLeadsLagsOrig() void DynamicModel::computeDerivIDs() { - set<pair<int, int> > dynvars; + set<pair<int, int>> dynvars; for (auto & equation : equations) equation->collectDynamicVariables(eEndogenous, dynvars); @@ -5601,12 +5601,12 @@ DynamicModel::isModelLocalVariableUsed() const } void -DynamicModel::addStaticOnlyEquation(expr_t eq, int lineno, const vector<pair<string, string> > &eq_tags) +DynamicModel::addStaticOnlyEquation(expr_t eq, int lineno, const vector<pair<string, string>> &eq_tags) { auto *beq = dynamic_cast<BinaryOpNode *>(eq); assert(beq != nullptr && beq->get_op_code() == oEqual); - vector<pair<string, string> > soe_eq_tags; + vector<pair<string, string>> soe_eq_tags; for (const auto & eq_tag : eq_tags) soe_eq_tags.push_back(eq_tag); @@ -6341,7 +6341,7 @@ DynamicModel::writeJsonOutput(ostream &output) const } void -DynamicModel::writeJsonXrefsHelper(ostream &output, const map<pair<int, int>, set<int> > &xrefs) const +DynamicModel::writeJsonXrefsHelper(ostream &output, const map<pair<int, int>, set<int>> &xrefs) const { for (auto it = xrefs.begin(); it != xrefs.end(); it++) diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh index 32f28c9dbae41443f85e69bc94afd9983818991f..8be5de7876a5c79c28c69c47af1ac7a7e2dd13da 100644 --- a/src/DynamicModel.hh +++ b/src/DynamicModel.hh @@ -40,13 +40,13 @@ private: vector<int> static_only_equations_lineno; //! Stores the equation tags of equations declared as [static] - vector<vector<pair<string, string> > > static_only_equations_equation_tags; + vector<vector<pair<string, string>>> static_only_equations_equation_tags; typedef map<pair<int, int>, int> deriv_id_table_t; //! Maps a pair (symbol_id, lag) to a deriv ID deriv_id_table_t deriv_id_table; //! Maps a deriv ID to a pair (symbol_id, lag) - vector<pair<int, int> > inv_deriv_id_table; + vector<pair<int, int>> inv_deriv_id_table; //! Maps a deriv_id to the column index of the dynamic Jacobian /*! Contains only endogenous, exogenous and exogenous deterministic */ @@ -75,10 +75,10 @@ private: //! Cross reference information map<int, ExprNode::EquationInfo> xrefs; - map<pair<int, int>, set<int> > xref_param; - map<pair<int, int>, set<int> > xref_endo; - map<pair<int, int>, set<int> > xref_exo; - map<pair<int, int>, set<int> > xref_exo_det; + map<pair<int, int>, set<int>> xref_param; + map<pair<int, int>, set<int>> xref_endo; + map<pair<int, int>, set<int>> xref_exo; + map<pair<int, int>, set<int>> xref_exo_det; //! Nonzero equations in the Hessian map<int, string> nonzero_hessian_eqs; @@ -87,12 +87,12 @@ private: /*! Set by computeDerivID()s and computeDynJacobianCols() */ int dynJacobianColsNbr; //! Temporary terms for block decomposed models - vector< vector<temporary_terms_t> > v_temporary_terms; + vector< vector<temporary_terms_t>> v_temporary_terms; vector<temporary_terms_inuse_t> v_temporary_terms_inuse; //! Store the derivatives or the chainrule derivatives:map<pair< equation, pair< variable, lead_lag >, expr_t> - typedef map< pair< int, pair< int, int> >, expr_t> first_chain_rule_derivatives_t; + typedef map< pair< int, pair< int, int>>, expr_t> first_chain_rule_derivatives_t; first_chain_rule_derivatives_t first_chain_rule_derivatives; //! Writes dynamic model file (Matlab version) @@ -129,7 +129,7 @@ private: //void evaluateJacobian(const eval_context_t &eval_context, jacob_map *j_m, bool dynamic); //! return a map on the block jacobian - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> get_Derivatives(int block); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> get_Derivatives(int block); //! Computes chain rule derivatives of the Jacobian w.r. to endogenous variables void computeChainRuleJacobian(blocks_derivatives_t &blocks_derivatives); @@ -157,7 +157,7 @@ private: //! Computes derivatives of the Jacobian w.r. to trend vars and tests that they are equal to zero void testTrendDerivativesEqualToZero(const eval_context_t &eval_context); //! Collect only the first derivatives - map<pair<int, pair<int, int> >, expr_t> collect_first_order_derivatives_endogenous(); + map<pair<int, pair<int, int>>, expr_t> collect_first_order_derivatives_endogenous(); //! Allocates the derivation IDs for all dynamic variables of the model /*! Also computes max_{endo,exo}_{lead_lag}, and initializes dynJacobianColsNbr to the number of dynamic endos */ @@ -183,7 +183,7 @@ private: //! Vector describing equations: BlockSimulationType, if BlockSimulationType == EVALUATE_s then a expr_t on the new normalized equation equation_type_and_normalized_equation_t equation_type_and_normalized_equation; - //! for each block contains pair< Simulation_Type, pair < Block_Size, Recursive_part_Size > > + //! for each block contains pair< Simulation_Type, pair < Block_Size, Recursive_part_Size >> block_type_firstequation_size_mfs_t block_type_firstequation_size_mfs; //! for all blocks derivatives description @@ -196,7 +196,7 @@ private: vector<bool> blocks_linear; //! Map the derivatives for a block pair<lag, make_pair(make_pair(eq, var)), expr_t> - typedef map<pair< int, pair<int, int> >, expr_t> derivative_t; + typedef map<pair< int, pair<int, int>>, expr_t> derivative_t; //! Vector of derivative for each blocks vector<derivative_t> derivative_endo, derivative_other_endo, derivative_exo, derivative_exo_det; @@ -206,33 +206,33 @@ private: vector<lag_var_t> other_endo_block, exo_block, exo_det_block; //!List for each block the exogenous variables - vector<pair<var_t, int> > block_var_exo; + vector<pair<var_t, int>> block_var_exo; - map< int, map<int, int> > block_exo_index, block_det_exo_index, block_other_endo_index; + map< int, map<int, int>> block_exo_index, block_det_exo_index, block_other_endo_index; //! for each block described the number of static, forward, backward and mixed variables in the block - /*! pair< pair<static, forward>, pair<backward,mixed> > */ - vector<pair< pair<int, int>, pair<int, int> > > block_col_type; + /*! pair< pair<static, forward>, pair<backward,mixed>> */ + vector<pair< pair<int, int>, pair<int, int>>> block_col_type; //! Help computeXrefs to compute the reverse references (i.e. param->eqs, endo->eqs, etc) - void computeRevXref(map<pair<int, int>, set<int> > &xrefset, const set<pair<int, int> > &eiref, int eqn); + void computeRevXref(map<pair<int, int>, set<int>> &xrefset, const set<pair<int, int>> &eiref, int eqn); //! Write reverse cross references - void writeRevXrefs(ostream &output, const map<pair<int, int>, set<int> > &xrefmap, const string &type) const; + void writeRevXrefs(ostream &output, const map<pair<int, int>, set<int>> &xrefmap, const string &type) const; //! List for each variable its block number and its maximum lag and lead inside the block - vector<pair<int, pair<int, int> > > variable_block_lead_lag; + vector<pair<int, pair<int, int>>> variable_block_lead_lag; //! List for each equation its block number vector<int> equation_block; //! Used for var_expectation and var_model - map<string, set<int> > var_expectation_functions_to_write; + map<string, set<int>> var_expectation_functions_to_write; //! Used for pac_expectation operator set<const PacExpectationNode *> pac_expectation_info; // PacExpectationNode pointers //!Maximum lead and lag for each block on endogenous of the block, endogenous of the previous blocks, exogenous and deterministic exogenous - vector<pair<int, int> > endo_max_leadlag_block, other_endo_max_leadlag_block, exo_max_leadlag_block, exo_det_max_leadlag_block, max_leadlag_block; + vector<pair<int, int>> endo_max_leadlag_block, other_endo_max_leadlag_block, exo_max_leadlag_block, exo_det_max_leadlag_block, max_leadlag_block; void writeWrapperFunctions(const string &name, const string &ending) const; void writeDynamicModelHelper(const string &name, const string &retvalname, @@ -288,7 +288,7 @@ public: //! Write cross reference output if the xref maps have been filed void writeJsonXrefs(ostream &output) const; - void writeJsonXrefsHelper(ostream &output, const map<pair<int, int>, set<int> > &xrefs) const; + void writeJsonXrefsHelper(ostream &output, const map<pair<int, int>, set<int>> &xrefs) const; //! Print equations that have non-zero second derivatives void printNonZeroHessianEquations(ostream &output) const; @@ -301,7 +301,7 @@ public: vector<int> &eqnumber, vector<int> &lhs, vector<expr_t> &lhs_expr_t, - vector<set<pair<int, int> > > &rhs, + vector<set<pair<int, int>>> &rhs, vector<bool> &nonstationary) const; //! Returns the max lag of the VAR @@ -315,9 +315,9 @@ public: vector<int> &orig_diff_var) const; //! Set indices for var expectation in dynamic model file - void setVarExpectationIndices(map<string, pair<SymbolList, int> > &var_model_info); + void setVarExpectationIndices(map<string, pair<SymbolList, int>> &var_model_info); //! Add aux equations (and aux variables) for variables declared in var_model at max order if they don't already exist - void addEquationsForVar(map<string, pair<SymbolList, int> > &var_model_info); + void addEquationsForVar(map<string, pair<SymbolList, int>> &var_model_info); //! Get Pac equation parameter info void walkPacParameters(); //! Add var_model info to pac_expectation nodes @@ -365,7 +365,7 @@ public: void replaceMyEquations(DynamicModel &dynamic_model) const; //! Adds an equation marked as [static] - void addStaticOnlyEquation(expr_t eq, int lineno, const vector<pair<string, string> > &eq_tags); + void addStaticOnlyEquation(expr_t eq, int lineno, const vector<pair<string, string>> &eq_tags); //! Returns number of static only equations size_t staticOnlyEquationsNbr() const; @@ -436,7 +436,7 @@ public: void fillVarExpectationFunctionsToWrite(); //! Get var_expectation_functions_to_write - map<string, set<int> > getVarExpectationFunctionsToWrite() const; + map<string, set<int>> getVarExpectationFunctionsToWrite() const; //! Transforms the model by replacing trend variables with a 1 void removeTrendVariableFromEquations(); diff --git a/src/ExprNode.cc b/src/ExprNode.cc index e4a85a7d037891937e0fddc8e44c0d87ac185f67..3c9cc7bd528d4969297310fff697e0a287508cde 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -130,32 +130,32 @@ ExprNode::checkIfTemporaryTermThenWrite(ostream &output, ExprNodeOutputType outp void ExprNode::collectVariables(SymbolType type, set<int> &result) const { - set<pair<int, int> > symbs_lags; + set<pair<int, int>> symbs_lags; collectDynamicVariables(type, symbs_lags); transform(symbs_lags.begin(), symbs_lags.end(), inserter(result, result.begin()), boost::bind(&pair<int, int>::first, _1)); } void -ExprNode::collectEndogenous(set<pair<int, int> > &result) const +ExprNode::collectEndogenous(set<pair<int, int>> &result) const { - set<pair<int, int> > symb_ids; + set<pair<int, int>> symb_ids; collectDynamicVariables(eEndogenous, symb_ids); for (const auto & symb_id : symb_ids) result.insert(make_pair(datatree.symbol_table.getTypeSpecificID(symb_id.first), symb_id.second)); } void -ExprNode::collectExogenous(set<pair<int, int> > &result) const +ExprNode::collectExogenous(set<pair<int, int>> &result) const { - set<pair<int, int> > symb_ids; + set<pair<int, int>> symb_ids; collectDynamicVariables(eExogenous, symb_ids); for (const auto & symb_id : symb_ids) result.insert(make_pair(datatree.symbol_table.getTypeSpecificID(symb_id.first), symb_id.second)); } void -ExprNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +ExprNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -165,16 +165,16 @@ ExprNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &refe void ExprNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector<vector<temporary_terms_t> > &v_temporary_terms, + vector<vector<temporary_terms_t>> &v_temporary_terms, int equation) const { // Nothing to do for a terminal node } pair<int, expr_t > -ExprNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +ExprNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { /* nothing to do */ return (make_pair(0, (expr_t) nullptr)); @@ -406,12 +406,12 @@ NumConstNode::collectVARLHSVariable(set<expr_t> &result) const } void -NumConstNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +NumConstNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { } pair<int, expr_t > -NumConstNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +NumConstNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { /* return the numercial constant */ return (make_pair(0, datatree.AddNonNegativeConstant(datatree.num_constants.get(id)))); @@ -638,17 +638,17 @@ NumConstNode::isInStaticForm() const } void -NumConstNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +NumConstNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { } void -NumConstNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +NumConstNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { } void -NumConstNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +NumConstNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { } @@ -1135,9 +1135,9 @@ VariableNode::compile(ostream &CompileCode, unsigned int &instruction_number, void VariableNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector<vector<temporary_terms_t> > &v_temporary_terms, + vector<vector<temporary_terms_t>> &v_temporary_terms, int equation) const { if (type == eModelLocalVariable) @@ -1157,7 +1157,7 @@ VariableNode::collectVARLHSVariable(set<expr_t> &result) const } void -VariableNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +VariableNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { if (type == type_arg) result.insert(make_pair(symb_id, lag)); @@ -1166,7 +1166,7 @@ VariableNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > } pair<int, expr_t> -VariableNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +VariableNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { /* The equation has to be normalized with respect to the current endogenous variable ascribed to it. The two input arguments are : @@ -1795,17 +1795,17 @@ VariableNode::isInStaticForm() const } void -VariableNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +VariableNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { } void -VariableNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +VariableNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { } void -VariableNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +VariableNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { } @@ -2136,7 +2136,7 @@ UnaryOpNode::cost(int cost, bool is_matlab) const } void -UnaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +UnaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -2159,9 +2159,9 @@ UnaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &r void UnaryOpNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<UnaryOpNode *>(this); @@ -2681,13 +2681,13 @@ UnaryOpNode::collectVARLHSVariable(set<expr_t> &result) const } void -UnaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +UnaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { arg->collectDynamicVariables(type_arg, result); } pair<int, expr_t> -UnaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +UnaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { pair<bool, expr_t > res = arg->normalizeEquation(var_endo, List_of_Op_RHS); int is_endogenous_present = res.first; @@ -3403,19 +3403,19 @@ UnaryOpNode::isInStaticForm() const } void -UnaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +UnaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { arg->setVarExpectationIndex(var_model_info); } void -UnaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +UnaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { arg->walkPacParameters(pac_encountered, lhs, ec_params_and_vars, ar_params_and_vars); } void -UnaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +UnaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { arg->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); } @@ -3796,7 +3796,7 @@ BinaryOpNode::cost(int cost, bool is_matlab) const } void -BinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +BinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -3825,9 +3825,9 @@ BinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > & void BinaryOpNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector<vector<temporary_terms_t> > &v_temporary_terms, + vector<vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<BinaryOpNode *>(this); @@ -4329,7 +4329,7 @@ BinaryOpNode::collectVARLHSVariable(set<expr_t> &result) const } void -BinaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +BinaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { arg1->collectDynamicVariables(type_arg, result); arg2->collectDynamicVariables(type_arg, result); @@ -4389,11 +4389,11 @@ BinaryOpNode::Compute_RHS(expr_t arg1, expr_t arg2, int op, int op_type) const } pair<int, expr_t> -BinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +BinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { /* Checks if the current value of the endogenous variable related to the equation is present in the arguments of the binary operator. */ - vector<pair<int, pair<expr_t, expr_t> > > List_of_Op_RHS1, List_of_Op_RHS2; + vector<pair<int, pair<expr_t, expr_t>>> List_of_Op_RHS1, List_of_Op_RHS2; int is_endogenous_present_1, is_endogenous_present_2; pair<int, expr_t> res; expr_t expr_t_1, expr_t_2; @@ -4417,7 +4417,7 @@ BinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr if (op_code == oEqual) /* The end of the normalization process : All the operations needed to normalize the equation are applied. */ { - pair<int, pair<expr_t, expr_t> > it; + pair<int, pair<expr_t, expr_t>> it; int oo = List_of_Op_RHS1.size(); for (int i = 0; i < oo; i++) { @@ -4443,7 +4443,7 @@ BinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr int oo = List_of_Op_RHS2.size(); for (int i = 0; i < oo; i++) { - pair<int, pair<expr_t, expr_t> > it; + pair<int, pair<expr_t, expr_t>> it; it = List_of_Op_RHS2.back(); List_of_Op_RHS2.pop_back(); if (it.second.first && !it.second.second) /*Binary operator*/ @@ -5006,7 +5006,7 @@ BinaryOpNode::isInStaticForm() const } void -BinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +BinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { arg1->setVarExpectationIndex(var_model_info); arg2->setVarExpectationIndex(var_model_info); @@ -5015,15 +5015,15 @@ BinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_mo void BinaryOpNode::walkPacParametersHelper(const expr_t arg1, const expr_t arg2, pair<int, int> &lhs, - set<pair<int, pair<int, int> > > &ec_params_and_vars, - set<pair<int, pair<int, int> > > &ar_params_and_vars) const + set<pair<int, pair<int, int>>> &ec_params_and_vars, + set<pair<int, pair<int, int>>> &ar_params_and_vars) const { set<int> params; arg1->collectVariables(eParameter, params); if (params.size() != 1) return; - set<pair<int, int> > endogs; + set<pair<int, int>> endogs; arg2->collectDynamicVariables(eEndogenous, endogs); if (endogs.size() == 1) ar_params_and_vars.insert(make_pair(*(params.begin()), *(endogs.begin()))); @@ -5047,7 +5047,7 @@ BinaryOpNode::walkPacParametersHelper(const expr_t arg1, const expr_t arg2, } void -BinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +BinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { if (op_code == oTimes) { @@ -5060,7 +5060,7 @@ BinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set< } else if (op_code == oEqual) { - set<pair<int, int> > general_lhs; + set<pair<int, int>> general_lhs; arg1->collectDynamicVariables(eEndogenous, general_lhs); if (general_lhs.size() == 1) lhs = *(general_lhs.begin()); @@ -5071,7 +5071,7 @@ BinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set< } void -BinaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +BinaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { arg1->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); arg2->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); @@ -5299,7 +5299,7 @@ TrinaryOpNode::cost(int cost, bool is_matlab) const } void -TrinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +TrinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -5327,9 +5327,9 @@ TrinaryOpNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > void TrinaryOpNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector<vector<temporary_terms_t> > &v_temporary_terms, + vector<vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<TrinaryOpNode *>(this); @@ -5568,7 +5568,7 @@ TrinaryOpNode::collectVARLHSVariable(set<expr_t> &result) const } void -TrinaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +TrinaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { arg1->collectDynamicVariables(type_arg, result); arg2->collectDynamicVariables(type_arg, result); @@ -5576,7 +5576,7 @@ TrinaryOpNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > } pair<int, expr_t> -TrinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +TrinaryOpNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { pair<int, expr_t> res = arg1->normalizeEquation(var_endo, List_of_Op_RHS); bool is_endogenous_present_1 = res.first; @@ -5910,7 +5910,7 @@ TrinaryOpNode::isInStaticForm() const } void -TrinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +TrinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { arg1->setVarExpectationIndex(var_model_info); arg2->setVarExpectationIndex(var_model_info); @@ -5918,7 +5918,7 @@ TrinaryOpNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_m } void -TrinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +TrinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { arg1->walkPacParameters(pac_encountered, lhs, ec_params_and_vars, ar_params_and_vars); arg2->walkPacParameters(pac_encountered, lhs, ec_params_and_vars, ar_params_and_vars); @@ -5926,7 +5926,7 @@ TrinaryOpNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set } void -TrinaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +TrinaryOpNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { arg1->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); arg2->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); @@ -6035,7 +6035,7 @@ AbstractExternalFunctionNode::collectVARLHSVariable(set<expr_t> &result) const } void -AbstractExternalFunctionNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +AbstractExternalFunctionNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { for (auto argument : arguments) argument->collectDynamicVariables(type_arg, result); @@ -6299,7 +6299,7 @@ AbstractExternalFunctionNode::getIndxInTefTerms(int the_symb_id, const deriv_nod } void -AbstractExternalFunctionNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +AbstractExternalFunctionNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -6395,21 +6395,21 @@ AbstractExternalFunctionNode::isInStaticForm() const } void -AbstractExternalFunctionNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +AbstractExternalFunctionNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { for (auto argument : arguments) argument->setVarExpectationIndex(var_model_info); } void -AbstractExternalFunctionNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +AbstractExternalFunctionNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { for (auto argument : arguments) argument->walkPacParameters(pac_encountered, lhs, ec_params_and_vars, ar_params_and_vars); } void -AbstractExternalFunctionNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +AbstractExternalFunctionNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { for (auto argument : arguments) argument->addParamInfoToPac(lhs_arg, ec_params_and_vars_arg, ar_params_and_vars_arg); @@ -6439,9 +6439,9 @@ AbstractExternalFunctionNode::getEndosAndMaxLags(map<string, int> &model_endos_a } pair<int, expr_t> -AbstractExternalFunctionNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +AbstractExternalFunctionNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { - vector<pair<bool, expr_t> > V_arguments; + vector<pair<bool, expr_t>> V_arguments; vector<expr_t> V_expr_t; bool present = false; for (auto argument : arguments) @@ -6545,9 +6545,9 @@ ExternalFunctionNode::composeDerivatives(const vector<expr_t> &dargs) void ExternalFunctionNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<ExternalFunctionNode *>(this); @@ -6854,9 +6854,9 @@ FirstDerivExternalFunctionNode::FirstDerivExternalFunctionNode(DataTree &datatre void FirstDerivExternalFunctionNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<FirstDerivExternalFunctionNode *>(this); @@ -7240,9 +7240,9 @@ SecondDerivExternalFunctionNode::SecondDerivExternalFunctionNode(DataTree &datat void SecondDerivExternalFunctionNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<SecondDerivExternalFunctionNode *>(this); @@ -7573,7 +7573,7 @@ VarExpectationNode::VarExpectationNode(DataTree &datatree_arg, } void -VarExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +VarExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -7583,9 +7583,9 @@ VarExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReferenc void VarExpectationNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<VarExpectationNode *>(this); @@ -7747,7 +7747,7 @@ VarExpectationNode::collectVARLHSVariable(set<expr_t> &result) const } void -VarExpectationNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +VarExpectationNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { } @@ -7770,7 +7770,7 @@ VarExpectationNode::compile(ostream &CompileCode, unsigned int &instruction_numb } pair<int, expr_t > -VarExpectationNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +VarExpectationNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { return make_pair(0, datatree.AddVariableInternal(symb_id, 0)); } @@ -7912,19 +7912,19 @@ VarExpectationNode::getEndosAndMaxLags(map<string, int> &model_endos_and_lags) c } void -VarExpectationNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +VarExpectationNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { vector<string> vs = var_model_info[model_name].first.get_symbols(); yidx = find(vs.begin(), vs.end(), datatree.symbol_table.getName(symb_id)) - vs.begin(); } void -VarExpectationNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +VarExpectationNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { } void -VarExpectationNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +VarExpectationNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { } @@ -7962,7 +7962,7 @@ PacExpectationNode::PacExpectationNode(DataTree &datatree_arg, } void -PacExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, +PacExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const { @@ -7972,9 +7972,9 @@ PacExpectationNode::computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReferenc void PacExpectationNode::computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const { expr_t this2 = const_cast<PacExpectationNode *>(this); @@ -8188,7 +8188,7 @@ PacExpectationNode::collectVARLHSVariable(set<expr_t> &result) const } void -PacExpectationNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const +PacExpectationNode::collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const { } @@ -8217,7 +8217,7 @@ PacExpectationNode::countDiffs() const } pair<int, expr_t > -PacExpectationNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const +PacExpectationNode::normalizeEquation(int var_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const { //COME BACK return make_pair(0, const_cast<PacExpectationNode *>(this)); @@ -8354,7 +8354,7 @@ PacExpectationNode::getEndosAndMaxLags(map<string, int> &model_endos_and_lags) c } void -PacExpectationNode::setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) +PacExpectationNode::setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) { } @@ -8376,13 +8376,13 @@ PacExpectationNode::writeJsonOutput(ostream &output, } void -PacExpectationNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > &ar_params_and_vars) const +PacExpectationNode::walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> &ar_params_and_vars) const { pac_encountered = true; } void -PacExpectationNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) +PacExpectationNode::addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) { if (lhs_arg.first == -1) { diff --git a/src/ExprNode.hh b/src/ExprNode.hh index 410e15a5f25172c2e36f3092acdf59e016562138..d387515a891059c95a8d96fc7252adcb5cf64d41 100644 --- a/src/ExprNode.hh +++ b/src/ExprNode.hh @@ -60,11 +60,11 @@ typedef map<int, int> map_idx_t; typedef map<int, double> eval_context_t; //! Type for tracking first/second derivative functions that have already been written as temporary terms -typedef map<pair<int, vector<expr_t> >, int> deriv_node_temp_terms_t; +typedef map<pair<int, vector<expr_t>>, int> deriv_node_temp_terms_t; //! Type for the substitution map used in the process of substitutitng diff expressions //! diff_table[static_expr_t][lag] -> [dynamic_expr_t] -typedef map<expr_t, map<int, expr_t> > diff_table_t; +typedef map<expr_t, map<int, expr_t>> diff_table_t; //! Possible types of output when writing ExprNode(s) enum ExprNodeOutputType @@ -180,10 +180,10 @@ class ExprNode //! For creating equation cross references struct EquationInfo { - set<pair<int, int> > param; - set<pair<int, int> > endo; - set<pair<int, int> > exo; - set<pair<int, int> > exo_det; + set<pair<int, int>> param; + set<pair<int, int>> endo; + set<pair<int, int>> exo; + set<pair<int, int>> exo_det; }; //! If this node is a temporary term, writes its temporary term representation @@ -218,7 +218,7 @@ class ExprNode //! Fills temporary_terms set, using reference counts /*! A node will be marked as a temporary term if it is referenced at least two times (i.e. has at least two parents), and has a computing cost (multiplied by reference count) greater to datatree.min_cost */ - virtual void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + virtual void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const; @@ -276,7 +276,7 @@ class ExprNode Note that model local variables are substituted by their expression in the computation (and added if type_arg = ModelLocalVariable). */ - virtual void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const = 0; + virtual void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const = 0; //! Find lowest lag for VAR virtual int VarMinLag() const = 0; @@ -302,7 +302,7 @@ class ExprNode They are added to the set given in argument. Note that model local variables are substituted by their expression in the computation. */ - virtual void collectEndogenous(set<pair<int, int> > &result) const; + virtual void collectEndogenous(set<pair<int, int>> &result) const; //! Computes the set of exogenous variables in the expression /*! @@ -310,15 +310,15 @@ class ExprNode They are added to the set given in argument. Note that model local variables are substituted by their expression in the computation. */ - virtual void collectExogenous(set<pair<int, int> > &result) const; + virtual void collectExogenous(set<pair<int, int>> &result) const; virtual void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const = 0; virtual void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const; class EvalException @@ -347,7 +347,7 @@ class ExprNode // virtual void computeXrefs(set<int> ¶m, set<int> &endo, set<int> &exo, set<int> &exo_det) const = 0; virtual void computeXrefs(EquationInfo &ei) const = 0; //! Try to normalize an equation linear in its endogenous variable - virtual pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const = 0; + virtual pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const = 0; //! Returns the maximum lead of endogenous in this expression /*! Always returns a non-negative value */ @@ -526,16 +526,16 @@ class ExprNode virtual expr_t substituteStaticAuxiliaryVariable() const = 0; //! Add index information for var_model variables - virtual void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) = 0; + virtual void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) = 0; //! Returns true if model_info_name is referenced by a VarExpectationNode virtual bool isVarModelReferenced(const string &model_info_name) const = 0; //! Fills parameter information related to PAC equation - virtual void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const = 0; + virtual void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const = 0; //! Adds PAC equation param info to pac_expectation - virtual void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) = 0; + virtual void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) = 0; //! Fills var_model info for pac_expectation node virtual void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) = 0; @@ -577,13 +577,13 @@ public: void writeJsonOutput(ostream &output, const temporary_terms_t &temporary_terms, const deriv_node_temp_terms_t &tef_terms, const bool isdynamic) const override; bool containsExternalFunction() const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; double eval(const eval_context_t &eval_context) const noexcept(false) override; void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override; expr_t toStatic(DataTree &static_datatree) const override; void computeXrefs(EquationInfo &ei) const override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -619,9 +619,9 @@ public: expr_t cloneDynamic(DataTree &dynamic_datatree) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -646,12 +646,12 @@ public: void writeJsonOutput(ostream &output, const temporary_terms_t &temporary_terms, const deriv_node_temp_terms_t &tef_terms, const bool isdynamic) const override; bool containsExternalFunction() const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void computeTemporaryTerms(map<expr_t, int > &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; double eval(const eval_context_t &eval_context) const noexcept(false) override; @@ -673,7 +673,7 @@ public: { return lag; }; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -709,9 +709,9 @@ public: expr_t cloneDynamic(DataTree &dynamic_datatree) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -740,7 +740,7 @@ private: public: UnaryOpNode(DataTree &datatree_arg, UnaryOpcode op_code_arg, const expr_t arg_arg, int expectation_information_set_arg, int param1_symb_id_arg, int param2_symb_id_arg, string adl_param_name_arg, vector<int> adl_lags_arg); void prepareForDerivation() override; - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; @@ -760,12 +760,12 @@ public: deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; static double eval_opcode(UnaryOpcode op_code, double v) noexcept(false); double eval(const eval_context_t &eval_context) const noexcept(false) override; @@ -784,7 +784,7 @@ public: }; expr_t toStatic(DataTree &static_datatree) const override; void computeXrefs(EquationInfo &ei) const override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -823,9 +823,9 @@ public: expr_t cloneDynamic(DataTree &dynamic_datatree) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -855,7 +855,7 @@ public: void prepareForDerivation() override; int precedenceJson(const temporary_terms_t &temporary_terms) const override; int precedence(ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms) const override; - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; @@ -875,12 +875,12 @@ public: deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; static double eval_opcode(double v1, BinaryOpcode op_code, double v2, int derivOrder) noexcept(false); double eval(const eval_context_t &eval_context) const noexcept(false) override; @@ -911,11 +911,11 @@ public: } void walkPacParametersHelper(const expr_t arg1, const expr_t arg2, pair<int, int> &lhs, - set<pair<int, pair<int, int> > > &ec_params_and_vars, - set<pair<int, pair<int, int> > > &ar_params_and_vars) const; + set<pair<int, pair<int, int>>> &ec_params_and_vars, + set<pair<int, pair<int, int>>> &ar_params_and_vars) const; expr_t toStatic(DataTree &static_datatree) const override; void computeXrefs(EquationInfo &ei) const override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -959,9 +959,9 @@ public: //! Returns the non-zero hand-side of an equation (that must have a hand side equal to zero) expr_t getNonZeroPartofEquation() const; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > &ar_params_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> &ar_params_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -989,7 +989,7 @@ public: TrinaryOpcode op_code_arg, const expr_t arg2_arg, const expr_t arg3_arg); void prepareForDerivation() override; int precedence(ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms) const override; - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; @@ -1009,19 +1009,19 @@ public: deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; static double eval_opcode(double v1, TrinaryOpcode op_code, double v2, double v3) noexcept(false); double eval(const eval_context_t &eval_context) const noexcept(false) override; void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override; expr_t toStatic(DataTree &static_datatree) const override; void computeXrefs(EquationInfo &ei) const override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -1059,9 +1059,9 @@ public: expr_t cloneDynamic(DataTree &dynamic_datatree) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -1097,7 +1097,7 @@ public: AbstractExternalFunctionNode(DataTree &datatree_arg, int symb_id_arg, vector<expr_t> arguments_arg); void prepareForDerivation() override; - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override = 0; @@ -1117,12 +1117,12 @@ public: deriv_node_temp_terms_t &tef_terms) const override = 0; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override = 0; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; double eval(const eval_context_t &eval_context) const noexcept(false) override; unsigned int compileExternalFunctionArguments(ostream &CompileCode, unsigned int &instruction_number, @@ -1133,7 +1133,7 @@ public: void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override = 0; expr_t toStatic(DataTree &static_datatree) const override = 0; void computeXrefs(EquationInfo &ei) const override = 0; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; expr_t getChainRuleDerivative(int deriv_id, const map<int, expr_t> &recursive_variables) override; int maxEndoLead() const override; int maxExoLead() const override; @@ -1171,9 +1171,9 @@ public: expr_t cloneDynamic(DataTree &dynamic_datatree) const override = 0; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -1208,9 +1208,9 @@ public: deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override; expr_t toStatic(DataTree &static_datatree) const override; @@ -1233,9 +1233,9 @@ public: int inputIndex_arg); void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; void writeJsonOutput(ostream &output, const temporary_terms_t &temporary_terms, const deriv_node_temp_terms_t &tef_terms, const bool isdynamic) const override; @@ -1277,9 +1277,9 @@ public: int inputIndex2_arg); void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; void writeJsonOutput(ostream &output, const temporary_terms_t &temporary_terms, const deriv_node_temp_terms_t &tef_terms, const bool isdynamic) const override; @@ -1314,15 +1314,15 @@ private: int yidx; public: VarExpectationNode(DataTree &datatree_arg, int symb_id_arg, int forecast_horizon_arg, const string &model_name); - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; expr_t toStatic(DataTree &static_datatree) const override; expr_t cloneDynamic(DataTree &dynamic_datatree) const override; @@ -1354,14 +1354,14 @@ public: expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override; expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override; expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; bool containsEndogenous() const override; bool containsExogenous() const override; int countDiffs() const override; @@ -1373,9 +1373,9 @@ public: expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; @@ -1395,19 +1395,19 @@ private: int max_lag; vector<int> h0_indices, h1_indices; int growth_param_index, equation_number; - set<pair<int, pair<int, int> > > ec_params_and_vars; - set<pair<int, pair<int, int> > > ar_params_and_vars; + set<pair<int, pair<int, int>>> ec_params_and_vars; + set<pair<int, pair<int, int>>> ar_params_and_vars; public: PacExpectationNode(DataTree &datatree_arg, string model_name); - void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference> > &reference_count, + void computeTemporaryTerms(map<expr_t, pair<int, NodeTreeReference>> &reference_count, map<NodeTreeReference, temporary_terms_t> &temp_terms_map, bool is_matlab, NodeTreeReference tr) const override; void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override; void computeTemporaryTerms(map<expr_t, int> &reference_count, temporary_terms_t &temporary_terms, - map<expr_t, pair<int, int> > &first_occurence, + map<expr_t, pair<int, int>> &first_occurence, int Curr_block, - vector< vector<temporary_terms_t> > &v_temporary_terms, + vector< vector<temporary_terms_t>> &v_temporary_terms, int equation) const override; expr_t toStatic(DataTree &static_datatree) const override; expr_t cloneDynamic(DataTree &dynamic_datatree) const override; @@ -1439,14 +1439,14 @@ public: expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override; expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override; expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override; - pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t> > > &List_of_Op_RHS) const override; + pair<int, expr_t> normalizeEquation(int symb_id_endo, vector<pair<int, pair<expr_t, expr_t>>> &List_of_Op_RHS) const override; void compile(ostream &CompileCode, unsigned int &instruction_number, bool lhs_rhs, const temporary_terms_t &temporary_terms, const map_idx_t &map_idx, bool dynamic, bool steady_dynamic, const deriv_node_temp_terms_t &tef_terms) const override; void collectTemporary_terms(const temporary_terms_t &temporary_terms, temporary_terms_inuse_t &temporary_terms_inuse, int Curr_Block) const override; void collectVARLHSVariable(set<expr_t> &result) const override; - void collectDynamicVariables(SymbolType type_arg, set<pair<int, int> > &result) const override; + void collectDynamicVariables(SymbolType type_arg, set<pair<int, int>> &result) const override; bool containsEndogenous() const override; bool containsExogenous() const override; int countDiffs() const override; @@ -1458,9 +1458,9 @@ public: expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override; expr_t removeTrendLeadLag(map<int, expr_t> trend_symbols_map) const override; bool isInStaticForm() const override; - void setVarExpectationIndex(map<string, pair<SymbolList, int> > &var_model_info) override; - void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int> > > &ec_params_and_vars, set<pair<int, pair<int, int> > > ¶ms_and_vars) const override; - void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int> > > &ec_params_and_vars_arg, set<pair<int, pair<int, int> > > ¶ms_and_vars_arg) override; + void setVarExpectationIndex(map<string, pair<SymbolList, int>> &var_model_info) override; + void walkPacParameters(bool &pac_encountered, pair<int, int> &lhs, set<pair<int, pair<int, int>>> &ec_params_and_vars, set<pair<int, pair<int, int>>> ¶ms_and_vars) const override; + void addParamInfoToPac(pair<int, int> &lhs_arg, set<pair<int, pair<int, int>>> &ec_params_and_vars_arg, set<pair<int, pair<int, int>>> ¶ms_and_vars_arg) override; void fillPacExpectationVarInfo(string &model_name_arg, vector<int> &lhs_arg, int max_lag_arg, vector<bool> &nonstationary_arg, int growth_symb_id_arg, int equation_number_arg) override; bool isVarModelReferenced(const string &model_info_name) const override; void getEndosAndMaxLags(map<string, int> &model_endos_and_lags) const override; diff --git a/src/MinimumFeedbackSet.hh b/src/MinimumFeedbackSet.hh index 8397b95021d60727234534d7a03bda411f7a796e..d0649a410058361c4739f77eddfaf353a8147edc 100644 --- a/src/MinimumFeedbackSet.hh +++ b/src/MinimumFeedbackSet.hh @@ -33,7 +33,7 @@ namespace MFS property<vertex_index1_t, int, property<vertex_degree_t, int, property<vertex_in_degree_t, int, - property<vertex_out_degree_t, int > > > > > VertexProperty_t; + property<vertex_out_degree_t, int >>>>> VertexProperty_t; typedef adjacency_list<listS, listS, bidirectionalS, VertexProperty_t> AdjacencyList_t; typedef map<graph_traits<AdjacencyList_t>::vertex_descriptor, default_color_type> color_t; using vector_vertex_descriptor_t = vector<AdjacencyList_t::vertex_descriptor>; diff --git a/src/ModFile.cc b/src/ModFile.cc index b4ab5d00d1f27270edfd454176ea452c0c4d3bfd..e3a80645fa1a6de98cf711f6099bd7bbe8fc6d50 100644 --- a/src/ModFile.cc +++ b/src/ModFile.cc @@ -372,11 +372,11 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const dynamic_model.substituteDiff(diff_static_model, diff_subst_table); // Var Model - map<string, pair<SymbolList, int> > var_model_info_var_expectation; - map<string, vector<string> > var_model_eq_tags; - map<string, pair<pair<pair<vector<int>, vector<expr_t> >, - pair<vector<bool>, vector<int> > >, - pair<pair<int, vector<bool> >, vector<int> > > > + map<string, pair<SymbolList, int>> var_model_info_var_expectation; + map<string, vector<string>> var_model_eq_tags; + map<string, pair<pair<pair<vector<int>, vector<expr_t>>, + pair<vector<bool>, vector<int>>>, + pair<pair<int, vector<bool>>, vector<int>>>> var_model_info_pac_expectation; for (vector<Statement *>::const_iterator it = statements.begin(); it != statements.end(); it++) @@ -388,7 +388,7 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const vms->getVarModelInfo(var_model_name, var_model_info_var_expectation, var_model_eq_tags); vector<expr_t> lhs_expr_t; vector<int> lhs, eqnumber, orig_diff_var; - vector<set<pair<int, int> > > rhs; + vector<set<pair<int, int>>> rhs; vector<bool> nonstationary, diff; vector<string> eqtags = var_model_eq_tags[var_model_name]; dynamic_model.getVarModelVariablesFromEqTags(eqtags, @@ -406,7 +406,7 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const auto *pms = dynamic_cast<PacModelStatement *>(*it); if (pms != nullptr) { - pair<string, pair<string, pair<string, pair<int, map<string, int> > > > > + pair<string, pair<string, pair<string, pair<int, map<string, int>>>>> pac_model_info_pac_expectation; pms->getPacModelInfoForPacExpectation(pac_model_info_pac_expectation); string pac_model_name = pac_model_info_pac_expectation.first; @@ -530,7 +530,7 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const vms->getVarModelInfo(var_model_name, var_model_info_var_expectation, var_model_eq_tags); vector<expr_t> lhs_expr_t; vector<int> lhs, eqnumber, orig_diff_var; - vector<set<pair<int, int> > > rhs; + vector<set<pair<int, int>>> rhs; vector<bool> nonstationary, diff; vector<string> eqtags = var_model_eq_tags[var_model_name]; dynamic_model.getVarModelVariablesFromEqTags(eqtags, diff --git a/src/ModelTree.cc b/src/ModelTree.cc index ab8b8016454fa40274251a6a6d432a00dc5faca1..5c459fdba0b3f17eedeb54a9e13c43593ed0a1b8 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -49,7 +49,7 @@ ModelTree::computeNormalization(const jacob_map_t &contemporaneous_jacobian, boo BipartiteGraph g(2 * n); // Fill in the graph - set<pair<int, int> > endo; + set<pair<int, int>> endo; for (const auto & it : contemporaneous_jacobian) add_edge(it.first.first + n, it.first.second, g); @@ -187,7 +187,7 @@ ModelTree::computeNonSingularNormalization(jacob_map_t &contemporaneous_jacobian cout << "Normalization failed with cutoff, trying symbolic normalization..." << endl; //if no non-singular normalization can be found, try to find a normalization even with a potential singularity jacob_map_t tmp_normalized_contemporaneous_jacobian; - set<pair<int, int> > endo; + set<pair<int, int>> endo; for (int i = 0; i < n; i++) { endo.clear(); @@ -242,7 +242,7 @@ ModelTree::computeNormalizedEquations(multimap<int, int> &endo2eqs) const if (symbol_table.getType(symb_id) != eEndogenous) continue; - set<pair<int, int> > endo; + set<pair<int, int>> endo; equations[i]->get_arg2()->collectEndogenous(endo); if (endo.find(make_pair(symbol_table.getTypeSpecificID(symb_id), 0)) != endo.end()) continue; @@ -256,7 +256,7 @@ void ModelTree::evaluateAndReduceJacobian(const eval_context_t &eval_context, jacob_map_t &contemporaneous_jacobian, jacob_map_t &static_jacobian, dynamic_jacob_map_t &dynamic_jacobian, double cutoff, bool verbose) { int nb_elements_contemparenous_Jacobian = 0; - set<pair<int, int> > jacobian_elements_to_delete; + set<pair<int, int>> jacobian_elements_to_delete; for (first_derivatives_t::const_iterator it = first_derivatives.begin(); it != first_derivatives.end(); it++) { @@ -335,7 +335,7 @@ ModelTree::computePrologueAndEpilogue(const jacob_map_t &static_jacobian_arg, ve } if (cutoff == 0) { - set<pair<int, int> > endo; + set<pair<int, int>> endo; for (int i = 0; i < n; i++) { endo.clear(); @@ -437,7 +437,7 @@ ModelTree::computePrologueAndEpilogue(const jacob_map_t &static_jacobian_arg, ve } equation_type_and_normalized_equation_t -ModelTree::equationTypeDetermination(const map<pair<int, pair<int, int> >, expr_t> &first_order_endo_derivatives, const vector<int> &Index_Var_IM, const vector<int> &Index_Equ_IM, int mfs) const +ModelTree::equationTypeDetermination(const map<pair<int, pair<int, int>>, expr_t> &first_order_endo_derivatives, const vector<int> &Index_Var_IM, const vector<int> &Index_Equ_IM, int mfs) const { expr_t lhs; BinaryOpNode *eq_node; @@ -454,7 +454,7 @@ ModelTree::equationTypeDetermination(const map<pair<int, pair<int, int> >, expr_ pair<bool, expr_t> res; if (derivative != first_order_endo_derivatives.end()) { - set<pair<int, int> > result; + set<pair<int, int>> result; derivative->second->collectEndogenous(result); auto d_endo_variable = result.find(make_pair(var, 0)); //Determine whether the equation could be evaluated rather than to be solved @@ -464,7 +464,7 @@ ModelTree::equationTypeDetermination(const map<pair<int, pair<int, int> >, expr_ } else { - vector<pair<int, pair<expr_t, expr_t> > > List_of_Op_RHS; + vector<pair<int, pair<expr_t, expr_t>>> List_of_Op_RHS; res = equations[eq]->normalizeEquation(var, List_of_Op_RHS); if (mfs == 2) { @@ -528,7 +528,7 @@ ModelTree::getVariableLeadLagByBlock(const dynamic_jacob_map_t &dynamic_jacobian } void -ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob_map_t &static_jacobian, const dynamic_jacob_map_t &dynamic_jacobian, vector<int> &equation_reordered, vector<int> &variable_reordered, vector<pair<int, int> > &blocks, const equation_type_and_normalized_equation_t &Equation_Type, bool verbose_, bool select_feedback_variable, int mfs, vector<int> &inv_equation_reordered, vector<int> &inv_variable_reordered, lag_lead_vector_t &equation_lag_lead, lag_lead_vector_t &variable_lag_lead, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed) const +ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob_map_t &static_jacobian, const dynamic_jacob_map_t &dynamic_jacobian, vector<int> &equation_reordered, vector<int> &variable_reordered, vector<pair<int, int>> &blocks, const equation_type_and_normalized_equation_t &Equation_Type, bool verbose_, bool select_feedback_variable, int mfs, vector<int> &inv_equation_reordered, vector<int> &inv_variable_reordered, lag_lead_vector_t &equation_lag_lead, lag_lead_vector_t &variable_lag_lead, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed) const { int nb_var = variable_reordered.size(); int n = nb_var - prologue - epilogue; @@ -550,7 +550,7 @@ ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob jacob_map_t tmp_normalized_contemporaneous_jacobian; if (cutoff == 0) { - set<pair<int, int> > endo; + set<pair<int, int>> endo; for (int i = 0; i < nb_var; i++) { endo.clear(); @@ -576,7 +576,7 @@ ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob // Compute strongly connected components int num = strong_components(G2, endo2block_map); - blocks = vector<pair<int, int> >(num, make_pair(0, 0)); + blocks = vector<pair<int, int>>(num, make_pair(0, 0)); // Create directed acyclic graph associated to the strongly connected components typedef adjacency_list<vecS, vecS, directedS> DirectedGraph; @@ -608,7 +608,7 @@ ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob // - first set = equations belonging to the block, // - second set = the feeback variables, // - third vector = the reordered non-feedback variables. - vector<pair<set<int>, pair<set<int>, vector<int> > > > components_set(num); + vector<pair<set<int>, pair<set<int>, vector<int>>>> components_set(num); for (unsigned int i = 0; i < endo2block.size(); i++) { endo2block[i] = unordered2ordered[endo2block[i]]; @@ -764,7 +764,7 @@ ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob } void -ModelTree::printBlockDecomposition(const vector<pair<int, int> > &blocks) const +ModelTree::printBlockDecomposition(const vector<pair<int, int>> &blocks) const { int largest_block = 0; int Nb_SimulBlocks = 0; @@ -793,7 +793,7 @@ ModelTree::printBlockDecomposition(const vector<pair<int, int> > &blocks) const } block_type_firstequation_size_mfs_t -ModelTree::reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_jacobian, vector<pair<int, int> > &blocks, const equation_type_and_normalized_equation_t &Equation_Type, const vector<int> &variable_reordered, const vector<int> &equation_reordered, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed, vector<pair< pair<int, int>, pair<int, int> > > &block_col_type) +ModelTree::reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_jacobian, vector<pair<int, int>> &blocks, const equation_type_and_normalized_equation_t &Equation_Type, const vector<int> &variable_reordered, const vector<int> &equation_reordered, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed, vector<pair< pair<int, int>, pair<int, int>>> &block_col_type) { int i = 0; int count_equ = 0, blck_count_simult = 0; @@ -827,7 +827,7 @@ ModelTree::reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_j } Lag = Lead = 0; - set<pair<int, int> > endo; + set<pair<int, int>> endo; for (count_equ = first_count_equ; count_equ < Blck_Size+first_count_equ; count_equ++) { endo.clear(); @@ -911,7 +911,7 @@ ModelTree::reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_j if (block_lag_lead[block_type_size_mfs.size()-1].second > Lead) Lead = block_lag_lead[block_type_size_mfs.size()-1].second; block_lag_lead[block_type_size_mfs.size()-1] = make_pair(Lag, Lead); - pair< pair< unsigned int, unsigned int>, pair<unsigned int, unsigned int> > tmp = block_col_type[block_col_type.size()-1]; + pair< pair< unsigned int, unsigned int>, pair<unsigned int, unsigned int>> tmp = block_col_type[block_col_type.size()-1]; block_col_type[block_col_type.size()-1] = make_pair(make_pair(tmp.first.first+l_n_static, tmp.first.second+l_n_forward), make_pair(tmp.second.first+l_n_backward, tmp.second.second+l_n_mixed)); } else @@ -959,7 +959,7 @@ ModelTree::BlockLinear(const blocks_derivatives_t &blocks_derivatives, const vec if (lag == 0) { expr_t Id = it->second.second; - set<pair<int, int> > endogenous; + set<pair<int, int>> endogenous; Id->collectEndogenous(endogenous); if (endogenous.size() > 0) { @@ -981,7 +981,7 @@ ModelTree::BlockLinear(const blocks_derivatives_t &blocks_derivatives, const vec { int lag = it->second.first; expr_t Id = it->second.second; // - set<pair<int, int> > endogenous; + set<pair<int, int>> endogenous; Id->collectEndogenous(endogenous); if (endogenous.size() > 0) { @@ -1113,7 +1113,7 @@ ModelTree::computeThirdDerivatives(const set<int> &vars) void ModelTree::computeTemporaryTerms(bool is_matlab) { - map<expr_t, pair<int, NodeTreeReference> > reference_count; + map<expr_t, pair<int, NodeTreeReference>> reference_count; temporary_terms.clear(); temporary_terms_mlv.clear(); temporary_terms_res.clear(); @@ -1741,7 +1741,7 @@ ModelTree::addEquation(expr_t eq, int lineno) } void -ModelTree::addEquation(expr_t eq, int lineno, const vector<pair<string, string> > &eq_tags) +ModelTree::addEquation(expr_t eq, int lineno, const vector<pair<string, string>> &eq_tags) { int n = equations.size(); for (const auto & eq_tag : eq_tags) @@ -1905,7 +1905,7 @@ ModelTree::computeParamsDerivatives(int paramsDerivsOrder) void ModelTree::computeParamsDerivativesTemporaryTerms() { - map<expr_t, pair<int, NodeTreeReference > > reference_count; + map<expr_t, pair<int, NodeTreeReference >> reference_count; params_derivs_temporary_terms.clear(); map<NodeTreeReference, temporary_terms_t> temp_terms_map; temp_terms_map[eResidualsParamsDeriv] = params_derivs_temporary_terms_res; @@ -1979,7 +1979,7 @@ ModelTree::isNonstationary(int symb_id) const void ModelTree::writeJsonModelEquations(ostream &output, bool residuals) const { - vector<pair<string, string> > eqtags; + vector<pair<string, string>> eqtags; temporary_terms_t tt_empty; if (residuals) output << endl << "\"residuals\":[" << endl; @@ -2036,7 +2036,7 @@ ModelTree::writeJsonModelEquations(ostream &output, bool residuals) const { output << ", \"tags\": {"; int i = 0; - for (vector<pair<string, string> >::const_iterator it = eqtags.begin(); it != eqtags.end(); it++, i++) + for (vector<pair<string, string>>::const_iterator it = eqtags.begin(); it != eqtags.end(); it++, i++) { if (i != 0) output << ", "; diff --git a/src/ModelTree.hh b/src/ModelTree.hh index b398b24f64dc7dc7d5f15644d36ab774a174a682..b1df9518290a1cc34e579885af50bfc938e232e7 100644 --- a/src/ModelTree.hh +++ b/src/ModelTree.hh @@ -32,16 +32,16 @@ using namespace std; #include "ExtendedPreprocessorTypes.hh" //! Vector describing equations: BlockSimulationType, if BlockSimulationType == EVALUATE_s then a expr_t on the new normalized equation -typedef vector<pair<EquationType, expr_t > > equation_type_and_normalized_equation_t; +typedef vector<pair<EquationType, expr_t >> equation_type_and_normalized_equation_t; //! Vector describing variables: max_lag in the block, max_lead in the block -typedef vector<pair< int, int> > lag_lead_vector_t; +typedef vector<pair< int, int>> lag_lead_vector_t; -//! for each block contains pair< pair<Simulation_Type, first_equation>, pair < Block_Size, Recursive_part_Size > > -typedef vector<pair< pair< BlockSimulationType, int>, pair<int, int> > > block_type_firstequation_size_mfs_t; +//! for each block contains pair< pair<Simulation_Type, first_equation>, pair < Block_Size, Recursive_part_Size >> +typedef vector<pair< pair< BlockSimulationType, int>, pair<int, int>>> block_type_firstequation_size_mfs_t; -//! for a block contains derivatives pair< pair<block_equation_number, block_variable_number> , pair<lead_lag, expr_t> > -typedef vector< pair<pair<int, int>, pair< int, expr_t > > > block_derivatives_equation_variable_laglead_nodeid_t; +//! for a block contains derivatives pair< pair<block_equation_number, block_variable_number> , pair<lead_lag, expr_t>> +typedef vector< pair<pair<int, int>, pair< int, expr_t >>> block_derivatives_equation_variable_laglead_nodeid_t; //! for all blocks derivatives description using blocks_derivatives_t = vector<block_derivatives_equation_variable_laglead_nodeid_t>; @@ -68,7 +68,7 @@ protected: deque<BinaryOpNode *> diff_aux_equations; //! Stores equation tags - vector<pair<int, pair<string, string> > > equation_tags; + vector<pair<int, pair<string, string>>> equation_tags; //! Number of non-zero derivatives int NNZDerivatives[3]; @@ -81,7 +81,7 @@ protected: */ first_derivatives_t first_derivatives; - typedef map<pair<int, pair<int, int> >, expr_t> second_derivatives_t; + typedef map<pair<int, pair<int, int>>, expr_t> second_derivatives_t; //! Second order derivatives /*! First index is equation number, second and third are variables w.r. to which is computed the derivative. Only non-null derivatives are stored in the map. @@ -90,7 +90,7 @@ protected: */ second_derivatives_t second_derivatives; - typedef map<pair<int, pair<int, pair<int, int> > >, expr_t> third_derivatives_t; + typedef map<pair<int, pair<int, pair<int, int>>>, expr_t> third_derivatives_t; //! Third order derivatives /*! First index is equation number, second, third and fourth are variables w.r. to which is computed the derivative. Only non-null derivatives are stored in the map. @@ -158,7 +158,7 @@ protected: map<int, expr_t> trend_symbols_map; //! for all trends; the boolean is true if this is a log-trend, false otherwise - typedef map<int, pair<bool, expr_t> > nonstationary_symbols_map_t; + typedef map<int, pair<bool, expr_t>> nonstationary_symbols_map_t; //! Nonstationary variables and their deflators nonstationary_symbols_map_t nonstationary_symbols_map; @@ -221,7 +221,7 @@ protected: //! Sparse matrix of double to store the values of the Jacobian /*! First index is lag, second index is equation number, third index is endogenous type specific ID */ - typedef map<pair<int, pair<int, int> >, expr_t> dynamic_jacob_map_t; + typedef map<pair<int, pair<int, int>>, expr_t> dynamic_jacob_map_t; //! Normalization of equations /*! Maps endogenous type specific IDs to equation numbers */ @@ -255,15 +255,15 @@ protected: //! Search the equations and variables belonging to the prologue and the epilogue of the model void computePrologueAndEpilogue(const jacob_map_t &static_jacobian, vector<int> &equation_reordered, vector<int> &variable_reordered); //! Determine the type of each equation of model and try to normalized the unnormalized equation using computeNormalizedEquations - equation_type_and_normalized_equation_t equationTypeDetermination(const map<pair<int, pair<int, int> >, expr_t> &first_order_endo_derivatives, const vector<int> &Index_Var_IM, const vector<int> &Index_Equ_IM, int mfs) const; + equation_type_and_normalized_equation_t equationTypeDetermination(const map<pair<int, pair<int, int>>, expr_t> &first_order_endo_derivatives, const vector<int> &Index_Var_IM, const vector<int> &Index_Equ_IM, int mfs) const; //! Compute the block decomposition and for a non-recusive block find the minimum feedback set - void computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob_map_t &static_jacobian, const dynamic_jacob_map_t &dynamic_jacobian, vector<int> &equation_reordered, vector<int> &variable_reordered, vector<pair<int, int> > &blocks, const equation_type_and_normalized_equation_t &Equation_Type, bool verbose_, bool select_feedback_variable, int mfs, vector<int> &inv_equation_reordered, vector<int> &inv_variable_reordered, lag_lead_vector_t &equation_lag_lead, lag_lead_vector_t &variable_lag_lead_t, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed) const; + void computeBlockDecompositionAndFeedbackVariablesForEachBlock(const jacob_map_t &static_jacobian, const dynamic_jacob_map_t &dynamic_jacobian, vector<int> &equation_reordered, vector<int> &variable_reordered, vector<pair<int, int>> &blocks, const equation_type_and_normalized_equation_t &Equation_Type, bool verbose_, bool select_feedback_variable, int mfs, vector<int> &inv_equation_reordered, vector<int> &inv_variable_reordered, lag_lead_vector_t &equation_lag_lead, lag_lead_vector_t &variable_lag_lead_t, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed) const; //! Reduce the number of block merging the same type equation in the prologue and the epilogue and determine the type of each block - block_type_firstequation_size_mfs_t reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_jacobian, vector<pair<int, int> > &blocks, const equation_type_and_normalized_equation_t &Equation_Type, const vector<int> &variable_reordered, const vector<int> &equation_reordered, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed, vector<pair< pair<int, int>, pair<int, int> > > &block_col_type); + block_type_firstequation_size_mfs_t reduceBlocksAndTypeDetermination(const dynamic_jacob_map_t &dynamic_jacobian, vector<pair<int, int>> &blocks, const equation_type_and_normalized_equation_t &Equation_Type, const vector<int> &variable_reordered, const vector<int> &equation_reordered, vector<unsigned int> &n_static, vector<unsigned int> &n_forward, vector<unsigned int> &n_backward, vector<unsigned int> &n_mixed, vector<pair< pair<int, int>, pair<int, int>>> &block_col_type); //! Determine the maximum number of lead and lag for the endogenous variable in a bloc void getVariableLeadLagByBlock(const dynamic_jacob_map_t &dynamic_jacobian, const vector<int> &components_set, int nb_blck_sim, lag_lead_vector_t &equation_lead_lag, lag_lead_vector_t &variable_lead_lag, const vector<int> &equation_reordered, const vector<int> &variable_reordered) const; //! Print an abstract of the block structure of the model - void printBlockDecomposition(const vector<pair<int, int> > &blocks) const; + void printBlockDecomposition(const vector<pair<int, int>> &blocks) const; //! Determine for each block if it is linear or not vector<bool> BlockLinear(const blocks_derivatives_t &blocks_derivatives, const vector<int> &variable_reordered) const; @@ -331,7 +331,7 @@ public: //! Declare a node as an equation of the model; also give its line number void addEquation(expr_t eq, int lineno); //! Declare a node as an equation of the model, also giving its tags - void addEquation(expr_t eq, int lineno, const vector<pair<string, string> > &eq_tags); + void addEquation(expr_t eq, int lineno, const vector<pair<string, string>> &eq_tags); //! Declare a node as an auxiliary equation of the model, adding it at the end of the list of auxiliary equations void addAuxEquation(expr_t eq); //! Returns the number of equations in the model diff --git a/src/NumericalInitialization.hh b/src/NumericalInitialization.hh index 89f9092face05f1be52db08b2d0561d231b4de6d..9de4c37197b90dfd1517cb8780413a6852931051 100644 --- a/src/NumericalInitialization.hh +++ b/src/NumericalInitialization.hh @@ -55,7 +55,7 @@ public: We use a vector instead of a map, since the order of declaration matters: an initialization can depend on a previously initialized variable inside the block */ - typedef vector<pair<int, expr_t> > init_values_t; + typedef vector<pair<int, expr_t>> init_values_t; protected: const init_values_t init_values; const SymbolTable &symbol_table; @@ -149,7 +149,7 @@ class HomotopyStatement : public Statement public: //! Stores the declarations of homotopy_setup /*! Order matter so we use a vector. First expr_t can be NULL if no initial value given. */ - typedef vector<pair<int, pair<expr_t, expr_t> > > homotopy_values_t; + typedef vector<pair<int, pair<expr_t, expr_t>>> homotopy_values_t; private: const homotopy_values_t homotopy_values; const SymbolTable &symbol_table; diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index 1662257f7187102c3a7b9a590544ab085461b76c..d4f183cc7e72152783194ff7803316610369881b 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -979,7 +979,7 @@ ParsingDriver::end_model() { bool exit_after_write = false; if (model_errors.size() > 0) - for (vector<pair<string, string> >::const_iterator it = model_errors.begin(); + for (vector<pair<string, string>>::const_iterator it = model_errors.begin(); it != model_errors.end(); it++) { if (it->first == "") @@ -988,7 +988,7 @@ ParsingDriver::end_model() } if (undeclared_model_variable_errors.size() > 0) - for (vector<pair<string, string> >::const_iterator it = undeclared_model_variable_errors.begin(); + for (vector<pair<string, string>>::const_iterator it = undeclared_model_variable_errors.begin(); it != undeclared_model_variable_errors.end(); it++) if (nostrict) warning(it->second); @@ -1248,7 +1248,7 @@ ParsingDriver::combine_lag_and_restriction(string *lag) if (it->lag == current_lag) error("lag " + *lag + " used more than once."); - for (map<int, vector<int> >::const_iterator it = svar_equation_restrictions.begin(); + for (map<int, vector<int>>::const_iterator it = svar_equation_restrictions.begin(); it != svar_equation_restrictions.end(); it++) for (auto it1 = it->second.begin(); it1 != it->second.end(); it1++) @@ -2616,7 +2616,7 @@ ParsingDriver::add_model_equal(expr_t arg1, expr_t arg2) // Detect if the equation is tagged [static] bool is_static_only = false; - for (vector<pair<string, string> >::const_iterator it = eq_tags.begin(); + for (vector<pair<string, string>>::const_iterator it = eq_tags.begin(); it != eq_tags.end(); ++it) if (it->first == "static") { diff --git a/src/ParsingDriver.hh b/src/ParsingDriver.hh index 2fe1f05f45f4def21917e83747d60979a4ca8f85..599619b7c7c268101d3ac6fd3e7f183204692717 100644 --- a/src/ParsingDriver.hh +++ b/src/ParsingDriver.hh @@ -141,7 +141,7 @@ private: //! Temporary storage for deterministic shocks ShocksStatement::det_shocks_t det_shocks; //! Temporary storage for periods of deterministic shocks - vector<pair<int, int> > det_shocks_periods; + vector<pair<int, int>> det_shocks_periods; //! Temporary storage for values of deterministic shocks vector<expr_t> det_shocks_values; //! Temporary storage for variances of shocks @@ -173,7 +173,7 @@ private: //! Temporary storage for svar_identification blocks SvarIdentificationStatement::svar_identification_restrictions_t svar_ident_restrictions; //! Temporary storage for mapping the equation number to the restrictions within an svar_identification block - map<int, vector<int> > svar_equation_restrictions; + map<int, vector<int>> svar_equation_restrictions; //! Temporary storage for restrictions in an equation within an svar_identification block vector<int> svar_restriction_symbols; //! Temporary storage for constants exculsion within an svar_identification @@ -201,10 +201,10 @@ private: SvarRestrictionType svar_restriction_type; //! Temporary storage for generate_irfs vector<string> generate_irf_names; - vector<map<string, double> > generate_irf_elements; + vector<map<string, double>> generate_irf_elements; map<string, double> generate_irf_exos; //! Temporary storage for argument list of external function - stack<vector<expr_t> > stack_external_function_args; + stack<vector<expr_t>> stack_external_function_args; //! Temporary storage for parameters in joint prior statement vector<string> joint_parameters; //! Temporary storage for the symb_id associated with the "name" symbol of the current external_function statement @@ -233,12 +233,12 @@ private: //! For parsing the graph_format option SymbolList graph_formats; //! Temporary storage for equation tags - vector<pair<string, string> > eq_tags; + vector<pair<string, string>> eq_tags; //! Temporary storage for pac statement undiff option map<string, int> pac_undiff; //! Map Var name to variables - map<string, vector<string> > var_map; + map<string, vector<string>> var_map; //! The mod file representation constructed by this ParsingDriver ModFile *mod_file; @@ -247,8 +247,8 @@ private: bool nostrict; - vector<pair<string, string> > model_errors; - vector<pair<string, string> > undeclared_model_variable_errors; + vector<pair<string, string>> model_errors; + vector<pair<string, string>> undeclared_model_variable_errors; //! Used by VAR restrictions void clear_VAR_storage(); @@ -278,17 +278,17 @@ public: //! VAR restrictions //! > exclusion restrictions map<int, SymbolList> exclusion_restriction; - map<int, map<int, SymbolList> > exclusion_restrictions; + map<int, map<int, SymbolList>> exclusion_restrictions; //! > equation and crossequation restrictions - pair<int, pair<int, int> > var_restriction_coeff; - typedef pair<pair<int, pair<int, int> >, expr_t> var_restriction_eq_crosseq_t; + pair<int, pair<int, int>> var_restriction_coeff; + typedef pair<pair<int, pair<int, int>>, expr_t> var_restriction_eq_crosseq_t; vector<var_restriction_eq_crosseq_t> var_restriction_eq_or_crosseq; pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double> var_restriction_equation_or_crossequation; - map<int, pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double> > equation_restrictions; - vector<pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double> > crossequation_restrictions; + map<int, pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double>> equation_restrictions; + vector<pair<pair<var_restriction_eq_crosseq_t, var_restriction_eq_crosseq_t>, double>> crossequation_restrictions; //! > covariance restrictions map<pair<int, int>, double> covariance_number_restriction; - map<pair<int, int>, pair<int, int> > covariance_pair_restriction; + map<pair<int, int>, pair<int, int>> covariance_pair_restriction; //! Error handler with explicit location void error(const Dynare::parser::location_type &l, const string &m) __attribute__ ((noreturn)); diff --git a/src/Shocks.hh b/src/Shocks.hh index cf5f3bf26e30b745543510b084ebb36857f33f0f..6a5c89dcaef865d49bb94b6273dcdba79df97d68 100644 --- a/src/Shocks.hh +++ b/src/Shocks.hh @@ -41,7 +41,7 @@ public: }; //The boolean element indicates if the shock is a surprise (false) or a perfect foresight (true) shock. //This boolean is used only in case of conditional forecast with extended path method (simulation_type = deterministic). - typedef map<int, vector<DetShockElement> > det_shocks_t; + typedef map<int, vector<DetShockElement>> det_shocks_t; protected: //! Is this statement a "mshocks" statement ? (instead of a "shocks" statement) const bool mshocks; diff --git a/src/Statement.hh b/src/Statement.hh index 4f45b9b7905bd7e1be086bd631f947945d612519..39c7391539be2d89f1b418545be7e9bc26b9b44b 100644 --- a/src/Statement.hh +++ b/src/Statement.hh @@ -176,12 +176,12 @@ class OptionsList { public: typedef map<string, string> num_options_t; - typedef map<string, pair<string, string> > paired_num_options_t; + typedef map<string, pair<string, string>> paired_num_options_t; typedef map<string, string> string_options_t; typedef map<string, string> date_options_t; typedef map<string, SymbolList> symbol_list_options_t; - typedef map<string, vector<int> > vec_int_options_t; - typedef map<string, vector<string > > vec_str_options_t; + typedef map<string, vector<int>> vec_int_options_t; + typedef map<string, vector<string >> vec_str_options_t; num_options_t num_options; paired_num_options_t paired_num_options; string_options_t string_options; diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 9dd353fc0930eec06c1c814912a6bf57052ac5dd..0a0e017385976d739277ea086573dc71a16169d7 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -72,7 +72,7 @@ StaticModel::compileChainRuleDerivative(ofstream &code_file, unsigned int &instr void StaticModel::computeTemporaryTermsOrdered() { - map<expr_t, pair<int, int> > first_occurence; + map<expr_t, pair<int, int>> first_occurence; map<expr_t, int> reference_count; BinaryOpNode *eq_node; first_derivatives_t::const_iterator it; @@ -82,8 +82,8 @@ StaticModel::computeTemporaryTermsOrdered() map_idx.clear(); unsigned int nb_blocks = getNbBlocks(); - v_temporary_terms = vector< vector<temporary_terms_t> >(nb_blocks); - v_temporary_terms_local = vector< vector<temporary_terms_t> >(nb_blocks); + v_temporary_terms = vector< vector<temporary_terms_t>>(nb_blocks); + v_temporary_terms_local = vector< vector<temporary_terms_t>>(nb_blocks); v_temporary_terms_inuse = vector<temporary_terms_inuse_t>(nb_blocks); @@ -96,7 +96,7 @@ StaticModel::computeTemporaryTermsOrdered() { map<expr_t, int> reference_count_local; reference_count_local.clear(); - map<expr_t, pair<int, int> > first_occurence_local; + map<expr_t, pair<int, int>> first_occurence_local; first_occurence_local.clear(); temporary_terms_t temporary_terms_l; temporary_terms_l.clear(); @@ -454,7 +454,7 @@ StaticModel::writeModelEquationsCode(const string file_name, const string bin_ba fjmp_if_eval.write(code_file, instruction_number); int prev_instruction_number = instruction_number; - vector<vector<pair<int, int> > > derivatives; + vector<vector<pair<int, int>>> derivatives; derivatives.resize(symbol_table.endo_nbr()); count_u = symbol_table.endo_nbr(); for (const auto & first_derivative : first_derivatives) @@ -485,7 +485,7 @@ StaticModel::writeModelEquationsCode(const string file_name, const string bin_ba fldr.write(code_file, instruction_number); if (derivatives[i].size()) { - for (vector<pair<int, int> >::const_iterator it = derivatives[i].begin(); + for (vector<pair<int, int>>::const_iterator it = derivatives[i].begin(); it != derivatives[i].end(); it++) { FLDSU_ fldsu(it->second); @@ -1022,10 +1022,10 @@ StaticModel::Write_Inf_To_Bin_File_Block(const string &static_basename, const st SaveCode.close(); } -map<pair<int, pair<int, int > >, expr_t> +map<pair<int, pair<int, int >>, expr_t> StaticModel::collect_first_order_derivatives_endogenous() { - map<pair<int, pair<int, int > >, expr_t> endo_derivatives; + map<pair<int, pair<int, int >>, expr_t> endo_derivatives; for (auto & first_derivative : first_derivatives) { if (getTypeByDerivID(first_derivative.first.second) == eEndogenous) @@ -1107,7 +1107,7 @@ StaticModel::computingPass(const eval_context_t &eval_context, bool no_tmp_terms vector<unsigned int> n_static, n_forward, n_backward, n_mixed; // for each block contains pair<Size, Feddback_variable> - vector<pair<int, int> > blocks; + vector<pair<int, int>> blocks; evaluateAndReduceJacobian(eval_context, contemporaneous_jacobian, static_jacobian, dynamic_jacobian, cutoff, false); @@ -1115,7 +1115,7 @@ StaticModel::computingPass(const eval_context_t &eval_context, bool no_tmp_terms computePrologueAndEpilogue(static_jacobian, equation_reordered, variable_reordered); - map<pair<int, pair<int, int> >, expr_t> first_order_endo_derivatives = collect_first_order_derivatives_endogenous(); + map<pair<int, pair<int, int>>, expr_t> first_order_endo_derivatives = collect_first_order_derivatives_endogenous(); equation_type_and_normalized_equation = equationTypeDetermination(first_order_endo_derivatives, variable_reordered, equation_reordered, mfs); @@ -2197,10 +2197,10 @@ StaticModel::addAllParamDerivId(set<int> &deriv_id_set) deriv_id_set.insert(i + symbol_table.endo_nbr()); } -map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> +map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> StaticModel::get_Derivatives(int block) { - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> Derivatives; + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> Derivatives; Derivatives.clear(); int block_size = getBlockSize(block); int block_nb_recursive = block_size - getBlockMfs(block); @@ -2214,7 +2214,7 @@ StaticModel::get_Derivatives(int block) if (dynamic_jacobian.find(make_pair(lag, make_pair(eqr, varr))) != dynamic_jacobian.end()) { bool OK = true; - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int>::const_iterator its = Derivatives.find(make_pair(make_pair(lag, make_pair(eq, var)), make_pair(eqr, varr))); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int>::const_iterator its = Derivatives.find(make_pair(make_pair(lag, make_pair(eq, var)), make_pair(eqr, varr))); if (its != Derivatives.end()) { if (its->second == 2) @@ -2272,12 +2272,12 @@ StaticModel::computeChainRuleJacobian(blocks_derivatives_t &blocks_derivatives) else recursive_variables[getDerivID(symbol_table.getID(eEndogenous, getBlockVariableID(block, i)), 0)] = getBlockEquationExpr(block, i); } - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> Derivatives = get_Derivatives(block); - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int>::const_iterator it = Derivatives.begin(); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> Derivatives = get_Derivatives(block); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int>::const_iterator it = Derivatives.begin(); for (int i = 0; i < (int) Derivatives.size(); i++) { int Deriv_type = it->second; - pair<pair<int, pair<int, int> >, pair<int, int> > it_l(it->first); + pair<pair<int, pair<int, int>>, pair<int, int>> it_l(it->first); it++; int lag = it_l.first.first; int eq = it_l.first.second.first; @@ -2345,8 +2345,8 @@ StaticModel::collect_block_first_order_derivatives() } } derivative_endo = vector<derivative_t>(nb_blocks); - endo_max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); - max_leadlag_block = vector<pair<int, int> >(nb_blocks, make_pair(0, 0)); + endo_max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); + max_leadlag_block = vector<pair<int, int>>(nb_blocks, make_pair(0, 0)); for (auto & first_derivative : first_derivatives) { int eq = first_derivative.first.first; diff --git a/src/StaticModel.hh b/src/StaticModel.hh index fcdd59f606f3cf909e662c47e2748b6e7faea02c..14feb5f1f86bd05f3b7aeb29ef420910f4b404cf 100644 --- a/src/StaticModel.hh +++ b/src/StaticModel.hh @@ -31,14 +31,14 @@ class StaticModel : public ModelTree { private: //! global temporary terms for block decomposed models - vector<vector<temporary_terms_t> > v_temporary_terms; + vector<vector<temporary_terms_t>> v_temporary_terms; //! local temporary terms for block decomposed models - vector<vector<temporary_terms_t> > v_temporary_terms_local; + vector<vector<temporary_terms_t>> v_temporary_terms_local; vector<temporary_terms_inuse_t> v_temporary_terms_inuse; - typedef map< pair< int, pair< int, int> >, expr_t> first_chain_rule_derivatives_t; + typedef map< pair< int, pair< int, int>>, expr_t> first_chain_rule_derivatives_t; first_chain_rule_derivatives_t first_chain_rule_derivatives; //! Writes static model file (standard Matlab version) @@ -95,11 +95,11 @@ private: //! Compute the column indices of the static Jacobian void computeStatJacobianCols(); //! return a map on the block jacobian - map<pair<pair<int, pair<int, int> >, pair<int, int> >, int> get_Derivatives(int block); + map<pair<pair<int, pair<int, int>>, pair<int, int>>, int> get_Derivatives(int block); //! Computes chain rule derivatives of the Jacobian w.r. to endogenous variables void computeChainRuleJacobian(blocks_derivatives_t &blocks_derivatives); //! Collect only the first derivatives - map<pair<int, pair<int, int> >, expr_t> collect_first_order_derivatives_endogenous(); + map<pair<int, pair<int, int>>, expr_t> collect_first_order_derivatives_endogenous(); //! Collecte the derivatives w.r. to endogenous of the block, to endogenous of previouys blocks and to exogenous void collect_block_first_order_derivatives(); @@ -111,7 +111,7 @@ protected: //! Vector describing equations: BlockSimulationType, if BlockSimulationType == EVALUATE_s then a expr_t on the new normalized equation equation_type_and_normalized_equation_t equation_type_and_normalized_equation; - //! for each block contains pair< Simulation_Type, pair < Block_Size, Recursive_part_Size > > + //! for each block contains pair< Simulation_Type, pair < Block_Size, Recursive_part_Size >> block_type_firstequation_size_mfs_t block_type_firstequation_size_mfs; //! for all blocks derivatives description @@ -124,7 +124,7 @@ protected: vector<bool> blocks_linear; //! Map the derivatives for a block pair<lag, make_pair(make_pair(eq, var)), expr_t> - typedef map<pair< int, pair<int, int> >, expr_t> derivative_t; + typedef map<pair< int, pair<int, int>>, expr_t> derivative_t; //! Vector of derivative for each blocks vector<derivative_t> derivative_endo, derivative_other_endo, derivative_exo, derivative_exo_det; @@ -134,16 +134,16 @@ protected: vector<lag_var_t> other_endo_block, exo_block, exo_det_block; //! for each block described the number of static, forward, backward and mixed variables in the block - /*! pair< pair<static, forward>, pair<backward,mixed> > */ - vector<pair< pair<int, int>, pair<int, int> > > block_col_type; + /*! pair< pair<static, forward>, pair<backward,mixed>> */ + vector<pair< pair<int, int>, pair<int, int>>> block_col_type; //! List for each variable its block number and its maximum lag and lead inside the block - vector<pair<int, pair<int, int> > > variable_block_lead_lag; + vector<pair<int, pair<int, int>>> variable_block_lead_lag; //! List for each equation its block number vector<int> equation_block; //!Maximum lead and lag for each block on endogenous of the block, endogenous of the previous blocks, exogenous and deterministic exogenous - vector<pair<int, int> > endo_max_leadlag_block, other_endo_max_leadlag_block, exo_max_leadlag_block, exo_det_max_leadlag_block, max_leadlag_block; + vector<pair<int, int>> endo_max_leadlag_block, other_endo_max_leadlag_block, exo_max_leadlag_block, exo_det_max_leadlag_block, max_leadlag_block; //! Helper functions for writeStaticModel void writeStaticModelHelper(const string &name, const string &retvalname, diff --git a/src/SteadyStateModel.cc b/src/SteadyStateModel.cc index 8af236963fb39ce0bf3338b977096e9442bfb13a..8de976a6caf8de32a4859cdd20ef4abc4749a0a9 100644 --- a/src/SteadyStateModel.cc +++ b/src/SteadyStateModel.cc @@ -274,7 +274,7 @@ SteadyStateModel::writeJsonSteadyStateFile(ostream &output, bool transformComput if (def_table.size() == 0) return; - vector<pair<string, string> > eqtags; + vector<pair<string, string>> eqtags; output << "{\"steady_state_model\": ["; diff --git a/src/SteadyStateModel.hh b/src/SteadyStateModel.hh index 2c3a23c5f7e6a441e8d24d389f869173dfb80e16..977765049e9aa2b4ba3dba0c8192df1870e57246 100644 --- a/src/SteadyStateModel.hh +++ b/src/SteadyStateModel.hh @@ -29,7 +29,7 @@ class SteadyStateModel : public DataTree { private: //! Associates a set of symbol IDs (the variable(s) assigned in a given statement) to an expression (their assigned value) - vector<pair<vector<int>, expr_t> > def_table; + vector<pair<vector<int>, expr_t>> def_table; //! Reference to static model (for writing auxiliary equations) const StaticModel &static_model; diff --git a/src/SymbolTable.cc b/src/SymbolTable.cc index 143b92dc9514a39521ce862d39e90463103bb507..f9f21917a371ce18c1f4650850ec46bdae48ccf5 100644 --- a/src/SymbolTable.cc +++ b/src/SymbolTable.cc @@ -191,10 +191,10 @@ SymbolTable::getID(SymbolType type, int tsid) const noexcept(false) } } -map<string, map<int, string> > +map<string, map<int, string>> SymbolTable::getPartitionsForType(enum SymbolType st) const noexcept(false) { - map<string, map<int, string> > partitions; + map<string, map<int, string>> partitions; for (const auto & it : partition_value_map) if (getType(it.first) == st) for (auto it1 = it.second.begin(); @@ -222,8 +222,8 @@ SymbolTable::writeOutput(ostream &output) const noexcept(false) output << "M_.exo_names(" << id+1 << ") = {'" << getName(exo_ids[id]) << "'};" << endl << "M_.exo_names_tex(" << id+1 << ") = {'" << getTeXName(exo_ids[id]) << "'};" << endl << "M_.exo_names_long(" << id+1 << ") = {'" << getLongName(exo_ids[id]) << "'};" << endl; - map<string, map<int, string> > partitions = getPartitionsForType(eExogenous); - for (map<string, map<int, string> >::const_iterator it = partitions.begin(); + map<string, map<int, string>> partitions = getPartitionsForType(eExogenous); + for (map<string, map<int, string>>::const_iterator it = partitions.begin(); it != partitions.end(); it++) if (it->first != "long_name") { @@ -251,8 +251,8 @@ SymbolTable::writeOutput(ostream &output) const noexcept(false) << "M_.exo_det_names_tex(" << id+1 << ") = {'" << getTeXName(exo_det_ids[id]) << "'};" << endl << "M_.exo_det_names_long(" << id+1 << ") = {'" << getLongName(exo_det_ids[id]) << "'};" << endl; output << "M_.exo_det_partitions = struct();" << endl; - map<string, map<int, string> > partitions = getPartitionsForType(eExogenousDet); - for (map<string, map<int, string> >::const_iterator it = partitions.begin(); + map<string, map<int, string>> partitions = getPartitionsForType(eExogenousDet); + for (map<string, map<int, string>>::const_iterator it = partitions.begin(); it != partitions.end(); it++) if (it->first != "long_name") { @@ -280,8 +280,8 @@ SymbolTable::writeOutput(ostream &output) const noexcept(false) << "M_.endo_names_tex(" << id+1 << ") = {'" << getTeXName(endo_ids[id]) << "'};" << endl << "M_.endo_names_long(" << id+1 << ") = {'" << getLongName(endo_ids[id]) << "'};" << endl; output << "M_.endo_partitions = struct();" << endl; - map<string, map<int, string> > partitions = getPartitionsForType(eEndogenous); - for (map<string, map<int, string> >::const_iterator it = partitions.begin(); + map<string, map<int, string>> partitions = getPartitionsForType(eEndogenous); + for (map<string, map<int, string>>::const_iterator it = partitions.begin(); it != partitions.end(); it++) if (it->first != "long_name") { @@ -313,8 +313,8 @@ SymbolTable::writeOutput(ostream &output) const noexcept(false) output << "options_.dsge_var = 1;" << endl; } output << "M_.param_partitions = struct();" << endl; - map<string, map<int, string> > partitions = getPartitionsForType(eParameter); - for (map<string, map<int, string> >::const_iterator it = partitions.begin(); + map<string, map<int, string>> partitions = getPartitionsForType(eParameter); + for (map<string, map<int, string>>::const_iterator it = partitions.begin(); it != partitions.end(); it++) if (it->first != "long_name") { diff --git a/src/SymbolTable.hh b/src/SymbolTable.hh index dc7291e77d608632a4d79c4e38d7d57f2521da87..aa0d669a0ec10e9308aaecc3f144d4af81133b73 100644 --- a/src/SymbolTable.hh +++ b/src/SymbolTable.hh @@ -127,7 +127,7 @@ private: //! Maps IDs to string names of variables vector<string> long_name_table; //! Maps IDs to a pair containing the partition and the partition value - map<int, map<string, string> > partition_value_map; + map<int, map<string, string>> partition_value_map; //! Maps IDs to types vector<SymbolType> type_table; @@ -315,7 +315,7 @@ public: //! Returns true if the partition name is the first encountered for the type of variable represented by id bool isFirstOfPartitionForType(int id) const noexcept(false); //! Returns a list of partitions and symbols that belong to that partition - map<string, map<int, string> > getPartitionsForType(enum SymbolType st) const noexcept(false); + map<string, map<int, string>> getPartitionsForType(enum SymbolType st) const noexcept(false); //! Get type (by ID) inline SymbolType getType(int id) const noexcept(false); //! Get type (by name) diff --git a/src/macro/MacroDriver.hh b/src/macro/MacroDriver.hh index 9becac35d14bb5abb76f39d3c3bc6ef6882c3455..f54524707916ab657681aa00cb3a85d063d257bf 100644 --- a/src/macro/MacroDriver.hh +++ b/src/macro/MacroDriver.hh @@ -163,7 +163,7 @@ private: //! Stack used to keep track of (possibly nested) loops //! First element is loop variable name, second is the array over which iteration is done, and third is subscript to be used by next call of iter_loop() (beginning with 0) */ - stack<pair<string, pair<const MacroValue *, int> > > loop_stack; + stack<pair<string, pair<const MacroValue *, int>>> loop_stack; public: //! Exception thrown when value of an unknown variable is requested class UnknownVariable