diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 27f422ae..39fcc901 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -378,23 +378,21 @@ VarModelStatement::VarModelStatement(const SymbolList &symbol_list_arg, } void -VarModelStatement::getVarModelInfoForVarExpectation(map > &var_model_info) const +VarModelStatement::getVarModelInfo(string &var_model_name, + map > &var_model_info, + map > &var_model_eqtags) const { + var_model_name = name; if (symbol_list.empty()) - return; - - OptionsList::num_options_t::const_iterator it = options_list.num_options.find("var.order"); - var_model_info[name] = make_pair(symbol_list, atoi(it->second.c_str())); -} - -void -VarModelStatement::getVarModelEqTags(map > &var_model_eqtags) const -{ - if (!symbol_list.empty()) - return; - - OptionsList::vec_str_options_t::const_iterator it = options_list.vector_str_options.find("var.eqtags"); - var_model_eqtags[name] = it->second; + { + OptionsList::vec_str_options_t::const_iterator it = options_list.vector_str_options.find("var.eqtags"); + var_model_eqtags[name] = it->second; + } + else + { + OptionsList::num_options_t::const_iterator it = options_list.num_options.find("var.order"); + var_model_info[name] = make_pair(symbol_list, atoi(it->second.c_str())); + } } void @@ -414,12 +412,6 @@ VarModelStatement::fillVarModelInfoFromEquations(vector &eqnumber_arg, vect max_lag = max_lag_arg; } -void -VarModelStatement::getVarModelName(string &var_model_name) const -{ - var_model_name = name; -} - void VarModelStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) { diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index b0d5584a..bec95f75 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -159,14 +159,14 @@ public: const OptionsList &options_list_arg, const string &name_arg, const SymbolTable &symbol_table_arg); - void getVarModelInfoForVarExpectation(map > &var_model_info) const; - void getVarModelEqTags(map > &var_model_eqtags) const; + void getVarModelInfo(string &var_model_name, + map > &var_model_info, + map > &var_model_eqtags) const; void fillVarModelInfoFromEquations(vector &eqnumber_arg, vector &lhs_arg, vector > > &rhs_arg, vector &nonstationary_arg, vector &diff_arg, vector &orig_diff_var_arg, int max_lag_arg); - void getVarModelName(string &var_model_name) const; virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const; void createVarModelMFunction(ostream &output, const map > &var_expectation_functions_to_write) const; diff --git a/src/ModFile.cc b/src/ModFile.cc index d9eea198..b025d60a 100644 --- a/src/ModFile.cc +++ b/src/ModFile.cc @@ -373,7 +373,8 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const // Var Model map > var_model_info_var_expectation; map > var_model_eq_tags; - map, pair, vector > >, pair >, vector > > > var_model_info_pac_expectation; + map, pair, vector > >, pair >, vector > > > + var_model_info_pac_expectation; for (vector::const_iterator it = statements.begin(); it != statements.end(); it++) { @@ -381,9 +382,7 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const if (vms != NULL) { string var_model_name; - vms->getVarModelName(var_model_name); - vms->getVarModelEqTags(var_model_eq_tags); - vms->getVarModelInfoForVarExpectation(var_model_info_var_expectation); + vms->getVarModelInfoForVarExpectation(var_model_name, var_model_info_var_expectation, var_model_eq_tags); vector eqnumber, lhs, orig_diff_var; vector > > rhs; vector nonstationary, diff;