preprocessor: add minimal_workspace option to dynare statement, #946

issue#70
Houtan Bastani 2015-05-28 11:42:12 +02:00
parent 0a2f09566f
commit 35cd407f5f
14 changed files with 194 additions and 184 deletions

View File

@ -44,7 +44,7 @@ SteadyStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidati
} }
void void
SteadyStatement::writeOutput(ostream &output, const string &basename) const SteadyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "steady;" << endl; output << "steady;" << endl;
@ -56,7 +56,7 @@ CheckStatement::CheckStatement(const OptionsList &options_list_arg) :
} }
void void
CheckStatement::writeOutput(ostream &output, const string &basename) const CheckStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "oo_.dr.eigval = check(M_,options_,oo_);" << endl; output << "oo_.dr.eigval = check(M_,options_,oo_);" << endl;
@ -80,7 +80,7 @@ ModelInfoStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
} }
void void
ModelInfoStatement::writeOutput(ostream &output, const string &basename) const ModelInfoStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "model_info();" << endl; output << "model_info();" << endl;
@ -98,7 +98,7 @@ SimulStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidatio
} }
void void
SimulStatement::writeOutput(ostream &output, const string &basename) const SimulStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "perfect_foresight_setup;" << endl output << "perfect_foresight_setup;" << endl
@ -111,7 +111,7 @@ PerfectForesightSetupStatement::PerfectForesightSetupStatement(const OptionsList
} }
void void
PerfectForesightSetupStatement::writeOutput(ostream &output, const string &basename) const PerfectForesightSetupStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "perfect_foresight_setup;" << endl; output << "perfect_foresight_setup;" << endl;
@ -129,7 +129,7 @@ PerfectForesightSolverStatement::checkPass(ModFileStructure &mod_file_struct, Wa
} }
void void
PerfectForesightSolverStatement::writeOutput(ostream &output, const string &basename) const PerfectForesightSolverStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "perfect_foresight_solver;" << endl; output << "perfect_foresight_solver;" << endl;
@ -166,7 +166,7 @@ StochSimulStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
} }
void void
StochSimulStatement::writeOutput(ostream &output, const string &basename) const StochSimulStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// Ensure that order 3 implies k_order (#844) // Ensure that order 3 implies k_order (#844)
OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order"); OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order");
@ -188,7 +188,7 @@ ForecastStatement::ForecastStatement(const SymbolList &symbol_list_arg,
} }
void void
ForecastStatement::writeOutput(ostream &output, const string &basename) const ForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
@ -235,7 +235,7 @@ RamseyModelStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
} }
void void
RamseyModelStatement::writeOutput(ostream &output, const string &basename) const RamseyModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// options_.ramsey_policy indicates that a Ramsey model is present in the *.mod file // options_.ramsey_policy indicates that a Ramsey model is present in the *.mod file
// this affects the computation of the steady state that uses a special algorithm // this affects the computation of the steady state that uses a special algorithm
@ -296,7 +296,7 @@ RamseyPolicyStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
} }
void void
RamseyPolicyStatement::writeOutput(ostream &output, const string &basename) const RamseyPolicyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// Ensure that order 3 implies k_order (#844) // Ensure that order 3 implies k_order (#844)
OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order"); OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order");
@ -356,7 +356,7 @@ DiscretionaryPolicyStatement::checkPass(ModFileStructure &mod_file_struct, Warni
} }
void void
DiscretionaryPolicyStatement::writeOutput(ostream &output, const string &basename) const DiscretionaryPolicyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// Ensure that order 3 implies k_order (#844) // Ensure that order 3 implies k_order (#844)
OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order"); OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order");
@ -462,7 +462,7 @@ EstimationStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
} }
void void
EstimationStatement::writeOutput(ostream &output, const string &basename) const EstimationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
@ -497,7 +497,7 @@ DynareSensitivityStatement::checkPass(ModFileStructure &mod_file_struct, Warning
} }
void void
DynareSensitivityStatement::writeOutput(ostream &output, const string &basename) const DynareSensitivityStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output, "options_gsa"); options_list.writeOutput(output, "options_gsa");
@ -524,7 +524,7 @@ RplotStatement::RplotStatement(const SymbolList &symbol_list_arg) :
} }
void void
RplotStatement::writeOutput(ostream &output, const string &basename) const RplotStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
output << "rplot(var_list_);" << endl; output << "rplot(var_list_);" << endl;
@ -535,7 +535,7 @@ UnitRootVarsStatement::UnitRootVarsStatement(void)
} }
void void
UnitRootVarsStatement::writeOutput(ostream &output, const string &basename) const UnitRootVarsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_.diffuse_filter = 1;" << endl output << "options_.diffuse_filter = 1;" << endl
<< "options_.steadystate.nocheck = 1;" << endl; << "options_.steadystate.nocheck = 1;" << endl;
@ -546,7 +546,7 @@ PeriodsStatement::PeriodsStatement(int periods_arg) : periods(periods_arg)
} }
void void
PeriodsStatement::writeOutput(ostream &output, const string &basename) const PeriodsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_.periods = " << periods << ";" << endl; output << "options_.periods = " << periods << ";" << endl;
} }
@ -560,7 +560,7 @@ DsampleStatement::DsampleStatement(int val1_arg, int val2_arg) : val1(val1_arg),
} }
void void
DsampleStatement::writeOutput(ostream &output, const string &basename) const DsampleStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
if (val2 < 0) if (val2 < 0)
output << "dsample(" << val1 << ");" << endl; output << "dsample(" << val1 << ");" << endl;
@ -640,7 +640,7 @@ EstimatedParamsStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
} }
void void
EstimatedParamsStatement::writeOutput(ostream &output, const string &basename) const EstimatedParamsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "global estim_params_" << endl output << "global estim_params_" << endl
<< "estim_params_.var_exo = [];" << endl << "estim_params_.var_exo = [];" << endl
@ -715,7 +715,7 @@ EstimatedParamsInitStatement::checkPass(ModFileStructure &mod_file_struct, Warni
} }
void void
EstimatedParamsInitStatement::writeOutput(ostream &output, const string &basename) const EstimatedParamsInitStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
if (use_calibration) if (use_calibration)
output << "options_.use_calibration_initialization = 1;" << endl; output << "options_.use_calibration_initialization = 1;" << endl;
@ -781,7 +781,7 @@ EstimatedParamsBoundsStatement::EstimatedParamsBoundsStatement(const vector<Esti
} }
void void
EstimatedParamsBoundsStatement::writeOutput(ostream &output, const string &basename) const EstimatedParamsBoundsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
vector<EstimationParams>::const_iterator it; vector<EstimationParams>::const_iterator it;
@ -869,7 +869,7 @@ ObservationTrendsStatement::ObservationTrendsStatement(const trend_elements_t &t
} }
void void
ObservationTrendsStatement::writeOutput(ostream &output, const string &basename) const ObservationTrendsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_.trend_coeff_ = {};" << endl; output << "options_.trend_coeff_ = {};" << endl;
@ -902,7 +902,7 @@ OsrParamsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
} }
void void
OsrParamsStatement::writeOutput(ostream &output, const string &basename) const OsrParamsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
symbol_list.writeOutput("osr_params_", output); symbol_list.writeOutput("osr_params_", output);
} }
@ -937,7 +937,7 @@ OsrStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation
} }
void void
OsrStatement::writeOutput(ostream &output, const string &basename) const OsrStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// Ensure that order 3 implies k_order (#844) // Ensure that order 3 implies k_order (#844)
OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order"); OptionsList::num_options_t::const_iterator it = options_list.num_options.find("order");
@ -967,7 +967,7 @@ OptimWeightsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
} }
void void
OptimWeightsStatement::writeOutput(ostream &output, const string &basename) const OptimWeightsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% OPTIM_WEIGHTS" << endl << "% OPTIM_WEIGHTS" << endl
@ -1010,7 +1010,7 @@ DynaSaveStatement::DynaSaveStatement(const SymbolList &symbol_list_arg,
} }
void void
DynaSaveStatement::writeOutput(ostream &output, const string &basename) const DynaSaveStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
output << "dynasave('" << filename output << "dynasave('" << filename
@ -1025,7 +1025,7 @@ DynaTypeStatement::DynaTypeStatement(const SymbolList &symbol_list_arg,
} }
void void
DynaTypeStatement::writeOutput(ostream &output, const string &basename) const DynaTypeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
output << "dynatype('" << filename output << "dynatype('" << filename
@ -1040,7 +1040,7 @@ ModelComparisonStatement::ModelComparisonStatement(const filename_list_t &filena
} }
void void
ModelComparisonStatement::writeOutput(ostream &output, const string &basename) const ModelComparisonStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1086,7 +1086,7 @@ PlannerObjectiveStatement::computingPass()
} }
void void
PlannerObjectiveStatement::writeOutput(ostream &output, const string &basename) const PlannerObjectiveStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
model_tree->writeStaticFile(basename + "_objective", false, false, false); model_tree->writeStaticFile(basename + "_objective", false, false, false);
} }
@ -1104,7 +1104,7 @@ BVARDensityStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
} }
void void
BVARDensityStatement::writeOutput(ostream &output, const string &basename) const BVARDensityStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "bvar_density(" << maxnlags << ");" << endl; output << "bvar_density(" << maxnlags << ");" << endl;
@ -1123,7 +1123,7 @@ BVARForecastStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
} }
void void
BVARForecastStatement::writeOutput(ostream &output, const string &basename) const BVARForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "bvar_forecast(" << nlags << ");" << endl; output << "bvar_forecast(" << nlags << ");" << endl;
@ -1141,7 +1141,7 @@ SBVARStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidatio
} }
void void
SBVARStatement::writeOutput(ostream &output, const string &basename) const SBVARStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
output << "sbvar(M_,options_);" << endl; output << "sbvar(M_,options_);" << endl;
@ -1168,7 +1168,7 @@ MSSBVAREstimationStatement::checkPass(ModFileStructure &mod_file_struct, Warning
} }
void void
MSSBVAREstimationStatement::writeOutput(ostream &output, const string &basename) const MSSBVAREstimationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl
<< "options_.datafile = '';" << endl; << "options_.datafile = '';" << endl;
@ -1188,7 +1188,7 @@ MSSBVARSimulationStatement::checkPass(ModFileStructure &mod_file_struct, Warning
} }
void void
MSSBVARSimulationStatement::writeOutput(ostream &output, const string &basename) const MSSBVARSimulationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1216,7 +1216,7 @@ MSSBVARComputeMDDStatement::checkPass(ModFileStructure &mod_file_struct, Warning
} }
void void
MSSBVARComputeMDDStatement::writeOutput(ostream &output, const string &basename) const MSSBVARComputeMDDStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1243,7 +1243,7 @@ MSSBVARComputeProbabilitiesStatement::checkPass(ModFileStructure &mod_file_struc
} }
void void
MSSBVARComputeProbabilitiesStatement::writeOutput(ostream &output, const string &basename) const MSSBVARComputeProbabilitiesStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1289,7 +1289,7 @@ MSSBVARIrfStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
} }
void void
MSSBVARIrfStatement::writeOutput(ostream &output, const string &basename) const MSSBVARIrfStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
@ -1316,7 +1316,7 @@ MSSBVARForecastStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
} }
void void
MSSBVARForecastStatement::writeOutput(ostream &output, const string &basename) const MSSBVARForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1360,7 +1360,7 @@ MSSBVARVarianceDecompositionStatement::checkPass(ModFileStructure &mod_file_stru
} }
void void
MSSBVARVarianceDecompositionStatement::writeOutput(ostream &output, const string &basename) const MSSBVARVarianceDecompositionStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl; output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
options_list.writeOutput(output); options_list.writeOutput(output);
@ -1385,7 +1385,7 @@ IdentificationStatement::checkPass(ModFileStructure &mod_file_struct, WarningCon
} }
void void
IdentificationStatement::writeOutput(ostream &output, const string &basename) const IdentificationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output, "options_ident"); options_list.writeOutput(output, "options_ident");
@ -1412,7 +1412,7 @@ WriteLatexDynamicModelStatement::WriteLatexDynamicModelStatement(const DynamicMo
} }
void void
WriteLatexDynamicModelStatement::writeOutput(ostream &output, const string &basename) const WriteLatexDynamicModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
dynamic_model.writeLatexFile(basename); dynamic_model.writeLatexFile(basename);
} }
@ -1423,7 +1423,7 @@ WriteLatexStaticModelStatement::WriteLatexStaticModelStatement(const StaticModel
} }
void void
WriteLatexStaticModelStatement::writeOutput(ostream &output, const string &basename) const WriteLatexStaticModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
static_model.writeLatexFile(basename); static_model.writeLatexFile(basename);
} }
@ -1434,7 +1434,7 @@ WriteLatexOriginalModelStatement::WriteLatexOriginalModelStatement(const Dynamic
} }
void void
WriteLatexOriginalModelStatement::writeOutput(ostream &output, const string &basename) const WriteLatexOriginalModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
original_model.writeLatexOriginalFile(basename); original_model.writeLatexOriginalFile(basename);
} }
@ -1447,7 +1447,7 @@ ShockDecompositionStatement::ShockDecompositionStatement(const SymbolList &symbo
} }
void void
ShockDecompositionStatement::writeOutput(ostream &output, const string &basename) const ShockDecompositionStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
@ -1460,7 +1460,7 @@ ConditionalForecastStatement::ConditionalForecastStatement(const OptionsList &op
} }
void void
ConditionalForecastStatement::writeOutput(ostream &output, const string &basename) const ConditionalForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output, "options_cond_fcst_"); options_list.writeOutput(output, "options_cond_fcst_");
output << "imcforecast(constrained_paths_, constrained_vars_, options_cond_fcst_);" << endl; output << "imcforecast(constrained_paths_, constrained_vars_, options_cond_fcst_);" << endl;
@ -1473,7 +1473,7 @@ PlotConditionalForecastStatement::PlotConditionalForecastStatement(int periods_a
} }
void void
PlotConditionalForecastStatement::writeOutput(ostream &output, const string &basename) const PlotConditionalForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
if (periods == -1) if (periods == -1)
@ -1526,7 +1526,7 @@ SvarIdentificationStatement::checkPass(ModFileStructure &mod_file_struct, Warnin
} }
void void
SvarIdentificationStatement::writeOutput(ostream &output, const string &basename) const SvarIdentificationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
assert(!(upper_cholesky_present && lower_cholesky_present)); assert(!(upper_cholesky_present && lower_cholesky_present));
output << "%" << endl output << "%" << endl
@ -1743,7 +1743,7 @@ MarkovSwitchingStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
} }
void void
MarkovSwitchingStatement::writeOutput(ostream &output, const string &basename) const MarkovSwitchingStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
bool isDurationAVec = true; bool isDurationAVec = true;
string infStr("Inf"); string infStr("Inf");
@ -1852,7 +1852,7 @@ SvarStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation
} }
void void
SvarStatement::writeOutput(ostream &output, const string &basename) const SvarStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
OptionsList::num_options_t::const_iterator it0, it1, it2; OptionsList::num_options_t::const_iterator it0, it1, it2;
OptionsList::vec_int_options_t::const_iterator itv; OptionsList::vec_int_options_t::const_iterator itv;
@ -1898,7 +1898,7 @@ SetTimeStatement::SetTimeStatement(const OptionsList &options_list_arg) :
} }
void void
SetTimeStatement::writeOutput(ostream &output, const string &basename) const SetTimeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
} }
@ -1937,7 +1937,7 @@ EstimationDataStatement::checkPass(ModFileStructure &mod_file_struct, WarningCon
} }
void void
EstimationDataStatement::writeOutput(ostream &output, const string &basename) const EstimationDataStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output, "options_.dataset"); options_list.writeOutput(output, "options_.dataset");
} }
@ -1959,7 +1959,7 @@ SubsamplesStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
} }
void void
SubsamplesStatement::writeOutput(ostream &output, const string &basename) const SubsamplesStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "subsamples_indx = get_new_or_existing_ei_index('subsamples_index', '" output << "subsamples_indx = get_new_or_existing_ei_index('subsamples_index', '"
<< name1 << "','" << name2 << "');" << endl << name1 << "','" << name2 << "');" << endl
@ -2029,7 +2029,7 @@ SubsamplesEqualStatement::SubsamplesEqualStatement(const string &to_name1_arg,
} }
void void
SubsamplesEqualStatement::writeOutput(ostream &output, const string &basename) const SubsamplesEqualStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "subsamples_to_indx = get_new_or_existing_ei_index('subsamples_index', '" output << "subsamples_to_indx = get_new_or_existing_ei_index('subsamples_index', '"
<< to_name1 << "','" << to_name2 << "');" << endl << to_name1 << "','" << to_name2 << "');" << endl
@ -2123,7 +2123,7 @@ JointPriorStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
} }
void void
JointPriorStatement::writeOutput(ostream &output, const string &basename) const JointPriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
for (vector<string>::const_iterator it = joint_parameters.begin() ; it != joint_parameters.end(); it++) for (vector<string>::const_iterator it = joint_parameters.begin() ; it != joint_parameters.end(); it++)
output << "eifind = get_new_or_existing_ei_index('joint_parameter_prior_index', '" output << "eifind = get_new_or_existing_ei_index('joint_parameter_prior_index', '"
@ -2387,7 +2387,7 @@ PriorStatement::PriorStatement(const string &name_arg,
} }
void void
PriorStatement::writeOutput(ostream &output, const string &basename) const PriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field = "estimation_info.parameter(eifind)"; string lhs_field = "estimation_info.parameter(eifind)";
output << "eifind = get_new_or_existing_ei_index('parameter_prior_index', '" output << "eifind = get_new_or_existing_ei_index('parameter_prior_index', '"
@ -2424,7 +2424,7 @@ StdPriorStatement::StdPriorStatement(const string &name_arg,
} }
void void
StdPriorStatement::writeOutput(ostream &output, const string &basename) const StdPriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field; string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field); get_base_name(symbol_table.getType(name), lhs_field);
@ -2487,7 +2487,7 @@ CorrPriorStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
} }
void void
CorrPriorStatement::writeOutput(ostream &output, const string &basename) const CorrPriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field; string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field); get_base_name(symbol_table.getType(name), lhs_field);
@ -2575,7 +2575,7 @@ PriorEqualStatement::get_base_name(const SymbolType symb_type, string &lhs_field
} }
void void
PriorEqualStatement::writeOutput(ostream &output, const string &basename) const PriorEqualStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field, rhs_field; string lhs_field, rhs_field;
@ -2721,7 +2721,7 @@ OptionsStatement::OptionsStatement(const string &name_arg,
} }
void void
OptionsStatement::writeOutput(ostream &output, const string &basename) const OptionsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field = "estimation_info.parameter(eifind)"; string lhs_field = "estimation_info.parameter(eifind)";
output << "eifind = get_new_or_existing_ei_index('parameter_options_index', '" output << "eifind = get_new_or_existing_ei_index('parameter_options_index', '"
@ -2749,7 +2749,7 @@ StdOptionsStatement::StdOptionsStatement(const string &name_arg,
} }
void void
StdOptionsStatement::writeOutput(ostream &output, const string &basename) const StdOptionsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field; string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field); get_base_name(symbol_table.getType(name), lhs_field);
@ -2804,7 +2804,7 @@ CorrOptionsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
} }
void void
CorrOptionsStatement::writeOutput(ostream &output, const string &basename) const CorrOptionsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field; string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field); get_base_name(symbol_table.getType(name), lhs_field);
@ -2887,7 +2887,7 @@ OptionsEqualStatement::get_base_name(const SymbolType symb_type, string &lhs_fie
} }
void void
OptionsEqualStatement::writeOutput(ostream &output, const string &basename) const OptionsEqualStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
string lhs_field, rhs_field; string lhs_field, rhs_field;
@ -2961,7 +2961,7 @@ CalibSmootherStatement::checkPass(ModFileStructure &mod_file_struct, WarningCons
} }
void void
CalibSmootherStatement::writeOutput(ostream &output, const string &basename) const CalibSmootherStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output); options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output); symbol_list.writeOutput("var_list_", output);
@ -2988,7 +2988,7 @@ ExtendedPathStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
} }
void void
ExtendedPathStatement::writeOutput(ostream &output, const string &basename) const ExtendedPathStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
// Beware: options do not have the same name in the interface and in the M code... // Beware: options do not have the same name in the interface and in the M code...
@ -3007,7 +3007,7 @@ ModelDiagnosticsStatement::ModelDiagnosticsStatement()
} }
void void
ModelDiagnosticsStatement::writeOutput(ostream &output, const string &basename) const ModelDiagnosticsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "model_diagnostics(M_,options_,oo_);" << endl; output << "model_diagnostics(M_,options_,oo_);" << endl;
} }
@ -3018,7 +3018,7 @@ Smoother2histvalStatement::Smoother2histvalStatement(const OptionsList &options_
} }
void void
Smoother2histvalStatement::writeOutput(ostream &output, const string &basename) const Smoother2histvalStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
options_list.writeOutput(output, "options_smoother2histval"); options_list.writeOutput(output, "options_smoother2histval");
output << "smoother2histval(options_smoother2histval);" << endl; output << "smoother2histval(options_smoother2histval);" << endl;

