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
SteadyStatement::writeOutput(ostream &output, const string &basename) const
SteadyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "steady;" << endl;
@ -56,7 +56,7 @@ CheckStatement::CheckStatement(const OptionsList &options_list_arg) :
}
void
CheckStatement::writeOutput(ostream &output, const string &basename) const
CheckStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "oo_.dr.eigval = check(M_,options_,oo_);" << endl;
@ -80,7 +80,7 @@ ModelInfoStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
}
void
ModelInfoStatement::writeOutput(ostream &output, const string &basename) const
ModelInfoStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "model_info();" << endl;
@ -98,7 +98,7 @@ SimulStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidatio
}
void
SimulStatement::writeOutput(ostream &output, const string &basename) const
SimulStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "perfect_foresight_setup;" << endl
@ -111,7 +111,7 @@ PerfectForesightSetupStatement::PerfectForesightSetupStatement(const OptionsList
}
void
PerfectForesightSetupStatement::writeOutput(ostream &output, const string &basename) const
PerfectForesightSetupStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "perfect_foresight_setup;" << endl;
@ -129,7 +129,7 @@ PerfectForesightSolverStatement::checkPass(ModFileStructure &mod_file_struct, Wa
}
void
PerfectForesightSolverStatement::writeOutput(ostream &output, const string &basename) const
PerfectForesightSolverStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "perfect_foresight_solver;" << endl;
@ -166,7 +166,7 @@ StochSimulStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
}
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)
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
ForecastStatement::writeOutput(ostream &output, const string &basename) const
ForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output);
@ -235,7 +235,7 @@ RamseyModelStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
}
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
// 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
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)
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
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)
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
EstimationStatement::writeOutput(ostream &output, const string &basename) const
EstimationStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
@ -497,7 +497,7 @@ DynareSensitivityStatement::checkPass(ModFileStructure &mod_file_struct, Warning
}
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");
@ -524,7 +524,7 @@ RplotStatement::RplotStatement(const SymbolList &symbol_list_arg) :
}
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);
output << "rplot(var_list_);" << endl;
@ -535,7 +535,7 @@ UnitRootVarsStatement::UnitRootVarsStatement(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
<< "options_.steadystate.nocheck = 1;" << endl;
@ -546,7 +546,7 @@ PeriodsStatement::PeriodsStatement(int periods_arg) : periods(periods_arg)
}
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;
}
@ -560,7 +560,7 @@ DsampleStatement::DsampleStatement(int val1_arg, int val2_arg) : val1(val1_arg),
}
void
DsampleStatement::writeOutput(ostream &output, const string &basename) const
DsampleStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
if (val2 < 0)
output << "dsample(" << val1 << ");" << endl;
@ -640,7 +640,7 @@ EstimatedParamsStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
}
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
<< "estim_params_.var_exo = [];" << endl
@ -715,7 +715,7 @@ EstimatedParamsInitStatement::checkPass(ModFileStructure &mod_file_struct, Warni
}
void
EstimatedParamsInitStatement::writeOutput(ostream &output, const string &basename) const
EstimatedParamsInitStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
if (use_calibration)
output << "options_.use_calibration_initialization = 1;" << endl;
@ -781,7 +781,7 @@ EstimatedParamsBoundsStatement::EstimatedParamsBoundsStatement(const vector<Esti
}
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;
@ -869,7 +869,7 @@ ObservationTrendsStatement::ObservationTrendsStatement(const trend_elements_t &t
}
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;
@ -902,7 +902,7 @@ OsrParamsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
}
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);
}
@ -937,7 +937,7 @@ OsrStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation
}
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)
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
OptimWeightsStatement::writeOutput(ostream &output, const string &basename) const
OptimWeightsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% OPTIM_WEIGHTS" << endl
@ -1010,7 +1010,7 @@ DynaSaveStatement::DynaSaveStatement(const SymbolList &symbol_list_arg,
}
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);
output << "dynasave('" << filename
@ -1025,7 +1025,7 @@ DynaTypeStatement::DynaTypeStatement(const SymbolList &symbol_list_arg,
}
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);
output << "dynatype('" << filename
@ -1040,7 +1040,7 @@ ModelComparisonStatement::ModelComparisonStatement(const filename_list_t &filena
}
void
ModelComparisonStatement::writeOutput(ostream &output, const string &basename) const
ModelComparisonStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
@ -1086,7 +1086,7 @@ PlannerObjectiveStatement::computingPass()
}
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);
}
@ -1104,7 +1104,7 @@ BVARDensityStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
}
void
BVARDensityStatement::writeOutput(ostream &output, const string &basename) const
BVARDensityStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "bvar_density(" << maxnlags << ");" << endl;
@ -1123,7 +1123,7 @@ BVARForecastStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
}
void
BVARForecastStatement::writeOutput(ostream &output, const string &basename) const
BVARForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "bvar_forecast(" << nlags << ");" << endl;
@ -1141,7 +1141,7 @@ SBVARStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidatio
}
void
SBVARStatement::writeOutput(ostream &output, const string &basename) const
SBVARStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
output << "sbvar(M_,options_);" << endl;
@ -1168,7 +1168,7 @@ MSSBVAREstimationStatement::checkPass(ModFileStructure &mod_file_struct, Warning
}
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
<< "options_.datafile = '';" << endl;
@ -1188,7 +1188,7 @@ MSSBVARSimulationStatement::checkPass(ModFileStructure &mod_file_struct, Warning
}
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;
options_list.writeOutput(output);
@ -1216,7 +1216,7 @@ MSSBVARComputeMDDStatement::checkPass(ModFileStructure &mod_file_struct, Warning
}
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;
options_list.writeOutput(output);
@ -1243,7 +1243,7 @@ MSSBVARComputeProbabilitiesStatement::checkPass(ModFileStructure &mod_file_struc
}
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;
options_list.writeOutput(output);
@ -1289,7 +1289,7 @@ MSSBVARIrfStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
}
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;
symbol_list.writeOutput("var_list_", output);
@ -1316,7 +1316,7 @@ MSSBVARForecastStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
}
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;
options_list.writeOutput(output);
@ -1360,7 +1360,7 @@ MSSBVARVarianceDecompositionStatement::checkPass(ModFileStructure &mod_file_stru
}
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;
options_list.writeOutput(output);
@ -1385,7 +1385,7 @@ IdentificationStatement::checkPass(ModFileStructure &mod_file_struct, WarningCon
}
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");
@ -1412,7 +1412,7 @@ WriteLatexDynamicModelStatement::WriteLatexDynamicModelStatement(const DynamicMo
}
void
WriteLatexDynamicModelStatement::writeOutput(ostream &output, const string &basename) const
WriteLatexDynamicModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
dynamic_model.writeLatexFile(basename);
}
@ -1423,7 +1423,7 @@ WriteLatexStaticModelStatement::WriteLatexStaticModelStatement(const StaticModel
}
void
WriteLatexStaticModelStatement::writeOutput(ostream &output, const string &basename) const
WriteLatexStaticModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
static_model.writeLatexFile(basename);
}
@ -1434,7 +1434,7 @@ WriteLatexOriginalModelStatement::WriteLatexOriginalModelStatement(const Dynamic
}
void
WriteLatexOriginalModelStatement::writeOutput(ostream &output, const string &basename) const
WriteLatexOriginalModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
original_model.writeLatexOriginalFile(basename);
}
@ -1447,7 +1447,7 @@ ShockDecompositionStatement::ShockDecompositionStatement(const SymbolList &symbo
}
void
ShockDecompositionStatement::writeOutput(ostream &output, const string &basename) const
ShockDecompositionStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output);
@ -1460,7 +1460,7 @@ ConditionalForecastStatement::ConditionalForecastStatement(const OptionsList &op
}
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_");
output << "imcforecast(constrained_paths_, constrained_vars_, options_cond_fcst_);" << endl;
@ -1473,7 +1473,7 @@ PlotConditionalForecastStatement::PlotConditionalForecastStatement(int periods_a
}
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);
if (periods == -1)
@ -1526,7 +1526,7 @@ SvarIdentificationStatement::checkPass(ModFileStructure &mod_file_struct, Warnin
}
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));
output << "%" << endl
@ -1743,7 +1743,7 @@ MarkovSwitchingStatement::checkPass(ModFileStructure &mod_file_struct, WarningCo
}
void
MarkovSwitchingStatement::writeOutput(ostream &output, const string &basename) const
MarkovSwitchingStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
bool isDurationAVec = true;
string infStr("Inf");
@ -1852,7 +1852,7 @@ SvarStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation
}
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::vec_int_options_t::const_iterator itv;
@ -1898,7 +1898,7 @@ SetTimeStatement::SetTimeStatement(const OptionsList &options_list_arg) :
}
void
SetTimeStatement::writeOutput(ostream &output, const string &basename) const
SetTimeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
}
@ -1937,7 +1937,7 @@ EstimationDataStatement::checkPass(ModFileStructure &mod_file_struct, WarningCon
}
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");
}
@ -1959,7 +1959,7 @@ SubsamplesStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
}
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', '"
<< name1 << "','" << name2 << "');" << endl
@ -2029,7 +2029,7 @@ SubsamplesEqualStatement::SubsamplesEqualStatement(const string &to_name1_arg,
}
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', '"
<< to_name1 << "','" << to_name2 << "');" << endl
@ -2123,7 +2123,7 @@ JointPriorStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsoli
}
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++)
output << "eifind = get_new_or_existing_ei_index('joint_parameter_prior_index', '"
@ -2387,7 +2387,7 @@ PriorStatement::PriorStatement(const string &name_arg,
}
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)";
output << "eifind = get_new_or_existing_ei_index('parameter_prior_index', '"
@ -2424,7 +2424,7 @@ StdPriorStatement::StdPriorStatement(const string &name_arg,
}
void
StdPriorStatement::writeOutput(ostream &output, const string &basename) const
StdPriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field);
@ -2487,7 +2487,7 @@ CorrPriorStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
}
void
CorrPriorStatement::writeOutput(ostream &output, const string &basename) const
CorrPriorStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string 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
PriorEqualStatement::writeOutput(ostream &output, const string &basename) const
PriorEqualStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string lhs_field, rhs_field;
@ -2721,7 +2721,7 @@ OptionsStatement::OptionsStatement(const string &name_arg,
}
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)";
output << "eifind = get_new_or_existing_ei_index('parameter_options_index', '"
@ -2749,7 +2749,7 @@ StdOptionsStatement::StdOptionsStatement(const string &name_arg,
}
void
StdOptionsStatement::writeOutput(ostream &output, const string &basename) const
StdOptionsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string lhs_field;
get_base_name(symbol_table.getType(name), lhs_field);
@ -2804,7 +2804,7 @@ CorrOptionsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsol
}
void
CorrOptionsStatement::writeOutput(ostream &output, const string &basename) const
CorrOptionsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string 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
OptionsEqualStatement::writeOutput(ostream &output, const string &basename) const
OptionsEqualStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
string lhs_field, rhs_field;
@ -2961,7 +2961,7 @@ CalibSmootherStatement::checkPass(ModFileStructure &mod_file_struct, WarningCons
}
void
CalibSmootherStatement::writeOutput(ostream &output, const string &basename) const
CalibSmootherStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
options_list.writeOutput(output);
symbol_list.writeOutput("var_list_", output);
@ -2988,7 +2988,7 @@ ExtendedPathStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
}
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...
@ -3007,7 +3007,7 @@ ModelDiagnosticsStatement::ModelDiagnosticsStatement()
}
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;
}
@ -3018,7 +3018,7 @@ Smoother2histvalStatement::Smoother2histvalStatement(const OptionsList &options_
}
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");
output << "smoother2histval(options_smoother2histval);" << endl;