View File

@ -35,7 +35,7 @@ private:
public: public:
SteadyStatement(const OptionsList &options_list_arg); SteadyStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class CheckStatement : public Statement class CheckStatement : public Statement
@ -45,7 +45,7 @@ private:
public: public:
CheckStatement(const OptionsList &options_list_arg); CheckStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SimulStatement : public Statement class SimulStatement : public Statement
@ -55,7 +55,7 @@ private:
public: public:
SimulStatement(const OptionsList &options_list_arg); SimulStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class PerfectForesightSetupStatement : public Statement class PerfectForesightSetupStatement : public Statement
@ -64,7 +64,7 @@ private:
const OptionsList options_list; const OptionsList options_list;
public: public:
PerfectForesightSetupStatement(const OptionsList &options_list_arg); PerfectForesightSetupStatement(const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class PerfectForesightSolverStatement : public Statement class PerfectForesightSolverStatement : public Statement
@ -74,7 +74,7 @@ private:
public: public:
PerfectForesightSolverStatement(const OptionsList &options_list_arg); PerfectForesightSolverStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ModelInfoStatement : public Statement class ModelInfoStatement : public Statement
@ -84,7 +84,7 @@ private:
public: public:
ModelInfoStatement(const OptionsList &options_list_arg); ModelInfoStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class StochSimulStatement : public Statement class StochSimulStatement : public Statement
@ -96,7 +96,7 @@ public:
StochSimulStatement(const SymbolList &symbol_list_arg, StochSimulStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ForecastStatement : public Statement class ForecastStatement : public Statement
@ -107,7 +107,7 @@ private:
public: public:
ForecastStatement(const SymbolList &symbol_list_arg, ForecastStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class RamseyModelStatement : public Statement class RamseyModelStatement : public Statement
@ -119,7 +119,7 @@ public:
RamseyModelStatement(const SymbolList &symbol_list_arg, RamseyModelStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class RamseyPolicyStatement : public Statement class RamseyPolicyStatement : public Statement
@ -131,7 +131,7 @@ public:
RamseyPolicyStatement(const SymbolList &symbol_list_arg, RamseyPolicyStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class DiscretionaryPolicyStatement : public Statement class DiscretionaryPolicyStatement : public Statement
@ -143,7 +143,7 @@ public:
DiscretionaryPolicyStatement(const SymbolList &symbol_list_arg, DiscretionaryPolicyStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class RplotStatement : public Statement class RplotStatement : public Statement
@ -152,14 +152,14 @@ private:
const SymbolList symbol_list; const SymbolList symbol_list;
public: public:
RplotStatement(const SymbolList &symbol_list_arg); RplotStatement(const SymbolList &symbol_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class UnitRootVarsStatement : public Statement class UnitRootVarsStatement : public Statement
{ {
public: public:
UnitRootVarsStatement(void); UnitRootVarsStatement(void);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class PeriodsStatement : public Statement class PeriodsStatement : public Statement
@ -168,7 +168,7 @@ private:
const int periods; const int periods;
public: public:
PeriodsStatement(int periods_arg); PeriodsStatement(int periods_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class DsampleStatement : public Statement class DsampleStatement : public Statement
@ -178,7 +178,7 @@ private:
public: public:
DsampleStatement(int val1_arg); DsampleStatement(int val1_arg);
DsampleStatement(int val1_arg, int val2_arg); DsampleStatement(int val1_arg, int val2_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class EstimationStatement : public Statement class EstimationStatement : public Statement
@ -190,7 +190,7 @@ public:
EstimationStatement(const SymbolList &symbol_list_arg, EstimationStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class DynareSensitivityStatement : public Statement class DynareSensitivityStatement : public Statement
@ -200,7 +200,7 @@ private:
public: public:
DynareSensitivityStatement(const OptionsList &options_list_arg); DynareSensitivityStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ObservationTrendsStatement : public Statement class ObservationTrendsStatement : public Statement
@ -213,7 +213,7 @@ private:
public: public:
ObservationTrendsStatement(const trend_elements_t &trend_elements_arg, ObservationTrendsStatement(const trend_elements_t &trend_elements_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class OsrParamsStatement : public Statement class OsrParamsStatement : public Statement
@ -223,7 +223,7 @@ private:
public: public:
OsrParamsStatement(const SymbolList &symbol_list_arg); OsrParamsStatement(const SymbolList &symbol_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class OsrStatement : public Statement class OsrStatement : public Statement
@ -235,7 +235,7 @@ public:
OsrStatement(const SymbolList &symbol_list_arg, OsrStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class DynaTypeStatement : public Statement class DynaTypeStatement : public Statement
@ -246,7 +246,7 @@ private:
public: public:
DynaTypeStatement(const SymbolList &symbol_list_arg, DynaTypeStatement(const SymbolList &symbol_list_arg,
const string &filename_arg); const string &filename_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class DynaSaveStatement : public Statement class DynaSaveStatement : public Statement
@ -257,7 +257,7 @@ private:
public: public:
DynaSaveStatement(const SymbolList &symbol_list_arg, DynaSaveStatement(const SymbolList &symbol_list_arg,
const string &filename_arg); const string &filename_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ModelComparisonStatement : public Statement class ModelComparisonStatement : public Statement
@ -270,7 +270,7 @@ private:
public: public:
ModelComparisonStatement(const filename_list_t &filename_list_arg, ModelComparisonStatement(const filename_list_t &filename_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
//! Temporary structure used when parsing estimation_params* statements //! Temporary structure used when parsing estimation_params* statements
@ -309,7 +309,7 @@ public:
EstimatedParamsStatement(const vector<EstimationParams> &estim_params_list_arg, EstimatedParamsStatement(const vector<EstimationParams> &estim_params_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class EstimatedParamsInitStatement : public Statement class EstimatedParamsInitStatement : public Statement
@ -323,7 +323,7 @@ public:
const SymbolTable &symbol_table_arg, const SymbolTable &symbol_table_arg,
const bool use_calibration_arg); const bool use_calibration_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class EstimatedParamsBoundsStatement : public Statement class EstimatedParamsBoundsStatement : public Statement
@ -334,7 +334,7 @@ private:
public: public:
EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_arg, EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class OptimWeightsStatement : public Statement class OptimWeightsStatement : public Statement
@ -351,7 +351,7 @@ public:
const covar_weights_t &covar_weights_arg, const covar_weights_t &covar_weights_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
/*! \todo Make model_tree a member instead of a pointer */ /*! \todo Make model_tree a member instead of a pointer */
@ -370,7 +370,7 @@ public:
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
/*! \todo allow for the possibility of disabling temporary terms */ /*! \todo allow for the possibility of disabling temporary terms */
virtual void computingPass(); virtual void computingPass();
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
//! Return the Planner Objective //! Return the Planner Objective
StaticModel *getPlannerObjective() const; StaticModel *getPlannerObjective() const;
}; };
@ -383,7 +383,7 @@ private:
public: public:
BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg); BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class BVARForecastStatement : public Statement class BVARForecastStatement : public Statement
@ -394,7 +394,7 @@ private:
public: public:
BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg); BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SBVARStatement : public Statement class SBVARStatement : public Statement
@ -404,7 +404,7 @@ private:
public: public:
SBVARStatement(const OptionsList &options_list_arg); SBVARStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVAREstimationStatement : public Statement class MSSBVAREstimationStatement : public Statement
@ -414,7 +414,7 @@ private:
public: public:
MSSBVAREstimationStatement(const OptionsList &options_list_arg); MSSBVAREstimationStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARSimulationStatement : public Statement class MSSBVARSimulationStatement : public Statement
@ -424,7 +424,7 @@ private:
public: public:
MSSBVARSimulationStatement(const OptionsList &options_list_arg); MSSBVARSimulationStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARComputeMDDStatement : public Statement class MSSBVARComputeMDDStatement : public Statement
@ -434,7 +434,7 @@ private:
public: public:
MSSBVARComputeMDDStatement(const OptionsList &options_list_arg); MSSBVARComputeMDDStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARComputeProbabilitiesStatement : public Statement class MSSBVARComputeProbabilitiesStatement : public Statement
@ -444,7 +444,7 @@ private:
public: public:
MSSBVARComputeProbabilitiesStatement(const OptionsList &options_list_arg); MSSBVARComputeProbabilitiesStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARIrfStatement : public Statement class MSSBVARIrfStatement : public Statement
@ -456,7 +456,7 @@ public:
MSSBVARIrfStatement(const SymbolList &symbol_list_arg, MSSBVARIrfStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARForecastStatement : public Statement class MSSBVARForecastStatement : public Statement
@ -466,7 +466,7 @@ private:
public: public:
MSSBVARForecastStatement(const OptionsList &options_list_arg); MSSBVARForecastStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MSSBVARVarianceDecompositionStatement : public Statement class MSSBVARVarianceDecompositionStatement : public Statement
@ -476,7 +476,7 @@ private:
public: public:
MSSBVARVarianceDecompositionStatement(const OptionsList &options_list_arg); MSSBVARVarianceDecompositionStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class IdentificationStatement : public Statement class IdentificationStatement : public Statement
@ -486,7 +486,7 @@ private:
public: public:
IdentificationStatement(const OptionsList &options_list_arg); IdentificationStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class WriteLatexDynamicModelStatement : public Statement class WriteLatexDynamicModelStatement : public Statement
@ -495,7 +495,7 @@ private:
const DynamicModel &dynamic_model; const DynamicModel &dynamic_model;
public: public:
WriteLatexDynamicModelStatement(const DynamicModel &dynamic_model_arg); WriteLatexDynamicModelStatement(const DynamicModel &dynamic_model_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class WriteLatexStaticModelStatement : public Statement class WriteLatexStaticModelStatement : public Statement
@ -504,7 +504,7 @@ private:
const StaticModel &static_model; const StaticModel &static_model;
public: public:
WriteLatexStaticModelStatement(const StaticModel &static_model_arg); WriteLatexStaticModelStatement(const StaticModel &static_model_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class WriteLatexOriginalModelStatement : public Statement class WriteLatexOriginalModelStatement : public Statement
@ -513,7 +513,7 @@ private:
const DynamicModel &original_model; const DynamicModel &original_model;
public: public:
WriteLatexOriginalModelStatement(const DynamicModel &original_model_arg); WriteLatexOriginalModelStatement(const DynamicModel &original_model_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ShockDecompositionStatement : public Statement class ShockDecompositionStatement : public Statement
@ -524,7 +524,7 @@ private:
public: public:
ShockDecompositionStatement(const SymbolList &symbol_list_arg, ShockDecompositionStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ConditionalForecastStatement : public Statement class ConditionalForecastStatement : public Statement
@ -533,7 +533,7 @@ private:
const OptionsList options_list; const OptionsList options_list;
public: public:
ConditionalForecastStatement(const OptionsList &options_list_arg); ConditionalForecastStatement(const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class PlotConditionalForecastStatement : public Statement class PlotConditionalForecastStatement : public Statement
@ -544,7 +544,7 @@ private:
const SymbolList symbol_list; const SymbolList symbol_list;
public: public:
PlotConditionalForecastStatement(int periods_arg, const SymbolList &symbol_list_arg); PlotConditionalForecastStatement(int periods_arg, const SymbolList &symbol_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class CalibSmootherStatement : public Statement class CalibSmootherStatement : public Statement
@ -556,7 +556,7 @@ public:
CalibSmootherStatement(const SymbolList &symbol_list_arg, CalibSmootherStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ExtendedPathStatement : public Statement class ExtendedPathStatement : public Statement
@ -566,7 +566,7 @@ private:
public: public:
ExtendedPathStatement(const OptionsList &options_list_arg); ExtendedPathStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SvarIdentificationStatement : public Statement class SvarIdentificationStatement : public Statement
@ -597,7 +597,7 @@ public:
const bool &constants_exclusion_present_arg, const bool &constants_exclusion_present_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MarkovSwitchingStatement : public Statement class MarkovSwitchingStatement : public Statement
@ -608,7 +608,7 @@ private:
public: public:
MarkovSwitchingStatement(const OptionsList &options_list_arg); MarkovSwitchingStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -619,7 +619,7 @@ private:
public: public:
SvarStatement(const OptionsList &options_list_arg); SvarStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SetTimeStatement : public Statement class SetTimeStatement : public Statement
@ -628,7 +628,7 @@ private:
const OptionsList options_list; const OptionsList options_list;
public: public:
SetTimeStatement(const OptionsList &options_list_arg); SetTimeStatement(const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class EstimationDataStatement : public Statement class EstimationDataStatement : public Statement
@ -638,7 +638,7 @@ private:
public: public:
EstimationDataStatement(const OptionsList &options_list_arg); EstimationDataStatement(const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SubsamplesStatement : public Statement class SubsamplesStatement : public Statement
@ -657,7 +657,7 @@ public:
const subsample_declaration_map_t subsample_declaration_map_arg, const subsample_declaration_map_t subsample_declaration_map_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SubsamplesEqualStatement : public Statement class SubsamplesEqualStatement : public Statement
@ -674,7 +674,7 @@ public:
const string &from_name1_arg, const string &from_name1_arg,
const string &from_name2_arg, const string &from_name2_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class JointPriorStatement : public Statement class JointPriorStatement : public Statement
@ -688,7 +688,7 @@ public:
const PriorDistributions &prior_shape_arg, const PriorDistributions &prior_shape_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const; void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
}; };
@ -732,7 +732,7 @@ public:
const PriorDistributions &prior_shape_arg, const PriorDistributions &prior_shape_arg,
const expr_t &variance_arg, const expr_t &variance_arg,
const OptionsList &options_list_arg); const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -747,7 +747,7 @@ public:
const expr_t &variance_arg, const expr_t &variance_arg,
const OptionsList &options_list_arg, const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -765,7 +765,7 @@ public:
const OptionsList &options_list_arg, const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -793,7 +793,7 @@ public:
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
void get_base_name(const SymbolType symb_type, string &lhs_field) const; void get_base_name(const SymbolType symb_type, string &lhs_field) const;
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class BasicOptionsStatement : public Statement class BasicOptionsStatement : public Statement
@ -822,7 +822,7 @@ class OptionsStatement : public BasicOptionsStatement
{ {
public: public:
OptionsStatement(const string &name_arg, const string &subsample_name_arg, const OptionsList &options_list_arg); OptionsStatement(const string &name_arg, const string &subsample_name_arg, const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -835,7 +835,7 @@ public:
const string &subsample_name_arg, const string &subsample_name_arg,
const OptionsList &options_list_arg, const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -850,7 +850,7 @@ public:
const OptionsList &options_list_arg, const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -878,14 +878,14 @@ public:
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
void get_base_name(const SymbolType symb_type, string &lhs_field) const; void get_base_name(const SymbolType symb_type, string &lhs_field) const;
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ModelDiagnosticsStatement : public Statement class ModelDiagnosticsStatement : public Statement
{ {
public: public:
ModelDiagnosticsStatement(); ModelDiagnosticsStatement();
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class Smoother2histvalStatement : public Statement class Smoother2histvalStatement : public Statement
@ -894,7 +894,7 @@ private:
const OptionsList options_list; const OptionsList options_list;
public: public:
Smoother2histvalStatement(const OptionsList &options_list_arg); Smoother2histvalStatement(const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2014 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -38,7 +38,7 @@
void main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear_global, bool no_tmp_terms, bool no_log, bool no_warn, void main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear_global, bool no_tmp_terms, bool no_log, bool no_warn,
bool warn_uninit, bool console, bool nograph, bool nointeractive, bool warn_uninit, bool console, bool nograph, bool nointeractive,
bool parallel, const string &parallel_config_file, const string &cluster_name, bool parallel_slave_open_mode, bool parallel, const string &parallel_config_file, const string &cluster_name, bool parallel_slave_open_mode,
bool parallel_test, bool nostrict, bool check_model_changes, FileOutputType output_mode, LanguageOutputType lang bool parallel_test, bool nostrict, bool check_model_changes, bool minimal_workspace, FileOutputType output_mode, LanguageOutputType lang
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, bool cygwin, bool msvc , bool cygwin, bool msvc
#endif #endif
@ -48,8 +48,8 @@ void
usage() usage()
{ {
cerr << "Dynare usage: dynare mod_file [debug] [noclearall] [onlyclearglobals] [savemacro[=macro_file]] [onlymacro] [nolinemacro] [notmpterms] [nolog] [warn_uninit]" cerr << "Dynare usage: dynare mod_file [debug] [noclearall] [onlyclearglobals] [savemacro[=macro_file]] [onlymacro] [nolinemacro] [notmpterms] [nolog] [warn_uninit]"
<< " [console] [nograph] [nointeractive] [parallel[=cluster_name]] [conffile=parallel_config_path_and_filename] [parallel_slave_open_mode] [parallel_test] " << " [console] [nograph] [nointeractive] [parallel[=cluster_name]] [conffile=parallel_config_path_and_filename] [parallel_slave_open_mode] [parallel_test]"
<< " [-D<variable>[=<value>]] [nostrict] [fast] [output=dynamic|first|second|third] [language=C|C++]" << " [-D<variable>[=<value>]] [nostrict] [fast] [minimal_workspace] [output=dynamic|first|second|third] [language=C|C++]"
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
<< " [cygwin] [msvc]" << " [cygwin] [msvc]"
#endif #endif
@ -98,6 +98,7 @@ main(int argc, char **argv)
bool parallel_test = false; bool parallel_test = false;
bool nostrict = false; bool nostrict = false;
bool check_model_changes = false; bool check_model_changes = false;
bool minimal_workspace = false;
map<string, string> defines; map<string, string> defines;
FileOutputType output_mode = none; FileOutputType output_mode = none;
LanguageOutputType language = matlab; LanguageOutputType language = matlab;
@ -168,6 +169,8 @@ main(int argc, char **argv)
nostrict = true; nostrict = true;
else if (!strcmp(argv[arg], "fast")) else if (!strcmp(argv[arg], "fast"))
check_model_changes = true; check_model_changes = true;
else if (!strcmp(argv[arg], "minimal_workspace"))
minimal_workspace = true;
else if (strlen(argv[arg]) >= 8 && !strncmp(argv[arg], "parallel", 8)) else if (strlen(argv[arg]) >= 8 && !strncmp(argv[arg], "parallel", 8))
{ {
parallel = true; parallel = true;
@ -288,7 +291,8 @@ main(int argc, char **argv)
// Do the rest // Do the rest
main2(macro_output, basename, debug, clear_all, clear_global, no_tmp_terms, no_log, no_warn, warn_uninit, console, nograph, nointeractive, main2(macro_output, basename, debug, clear_all, clear_global, no_tmp_terms, no_log, no_warn, warn_uninit, console, nograph, nointeractive,
parallel, parallel_config_file, cluster_name, parallel_slave_open_mode, parallel_test, nostrict, check_model_changes, output_mode, language parallel, parallel_config_file, cluster_name, parallel_slave_open_mode, parallel_test, nostrict, check_model_changes, minimal_workspace,
output_mode, language
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, cygwin, msvc , cygwin, msvc
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2008-2014 Dynare Team * Copyright (C) 2008-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -27,7 +27,7 @@
void void
main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear_global, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph, bool nointeractive, main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear_global, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph, bool nointeractive,
bool parallel, const string &parallel_config_file, const string &cluster_name, bool parallel_slave_open_mode, bool parallel, const string &parallel_config_file, const string &cluster_name, bool parallel_slave_open_mode,
bool parallel_test, bool nostrict, bool check_model_changes, FileOutputType output_mode, LanguageOutputType language bool parallel_test, bool nostrict, bool check_model_changes, bool minimal_workspace, FileOutputType output_mode, LanguageOutputType language
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, bool cygwin, bool msvc , bool cygwin, bool msvc
#endif #endif
@ -61,7 +61,7 @@ main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear
mod_file->writeExternalFiles(basename, output_mode, language); mod_file->writeExternalFiles(basename, output_mode, language);
else else
mod_file->writeOutputFiles(basename, clear_all, clear_global, no_log, no_warn, console, nograph, mod_file->writeOutputFiles(basename, clear_all, clear_global, no_log, no_warn, console, nograph,
nointeractive, config_file, check_model_changes nointeractive, config_file, check_model_changes, minimal_workspace
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, cygwin, msvc , cygwin, msvc
#endif #endif

View File

@ -526,8 +526,9 @@ ModFile::computingPass(bool no_tmp_terms, FileOutputType output)
} }
void void
ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_global, bool no_log, bool no_warn, bool console, bool nograph, ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_global, bool no_log, bool no_warn,
bool nointeractive, const ConfigFile &config_file, bool check_model_changes bool console, bool nograph, bool nointeractive, const ConfigFile &config_file,
bool check_model_changes, bool minimal_workspace
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, bool cygwin, bool msvc , bool cygwin, bool msvc
#endif #endif
@ -587,6 +588,9 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_glo
if (!no_log) if (!no_log)
mOutputFile << "diary('" << basename << ".log');" << endl; mOutputFile << "diary('" << basename << ".log');" << endl;
if (minimal_workspace)
mOutputFile << "options_.minimal_workspace = 1;" << endl;
if (console) if (console)
mOutputFile << "options_.console_mode = 1;" << endl mOutputFile << "options_.console_mode = 1;" << endl
<< "options_.nodisplay = 1;" << endl; << "options_.nodisplay = 1;" << endl;
@ -740,7 +744,7 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_glo
for (vector<Statement *>::const_iterator it = statements.begin(); for (vector<Statement *>::const_iterator it = statements.begin();
it != statements.end(); it++) it != statements.end(); it++)
{ {
(*it)->writeOutput(mOutputFile, basename); (*it)->writeOutput(mOutputFile, basename, minimal_workspace);
/* Special treatment for initval block: insert initial values for the /* Special treatment for initval block: insert initial values for the
auxiliary variables and initialize exo det */ auxiliary variables and initialize exo det */

View File

@ -146,7 +146,8 @@ public:
\param msvc Should the MEX command of use_dll be adapted for MSVC? \param msvc Should the MEX command of use_dll be adapted for MSVC?
*/ */
void writeOutputFiles(const string &basename, bool clear_all, bool clear_global, bool no_log, bool no_warn, void writeOutputFiles(const string &basename, bool clear_all, bool clear_global, bool no_log, bool no_warn,
bool console, bool nograph, bool nointeractive, const ConfigFile &config_file, bool check_model_changes bool console, bool nograph, bool nointeractive, const ConfigFile &config_file,
bool check_model_changes, bool minimal_workspace
#if defined(_WIN32) || defined(__CYGWIN32__) #if defined(_WIN32) || defined(__CYGWIN32__)
, bool cygwin, bool msvc , bool cygwin, bool msvc
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2014 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -41,13 +41,14 @@ InitParamStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
} }
void void
InitParamStatement::writeOutput(ostream &output, const string &basename) const InitParamStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
int id = symbol_table.getTypeSpecificID(symb_id) + 1; int id = symbol_table.getTypeSpecificID(symb_id) + 1;
output << "M_.params( " << id << " ) = "; output << "M_.params( " << id << " ) = ";
param_value->writeOutput(output); param_value->writeOutput(output);
output << ";" << endl; output << ";" << endl;
output << symbol_table.getName(symb_id) << " = M_.params( " << id << " );\n"; if (!minimal_workspace)
output << symbol_table.getName(symb_id) << " = M_.params( " << id << " );" << endl;
} }
void void
@ -186,7 +187,7 @@ InitValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidat
} }
void void
InitValStatement::writeOutput(ostream &output, const string &basename) const InitValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% INITVAL instructions" << endl << "% INITVAL instructions" << endl
@ -242,7 +243,7 @@ EndValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidati
} }
void void
EndValStatement::writeOutput(ostream &output, const string &basename) const EndValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% ENDVAL instructions" << endl << "% ENDVAL instructions" << endl
@ -268,7 +269,7 @@ HistValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidat
} }
void void
HistValStatement::writeOutput(ostream &output, const string &basename) const HistValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% HISTVAL instructions" << endl << "% HISTVAL instructions" << endl
@ -326,7 +327,7 @@ InitvalFileStatement::InitvalFileStatement(const string &filename_arg) :
} }
void void
InitvalFileStatement::writeOutput(ostream &output, const string &basename) const InitvalFileStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% INITVAL_FILE statement" << endl << "% INITVAL_FILE statement" << endl
@ -341,7 +342,7 @@ HistvalFileStatement::HistvalFileStatement(const string &filename_arg) :
} }
void void
HistvalFileStatement::writeOutput(ostream &output, const string &basename) const HistvalFileStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "histvalf('" << filename << "');" << endl; output << "histvalf('" << filename << "');" << endl;
} }
@ -354,7 +355,7 @@ HomotopyStatement::HomotopyStatement(const homotopy_values_t &homotopy_values_ar
} }
void void
HomotopyStatement::writeOutput(ostream &output, const string &basename) const HomotopyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% HOMOTOPY_SETUP instructions" << endl << "% HOMOTOPY_SETUP instructions" << endl
@ -388,7 +389,7 @@ SaveParamsAndSteadyStateStatement::SaveParamsAndSteadyStateStatement(const strin
} }
void void
SaveParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &basename) const SaveParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "save_params_and_steady_state('" << filename << "');" << endl; output << "save_params_and_steady_state('" << filename << "');" << endl;
} }
@ -429,7 +430,7 @@ LoadParamsAndSteadyStateStatement::LoadParamsAndSteadyStateStatement(const strin
} }
void void
LoadParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &basename) const LoadParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
for (map<int, string>::const_iterator it = content.begin(); for (map<int, string>::const_iterator it = content.begin();
it != content.end(); it++) it != content.end(); it++)

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2014 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -40,7 +40,7 @@ public:
InitParamStatement(int symb_id_arg, const expr_t param_value_arg, InitParamStatement(int symb_id_arg, const expr_t param_value_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
//! Fill eval context with parameter value //! Fill eval context with parameter value
void fillEvalContext(eval_context_t &eval_context) const; void fillEvalContext(eval_context_t &eval_context) const;
@ -77,7 +77,7 @@ public:
const SymbolTable &symbol_table_arg, const SymbolTable &symbol_table_arg,
const bool &all_values_required_arg); const bool &all_values_required_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
//! Writes initializations for oo_.exo_simul and oo_.exo_det_simul //! Writes initializations for oo_.exo_simul and oo_.exo_det_simul
void writeOutputPostInit(ostream &output) const; void writeOutputPostInit(ostream &output) const;
}; };
@ -90,7 +90,7 @@ public:
const bool &all_values_required_arg); const bool &all_values_required_arg);
//! Workaround for trac ticket #35 //! Workaround for trac ticket #35
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class HistValStatement : public Statement class HistValStatement : public Statement
@ -110,7 +110,7 @@ public:
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
//! Workaround for trac ticket #157 //! Workaround for trac ticket #157
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class InitvalFileStatement : public Statement class InitvalFileStatement : public Statement
@ -119,7 +119,7 @@ private:
const string filename; const string filename;
public: public:
InitvalFileStatement(const string &filename_arg); InitvalFileStatement(const string &filename_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class HistvalFileStatement : public Statement class HistvalFileStatement : public Statement
@ -128,7 +128,7 @@ private:
const string filename; const string filename;
public: public:
HistvalFileStatement(const string &filename_arg); HistvalFileStatement(const string &filename_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class HomotopyStatement : public Statement class HomotopyStatement : public Statement
@ -143,7 +143,7 @@ private:
public: public:
HomotopyStatement(const homotopy_values_t &homotopy_values_arg, HomotopyStatement(const homotopy_values_t &homotopy_values_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class SaveParamsAndSteadyStateStatement : public Statement class SaveParamsAndSteadyStateStatement : public Statement
@ -152,7 +152,7 @@ private:
const string filename; const string filename;
public: public:
SaveParamsAndSteadyStateStatement(const string &filename_arg); SaveParamsAndSteadyStateStatement(const string &filename_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class LoadParamsAndSteadyStateStatement : public Statement class LoadParamsAndSteadyStateStatement : public Statement
@ -166,7 +166,7 @@ public:
LoadParamsAndSteadyStateStatement(const string &filename, LoadParamsAndSteadyStateStatement(const string &filename,
const SymbolTable &symbol_table_arg, const SymbolTable &symbol_table_arg,
WarningConsolidation &warnings); WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
//! Fill eval context with parameters/variables values //! Fill eval context with parameters/variables values
void fillEvalContext(eval_context_t &eval_context) const; void fillEvalContext(eval_context_t &eval_context) const;
}; };

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2014 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -83,7 +83,7 @@ ShocksStatement::ShocksStatement(bool overwrite_arg,
} }
void void
ShocksStatement::writeOutput(ostream &output, const string &basename) const ShocksStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% SHOCKS instructions" << endl << "% SHOCKS instructions" << endl
@ -340,7 +340,7 @@ MShocksStatement::MShocksStatement(bool overwrite_arg,
} }
void void
MShocksStatement::writeOutput(ostream &output, const string &basename) const MShocksStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "%" << endl output << "%" << endl
<< "% MSHOCKS instructions" << endl << "% MSHOCKS instructions" << endl
@ -380,7 +380,7 @@ ConditionalForecastPathsStatement::checkPass(ModFileStructure &mod_file_struct,
} }
void void
ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &basename) const ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
assert(path_length > 0); assert(path_length > 0);
output << "constrained_vars_ = [];" << endl output << "constrained_vars_ = [];" << endl
@ -420,7 +420,7 @@ MomentCalibration::MomentCalibration(const constraints_t &constraints_arg,
} }
void void
MomentCalibration::writeOutput(ostream &output, const string &basename) const MomentCalibration::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_.endogenous_prior_restrictions.moment = {" << endl; output << "options_.endogenous_prior_restrictions.moment = {" << endl;
for (size_t i = 0; i < constraints.size(); i++) for (size_t i = 0; i < constraints.size(); i++)
@ -442,7 +442,7 @@ IrfCalibration::IrfCalibration(const constraints_t &constraints_arg,
} }
void void
IrfCalibration::writeOutput(ostream &output, const string &basename) const IrfCalibration::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
output << "options_.endogenous_prior_restrictions.irf = {" << endl; output << "options_.endogenous_prior_restrictions.irf = {" << endl;
for (size_t i = 0; i < constraints.size(); i++) for (size_t i = 0; i < constraints.size(); i++)

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2014 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -77,7 +77,7 @@ public:
const covar_and_corr_shocks_t &covar_shocks_arg, const covar_and_corr_shocks_t &covar_shocks_arg,
const covar_and_corr_shocks_t &corr_shocks_arg, const covar_and_corr_shocks_t &corr_shocks_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
}; };
@ -87,7 +87,7 @@ public:
MShocksStatement(bool overwrite_arg, MShocksStatement(bool overwrite_arg,
const det_shocks_t &det_shocks_arg, const det_shocks_t &det_shocks_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class ConditionalForecastPathsStatement : public Statement class ConditionalForecastPathsStatement : public Statement
@ -98,7 +98,7 @@ private:
public: public:
ConditionalForecastPathsStatement(const AbstractShocksStatement::det_shocks_t &paths_arg); ConditionalForecastPathsStatement(const AbstractShocksStatement::det_shocks_t &paths_arg);
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings); virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class MomentCalibration : public Statement class MomentCalibration : public Statement
@ -117,7 +117,7 @@ private:
public: public:
MomentCalibration(const constraints_t &constraints_arg, MomentCalibration(const constraints_t &constraints_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class IrfCalibration : public Statement class IrfCalibration : public Statement
@ -136,7 +136,7 @@ private:
public: public:
IrfCalibration(const constraints_t &constraints_arg, IrfCalibration(const constraints_t &constraints_arg,
const SymbolTable &symbol_table_arg); const SymbolTable &symbol_table_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2010 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -59,7 +59,7 @@ SigmaeStatement::determineMatrixForm(const matrix_t &matrix) throw (MatrixFormEx
} }
void void
SigmaeStatement::writeOutput(ostream &output, const string &basename) const SigmaeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
size_t ic, ic1, ir, ir1; size_t ic, ic1, ir, ir1;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2003-2010 Dynare Team * Copyright (C) 2003-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -57,7 +57,7 @@ private:
public: public:
SigmaeStatement(const matrix_t &matrix_arg) throw (MatrixFormException); SigmaeStatement(const matrix_t &matrix_arg) throw (MatrixFormException);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2006-2014 Dynare Team * Copyright (C) 2006-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -79,7 +79,7 @@ NativeStatement::NativeStatement(const string &native_statement_arg) :
} }
void void
NativeStatement::writeOutput(ostream &output, const string &basename) const NativeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{ {
using namespace boost::xpressive; using namespace boost::xpressive;
string date_regex = "(-?\\d+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4]\\d|5[0-2])))"; string date_regex = "(-?\\d+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4]\\d|5[0-2])))";

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2006-2014 Dynare Team * Copyright (C) 2006-2015 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
@ -134,7 +134,7 @@ public:
\param output is the output stream of the main matlab file \param output is the output stream of the main matlab file
\param basename is the name of the modfile (without extension) which can be used to build auxiliary files \param basename is the name of the modfile (without extension) which can be used to build auxiliary files
*/ */
virtual void writeOutput(ostream &output, const string &basename) const = 0; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const = 0;
virtual void writeCOutput(ostream &output, const string &basename); virtual void writeCOutput(ostream &output, const string &basename);
}; };
@ -144,7 +144,7 @@ private:
const string native_statement; const string native_statement;
public: public:
NativeStatement(const string &native_statement_arg); NativeStatement(const string &native_statement_arg);
virtual void writeOutput(ostream &output, const string &basename) const; virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
}; };
class OptionsList class OptionsList