View File

@ -35,7 +35,7 @@ private:
public:
SteadyStatement(const OptionsList &options_list_arg);
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
@ -45,7 +45,7 @@ private:
public:
CheckStatement(const OptionsList &options_list_arg);
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
@ -55,7 +55,7 @@ private:
public:
SimulStatement(const OptionsList &options_list_arg);
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
@ -64,7 +64,7 @@ private:
const OptionsList options_list;
public:
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
@ -74,7 +74,7 @@ private:
public:
PerfectForesightSolverStatement(const OptionsList &options_list_arg);
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
@ -84,7 +84,7 @@ private:
public:
ModelInfoStatement(const OptionsList &options_list_arg);
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
@ -96,7 +96,7 @@ public:
StochSimulStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -107,7 +107,7 @@ private:
public:
ForecastStatement(const SymbolList &symbol_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
@ -119,7 +119,7 @@ public:
RamseyModelStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -131,7 +131,7 @@ public:
RamseyPolicyStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -143,7 +143,7 @@ public:
DiscretionaryPolicyStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -152,14 +152,14 @@ private:
const SymbolList symbol_list;
public:
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
{
public:
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
@ -168,7 +168,7 @@ private:
const int periods;
public:
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
@ -178,7 +178,7 @@ private:
public:
DsampleStatement(int val1_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
@ -190,7 +190,7 @@ public:
EstimationStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -200,7 +200,7 @@ private:
public:
DynareSensitivityStatement(const OptionsList &options_list_arg);
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
@ -213,7 +213,7 @@ private:
public:
ObservationTrendsStatement(const trend_elements_t &trend_elements_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
@ -223,7 +223,7 @@ private:
public:
OsrParamsStatement(const SymbolList &symbol_list_arg);
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
@ -235,7 +235,7 @@ public:
OsrStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -246,7 +246,7 @@ private:
public:
DynaTypeStatement(const SymbolList &symbol_list_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
@ -257,7 +257,7 @@ private:
public:
DynaSaveStatement(const SymbolList &symbol_list_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
@ -270,7 +270,7 @@ private:
public:
ModelComparisonStatement(const filename_list_t &filename_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
@ -309,7 +309,7 @@ public:
EstimatedParamsStatement(const vector<EstimationParams> &estim_params_list_arg,
const SymbolTable &symbol_table_arg);
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
@ -323,7 +323,7 @@ public:
const SymbolTable &symbol_table_arg,
const bool use_calibration_arg);
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
@ -334,7 +334,7 @@ private:
public:
EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_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
@ -351,7 +351,7 @@ public:
const covar_weights_t &covar_weights_arg,
const SymbolTable &symbol_table_arg);
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 */
@ -370,7 +370,7 @@ public:
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
/*! \todo allow for the possibility of disabling temporary terms */
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
StaticModel *getPlannerObjective() const;
};
@ -383,7 +383,7 @@ private:
public:
BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg);
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
@ -394,7 +394,7 @@ private:
public:
BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg);
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
@ -404,7 +404,7 @@ private:
public:
SBVARStatement(const OptionsList &options_list_arg);
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
@ -414,7 +414,7 @@ private:
public:
MSSBVAREstimationStatement(const OptionsList &options_list_arg);
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
@ -424,7 +424,7 @@ private:
public:
MSSBVARSimulationStatement(const OptionsList &options_list_arg);
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
@ -434,7 +434,7 @@ private:
public:
MSSBVARComputeMDDStatement(const OptionsList &options_list_arg);
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
@ -444,7 +444,7 @@ private:
public:
MSSBVARComputeProbabilitiesStatement(const OptionsList &options_list_arg);
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
@ -456,7 +456,7 @@ public:
MSSBVARIrfStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -466,7 +466,7 @@ private:
public:
MSSBVARForecastStatement(const OptionsList &options_list_arg);
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
@ -476,7 +476,7 @@ private:
public:
MSSBVARVarianceDecompositionStatement(const OptionsList &options_list_arg);
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
@ -486,7 +486,7 @@ private:
public:
IdentificationStatement(const OptionsList &options_list_arg);
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
@ -495,7 +495,7 @@ private:
const DynamicModel &dynamic_model;
public:
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
@ -504,7 +504,7 @@ private:
const StaticModel &static_model;
public:
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
@ -513,7 +513,7 @@ private:
const DynamicModel &original_model;
public:
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
@ -524,7 +524,7 @@ private:
public:
ShockDecompositionStatement(const SymbolList &symbol_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
@ -533,7 +533,7 @@ private:
const OptionsList options_list;
public:
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
@ -544,7 +544,7 @@ private:
const SymbolList symbol_list;
public:
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
@ -556,7 +556,7 @@ public:
CalibSmootherStatement(const SymbolList &symbol_list_arg,
const OptionsList &options_list_arg);
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
@ -566,7 +566,7 @@ private:
public:
ExtendedPathStatement(const OptionsList &options_list_arg);
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
@ -597,7 +597,7 @@ public:
const bool &constants_exclusion_present_arg,
const SymbolTable &symbol_table_arg);
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
@ -608,7 +608,7 @@ private:
public:
MarkovSwitchingStatement(const OptionsList &options_list_arg);
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);
};
@ -619,7 +619,7 @@ private:
public:
SvarStatement(const OptionsList &options_list_arg);
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
@ -628,7 +628,7 @@ private:
const OptionsList options_list;
public:
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
@ -638,7 +638,7 @@ private:
public:
EstimationDataStatement(const OptionsList &options_list_arg);
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
@ -657,7 +657,7 @@ public:
const subsample_declaration_map_t subsample_declaration_map_arg,
const SymbolTable &symbol_table_arg);
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
@ -674,7 +674,7 @@ public:
const string &from_name1_arg,
const string &from_name2_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
@ -688,7 +688,7 @@ public:
const PriorDistributions &prior_shape_arg,
const OptionsList &options_list_arg);
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;
};
@ -732,7 +732,7 @@ public:
const PriorDistributions &prior_shape_arg,
const expr_t &variance_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);
};
@ -747,7 +747,7 @@ public:
const expr_t &variance_arg,
const OptionsList &options_list_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);
};
@ -765,7 +765,7 @@ public:
const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg);
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);
};
@ -793,7 +793,7 @@ public:
const SymbolTable &symbol_table_arg);
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
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
@ -822,7 +822,7 @@ class OptionsStatement : public BasicOptionsStatement
{
public:
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);
};
@ -835,7 +835,7 @@ public:
const string &subsample_name_arg,
const OptionsList &options_list_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);
};
@ -850,7 +850,7 @@ public:
const OptionsList &options_list_arg,
const SymbolTable &symbol_table_arg);
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);
};
@ -878,14 +878,14 @@ public:
const SymbolTable &symbol_table_arg);
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
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
{
public:
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
@ -894,7 +894,7 @@ private:
const OptionsList options_list;
public:
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

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2003-2014 Dynare Team
* Copyright (C) 2003-2015 Dynare Team
*
* 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,
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_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__)
, bool cygwin, bool msvc
#endif
@ -48,8 +48,8 @@ void
usage()
{
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] "
<< " [-D<variable>[=<value>]] [nostrict] [fast] [output=dynamic|first|second|third] [language=C|C++]"
<< " [console] [nograph] [nointeractive] [parallel[=cluster_name]] [conffile=parallel_config_path_and_filename] [parallel_slave_open_mode] [parallel_test]"
<< " [-D<variable>[=<value>]] [nostrict] [fast] [minimal_workspace] [output=dynamic|first|second|third] [language=C|C++]"
#if defined(_WIN32) || defined(__CYGWIN32__)
<< " [cygwin] [msvc]"
#endif
@ -98,6 +98,7 @@ main(int argc, char **argv)
bool parallel_test = false;
bool nostrict = false;
bool check_model_changes = false;
bool minimal_workspace = false;
map<string, string> defines;
FileOutputType output_mode = none;
LanguageOutputType language = matlab;
@ -168,6 +169,8 @@ main(int argc, char **argv)
nostrict = true;
else if (!strcmp(argv[arg], "fast"))
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))
{
parallel = true;
@ -288,7 +291,8 @@ main(int argc, char **argv)
// Do the rest
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__)
, cygwin, msvc
#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.
*
@ -27,7 +27,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, 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_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__)
, bool cygwin, bool msvc
#endif
@ -61,7 +61,7 @@ main2(stringstream &in, string &basename, bool debug, bool clear_all, bool clear
mod_file->writeExternalFiles(basename, output_mode, language);
else
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__)
, cygwin, msvc
#endif

View File

@ -526,8 +526,9 @@ ModFile::computingPass(bool no_tmp_terms, FileOutputType output)
}
void
ModFile::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
ModFile::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 minimal_workspace
#if defined(_WIN32) || defined(__CYGWIN32__)
, bool cygwin, bool msvc
#endif
@ -587,6 +588,9 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_glo
if (!no_log)
mOutputFile << "diary('" << basename << ".log');" << endl;
if (minimal_workspace)
mOutputFile << "options_.minimal_workspace = 1;" << endl;
if (console)
mOutputFile << "options_.console_mode = 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();
it != statements.end(); it++)
{
(*it)->writeOutput(mOutputFile, basename);
(*it)->writeOutput(mOutputFile, basename, minimal_workspace);
/* Special treatment for initval block: insert initial values for the
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?
*/
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__)
, bool cygwin, bool msvc
#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.
*
@ -41,13 +41,14 @@ InitParamStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid
}
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;
output << "M_.params( " << id << " ) = ";
param_value->writeOutput(output);
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
@ -186,7 +187,7 @@ InitValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidat
}
void
InitValStatement::writeOutput(ostream &output, const string &basename) const
InitValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% INITVAL instructions" << endl
@ -242,7 +243,7 @@ EndValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidati
}
void
EndValStatement::writeOutput(ostream &output, const string &basename) const
EndValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% ENDVAL instructions" << endl
@ -268,7 +269,7 @@ HistValStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidat
}
void
HistValStatement::writeOutput(ostream &output, const string &basename) const
HistValStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% HISTVAL instructions" << endl
@ -326,7 +327,7 @@ InitvalFileStatement::InitvalFileStatement(const string &filename_arg) :
}
void
InitvalFileStatement::writeOutput(ostream &output, const string &basename) const
InitvalFileStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% INITVAL_FILE statement" << endl
@ -341,7 +342,7 @@ HistvalFileStatement::HistvalFileStatement(const string &filename_arg) :
}
void
HistvalFileStatement::writeOutput(ostream &output, const string &basename) const
HistvalFileStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "histvalf('" << filename << "');" << endl;
}
@ -354,7 +355,7 @@ HomotopyStatement::HomotopyStatement(const homotopy_values_t &homotopy_values_ar
}
void
HomotopyStatement::writeOutput(ostream &output, const string &basename) const
HomotopyStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% HOMOTOPY_SETUP instructions" << endl
@ -388,7 +389,7 @@ SaveParamsAndSteadyStateStatement::SaveParamsAndSteadyStateStatement(const strin
}
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;
}
@ -429,7 +430,7 @@ LoadParamsAndSteadyStateStatement::LoadParamsAndSteadyStateStatement(const strin
}
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();
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.
*
@ -40,7 +40,7 @@ public:
InitParamStatement(int symb_id_arg, const expr_t param_value_arg,
const SymbolTable &symbol_table_arg);
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);
//! Fill eval context with parameter value
void fillEvalContext(eval_context_t &eval_context) const;
@ -77,7 +77,7 @@ public:
const SymbolTable &symbol_table_arg,
const bool &all_values_required_arg);
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
void writeOutputPostInit(ostream &output) const;
};
@ -90,7 +90,7 @@ public:
const bool &all_values_required_arg);
//! Workaround for trac ticket #35
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
@ -110,7 +110,7 @@ public:
const SymbolTable &symbol_table_arg);
//! Workaround for trac ticket #157
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
@ -119,7 +119,7 @@ private:
const string filename;
public:
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
@ -128,7 +128,7 @@ private:
const string filename;
public:
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
@ -143,7 +143,7 @@ private:
public:
HomotopyStatement(const homotopy_values_t &homotopy_values_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
@ -152,7 +152,7 @@ private:
const string filename;
public:
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
@ -166,7 +166,7 @@ public:
LoadParamsAndSteadyStateStatement(const string &filename,
const SymbolTable &symbol_table_arg,
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
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.
*
@ -83,7 +83,7 @@ ShocksStatement::ShocksStatement(bool overwrite_arg,
}
void
ShocksStatement::writeOutput(ostream &output, const string &basename) const
ShocksStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% SHOCKS instructions" << endl
@ -340,7 +340,7 @@ MShocksStatement::MShocksStatement(bool overwrite_arg,
}
void
MShocksStatement::writeOutput(ostream &output, const string &basename) const
MShocksStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
output << "%" << endl
<< "% MSHOCKS instructions" << endl
@ -380,7 +380,7 @@ ConditionalForecastPathsStatement::checkPass(ModFileStructure &mod_file_struct,
}
void
ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &basename) const
ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
assert(path_length > 0);
output << "constrained_vars_ = [];" << endl
@ -420,7 +420,7 @@ MomentCalibration::MomentCalibration(const constraints_t &constraints_arg,
}
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;
for (size_t i = 0; i < constraints.size(); i++)
@ -442,7 +442,7 @@ IrfCalibration::IrfCalibration(const constraints_t &constraints_arg,
}
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;
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.
*
@ -77,7 +77,7 @@ public:
const covar_and_corr_shocks_t &covar_shocks_arg,
const covar_and_corr_shocks_t &corr_shocks_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);
};
@ -87,7 +87,7 @@ public:
MShocksStatement(bool overwrite_arg,
const det_shocks_t &det_shocks_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
@ -98,7 +98,7 @@ private:
public:
ConditionalForecastPathsStatement(const AbstractShocksStatement::det_shocks_t &paths_arg);
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
@ -117,7 +117,7 @@ private:
public:
MomentCalibration(const constraints_t &constraints_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
@ -136,7 +136,7 @@ private:
public:
IrfCalibration(const constraints_t &constraints_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

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2003-2010 Dynare Team
* Copyright (C) 2003-2015 Dynare Team
*
* This file is part of Dynare.
*
@ -59,7 +59,7 @@ SigmaeStatement::determineMatrixForm(const matrix_t &matrix) throw (MatrixFormEx
}
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;

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2003-2010 Dynare Team
* Copyright (C) 2003-2015 Dynare Team
*
* This file is part of Dynare.
*
@ -57,7 +57,7 @@ private:
public:
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

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2006-2014 Dynare Team
* Copyright (C) 2006-2015 Dynare Team
*
* This file is part of Dynare.
*
@ -79,7 +79,7 @@ NativeStatement::NativeStatement(const string &native_statement_arg) :
}
void
NativeStatement::writeOutput(ostream &output, const string &basename) const
NativeStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
{
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])))";

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2006-2014 Dynare Team
* Copyright (C) 2006-2015 Dynare Team
*
* This file is part of Dynare.
*
@ -134,7 +134,7 @@ public:
\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
*/
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);
};
@ -144,7 +144,7 @@ private:
const string native_statement;
public:
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