2008-01-11 14:42:14 +01:00
|
|
|
/*
|
2011-01-10 12:25:42 +01:00
|
|
|
* Copyright (C) 2003-2011 Dynare Team
|
2008-01-11 14:42:14 +01:00
|
|
|
*
|
|
|
|
* This file is part of Dynare.
|
|
|
|
*
|
|
|
|
* Dynare is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Dynare is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2006-11-05 00:31:17 +01:00
|
|
|
#ifndef _COMPUTINGTASKS_HH
|
|
|
|
#define _COMPUTINGTASKS_HH
|
2006-12-12 12:54:30 +01:00
|
|
|
|
|
|
|
#include <ostream>
|
|
|
|
|
2008-04-07 15:14:40 +02:00
|
|
|
#include "SymbolList.hh"
|
2006-11-05 00:31:17 +01:00
|
|
|
#include "SymbolTable.hh"
|
2006-12-12 12:54:30 +01:00
|
|
|
#include "Statement.hh"
|
2009-04-14 16:39:53 +02:00
|
|
|
#include "StaticModel.hh"
|
2009-04-30 15:14:33 +02:00
|
|
|
#include "DynamicModel.hh"
|
2006-12-12 12:54:30 +01:00
|
|
|
|
|
|
|
class SteadyStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2009-09-02 15:36:56 +02:00
|
|
|
SteadyStatement(const OptionsList &options_list_arg);
|
2009-06-30 17:07:09 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class CheckStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
CheckStatement(const OptionsList &options_list_arg);
|
2006-12-17 15:59:39 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class SimulStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2009-09-02 18:44:15 +02:00
|
|
|
SimulStatement(const OptionsList &options_list_arg);
|
2007-02-22 00:28:16 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2008-08-29 14:31:25 +02:00
|
|
|
class ModelInfoStatement : public Statement
|
2008-08-25 17:06:36 +02:00
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2008-08-29 14:31:25 +02:00
|
|
|
ModelInfoStatement(const OptionsList &options_list_arg);
|
2008-08-25 17:06:36 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class StochSimulStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
StochSimulStatement(const SymbolList &symbol_list_arg,
|
2009-09-02 18:44:15 +02:00
|
|
|
const OptionsList &options_list_arg);
|
2006-12-15 12:44:58 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
2008-05-01 14:04:48 +02:00
|
|
|
class ForecastStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const SymbolList symbol_list;
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
ForecastStatement(const SymbolList &symbol_list_arg,
|
2009-01-23 11:59:37 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2008-05-01 14:04:48 +02:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2007-01-04 15:42:27 +01:00
|
|
|
class RamseyPolicyStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2007-01-04 15:42:27 +01:00
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
RamseyPolicyStatement(const SymbolList &symbol_list_arg,
|
2007-02-05 10:55:41 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2007-01-04 15:42:27 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class RplotStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
RplotStatement(const SymbolList &symbol_list_arg,
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class UnitRootVarsStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
UnitRootVarsStatement(const SymbolList &symbol_list_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class PeriodsStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const int periods;
|
|
|
|
public:
|
|
|
|
PeriodsStatement(int periods_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class DsampleStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const int val1, val2;
|
|
|
|
public:
|
|
|
|
DsampleStatement(int val1_arg);
|
|
|
|
DsampleStatement(int val1_arg, int val2_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class EstimationStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList options_list;
|
2010-06-11 21:19:30 +02:00
|
|
|
const SymbolTable &symbol_table;
|
2006-12-12 12:54:30 +01:00
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
EstimationStatement(const SymbolList &symbol_list_arg,
|
2010-06-11 21:19:30 +02:00
|
|
|
const OptionsList &options_list_arg,
|
|
|
|
const SymbolTable &symbol_table);
|
2006-12-15 12:44:58 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
2007-10-02 16:05:16 +02:00
|
|
|
class DynareSensitivityStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
DynareSensitivityStatement(const OptionsList &options_list_arg);
|
2009-10-14 18:16:43 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2007-10-02 16:05:16 +02:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class ObservationTrendsStatement : public Statement
|
|
|
|
{
|
|
|
|
public:
|
2010-09-16 19:18:45 +02:00
|
|
|
typedef map<string, expr_t> trend_elements_t;
|
2006-12-12 12:54:30 +01:00
|
|
|
private:
|
2010-09-16 19:00:48 +02:00
|
|
|
const trend_elements_t trend_elements;
|
2006-12-12 12:54:30 +01:00
|
|
|
const SymbolTable &symbol_table;
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
ObservationTrendsStatement(const trend_elements_t &trend_elements_arg,
|
2006-12-12 12:54:30 +01:00
|
|
|
const SymbolTable &symbol_table_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class OsrParamsStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
OsrParamsStatement(const SymbolList &symbol_list_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class OsrStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
OsrStatement(const SymbolList &symbol_list_arg,
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2006-12-15 12:44:58 +01:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class DynaTypeStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const string filename;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
DynaTypeStatement(const SymbolList &symbol_list_arg,
|
2008-10-13 18:06:07 +02:00
|
|
|
const string &filename_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class DynaSaveStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2008-04-07 15:14:40 +02:00
|
|
|
const SymbolList symbol_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
const string filename;
|
|
|
|
public:
|
2008-04-07 15:14:40 +02:00
|
|
|
DynaSaveStatement(const SymbolList &symbol_list_arg,
|
2008-10-13 18:06:07 +02:00
|
|
|
const string &filename_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class ModelComparisonStatement : public Statement
|
|
|
|
{
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
typedef vector<pair<string, string> > filename_list_t;
|
2006-12-12 12:54:30 +01:00
|
|
|
private:
|
2010-09-16 19:00:48 +02:00
|
|
|
filename_list_t filename_list;
|
2006-12-12 12:54:30 +01:00
|
|
|
OptionsList options_list;
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
ModelComparisonStatement(const filename_list_t &filename_list_arg,
|
2006-12-12 12:54:30 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
|
|
|
|
2009-01-22 16:05:38 +01:00
|
|
|
//! Temporary structure used when parsing estimation_params* statements
|
|
|
|
class EstimationParams
|
2006-11-05 00:31:17 +01:00
|
|
|
{
|
2009-01-22 16:05:38 +01:00
|
|
|
public:
|
2006-11-05 00:31:17 +01:00
|
|
|
int type;
|
2009-01-22 16:05:38 +01:00
|
|
|
string name, name2, prior;
|
2010-09-16 19:18:45 +02:00
|
|
|
expr_t init_val, low_bound, up_bound, mean, std, p3, p4, jscale;
|
2009-01-22 16:05:38 +01:00
|
|
|
|
2009-12-16 18:13:23 +01:00
|
|
|
void
|
|
|
|
init(const DataTree &datatree)
|
2006-11-05 00:31:17 +01:00
|
|
|
{
|
|
|
|
type = 0;
|
|
|
|
name = "";
|
|
|
|
name2 = "";
|
|
|
|
prior = "NaN";
|
2009-01-22 16:05:38 +01:00
|
|
|
init_val = datatree.NaN;
|
|
|
|
low_bound = datatree.MinusInfinity;
|
|
|
|
up_bound = datatree.Infinity;
|
|
|
|
mean = datatree.NaN;
|
|
|
|
std = datatree.NaN;
|
|
|
|
p3 = datatree.NaN;
|
|
|
|
p4 = datatree.NaN;
|
|
|
|
jscale = datatree.NaN;
|
2006-11-05 00:31:17 +01:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class EstimatedParamsStatement : public Statement
|
2006-11-05 00:31:17 +01:00
|
|
|
{
|
2006-12-12 12:54:30 +01:00
|
|
|
private:
|
|
|
|
const vector<EstimationParams> estim_params_list;
|
2006-11-28 12:56:02 +01:00
|
|
|
const SymbolTable &symbol_table;
|
2006-12-12 12:54:30 +01:00
|
|
|
public:
|
|
|
|
EstimatedParamsStatement(const vector<EstimationParams> &estim_params_list_arg,
|
|
|
|
const SymbolTable &symbol_table_arg);
|
2010-06-11 21:19:30 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
2006-11-05 00:31:17 +01:00
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class EstimatedParamsInitStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const vector<EstimationParams> estim_params_list;
|
|
|
|
const SymbolTable &symbol_table;
|
|
|
|
public:
|
|
|
|
EstimatedParamsInitStatement(const vector<EstimationParams> &estim_params_list_arg,
|
|
|
|
const SymbolTable &symbol_table_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
2006-11-05 00:31:17 +01:00
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class EstimatedParamsBoundsStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const vector<EstimationParams> estim_params_list;
|
|
|
|
const SymbolTable &symbol_table;
|
|
|
|
public:
|
|
|
|
EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_arg,
|
|
|
|
const SymbolTable &symbol_table_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
2006-11-05 00:31:17 +01:00
|
|
|
|
2006-12-12 12:54:30 +01:00
|
|
|
class OptimWeightsStatement : public Statement
|
|
|
|
{
|
|
|
|
public:
|
2010-09-16 19:18:45 +02:00
|
|
|
typedef map<string, expr_t> var_weights_t;
|
|
|
|
typedef map<pair<string, string>, expr_t> covar_weights_t;
|
2006-12-12 12:54:30 +01:00
|
|
|
private:
|
2010-09-16 19:00:48 +02:00
|
|
|
const var_weights_t var_weights;
|
|
|
|
const covar_weights_t covar_weights;
|
2006-12-12 12:54:30 +01:00
|
|
|
const SymbolTable &symbol_table;
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
OptimWeightsStatement(const var_weights_t &var_weights_arg,
|
|
|
|
const covar_weights_t &covar_weights_arg,
|
2006-12-12 12:54:30 +01:00
|
|
|
const SymbolTable &symbol_table_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-12-12 12:54:30 +01:00
|
|
|
};
|
2006-11-05 00:31:17 +01:00
|
|
|
|
2006-12-19 00:28:52 +01:00
|
|
|
/*! \todo Make model_tree a member instead of a pointer */
|
|
|
|
class PlannerObjectiveStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2009-04-14 16:39:53 +02:00
|
|
|
StaticModel *model_tree;
|
2006-12-19 00:28:52 +01:00
|
|
|
public:
|
|
|
|
//! Constructor
|
|
|
|
/*! \param model_tree_arg the model tree used to store the objective function.
|
|
|
|
It is owned by the PlannerObjectiveStatement, and will be deleted by its destructor */
|
2009-04-14 16:39:53 +02:00
|
|
|
PlannerObjectiveStatement(StaticModel *model_tree_arg);
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual ~PlannerObjectiveStatement();
|
|
|
|
/*! \todo check there are only endogenous variables at the current period in the objective
|
|
|
|
(no exogenous, no lead/lag) */
|
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2008-10-29 16:10:51 +01:00
|
|
|
/*! \todo allow for the possibility of disabling temporary terms */
|
2006-12-19 00:28:52 +01:00
|
|
|
virtual void computingPass();
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
2006-11-05 00:31:17 +01:00
|
|
|
};
|
2006-12-12 12:54:30 +01:00
|
|
|
|
2007-06-26 00:42:30 +02:00
|
|
|
class BVARDensityStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const int maxnlags;
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg);
|
2008-10-17 14:52:08 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2007-06-26 00:42:30 +02:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
2007-11-21 00:24:01 +01:00
|
|
|
|
2007-06-26 00:42:30 +02:00
|
|
|
class BVARForecastStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const int nlags;
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg);
|
2008-10-17 14:52:08 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
2007-06-26 00:42:30 +02:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
2007-11-21 00:24:01 +01:00
|
|
|
|
2009-07-26 19:07:07 +02:00
|
|
|
class SBVARStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
SBVARStatement(const OptionsList &options_list_arg);
|
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
class MS_SBVARStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
MS_SBVARStatement(const OptionsList &options_list_arg);
|
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-04-20 15:58:15 +02:00
|
|
|
class IdentificationStatement : public Statement
|
|
|
|
{
|
2009-10-14 18:16:43 +02:00
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
2009-04-20 15:58:15 +02:00
|
|
|
public:
|
2009-10-14 18:16:43 +02:00
|
|
|
IdentificationStatement(const OptionsList &options_list_arg);
|
2009-04-20 15:58:15 +02:00
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-04-30 15:14:33 +02:00
|
|
|
class WriteLatexDynamicModelStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const DynamicModel &dynamic_model;
|
|
|
|
public:
|
|
|
|
WriteLatexDynamicModelStatement(const DynamicModel &dynamic_model_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
class WriteLatexStaticModelStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const StaticModel &static_model;
|
|
|
|
public:
|
|
|
|
WriteLatexStaticModelStatement(const StaticModel &static_model_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-07-23 10:31:48 +02:00
|
|
|
class ShockDecompositionStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const SymbolList symbol_list;
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
ShockDecompositionStatement(const SymbolList &symbol_list_arg,
|
2009-12-16 18:13:23 +01:00
|
|
|
const OptionsList &options_list_arg);
|
2009-07-23 10:31:48 +02:00
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-10-16 19:23:57 +02:00
|
|
|
class ConditionalForecastStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
ConditionalForecastStatement(const OptionsList &options_list_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
class PlotConditionalForecastStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
2009-10-22 16:42:12 +02:00
|
|
|
//! A value of -1 indicates that the user didn't specify a value
|
2009-10-16 19:23:57 +02:00
|
|
|
const int periods;
|
|
|
|
const SymbolList symbol_list;
|
|
|
|
public:
|
|
|
|
PlotConditionalForecastStatement(int periods_arg, const SymbolList &symbol_list_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-12-04 22:32:19 +01:00
|
|
|
class SvarIdentificationStatement : public Statement
|
|
|
|
{
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
typedef map<pair<int, int>, vector<int> > svar_identification_exclusion_t;
|
2009-12-04 22:32:19 +01:00
|
|
|
private:
|
2010-09-16 19:00:48 +02:00
|
|
|
const svar_identification_exclusion_t exclusion;
|
2009-12-04 22:32:19 +01:00
|
|
|
const bool upper_cholesky_present;
|
|
|
|
const bool lower_cholesky_present;
|
|
|
|
const SymbolTable &symbol_table;
|
|
|
|
int getMaxLag() const;
|
|
|
|
public:
|
2010-09-16 19:00:48 +02:00
|
|
|
SvarIdentificationStatement(const svar_identification_exclusion_t &exclusion_arg,
|
2009-12-04 22:32:19 +01:00
|
|
|
const bool &upper_cholesky_present_arg,
|
|
|
|
const bool &lower_cholesky_present_arg,
|
|
|
|
const SymbolTable &symbol_table_arg);
|
|
|
|
virtual void checkPass(ModFileStructure &mod_file_struct);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-12-08 17:46:13 +01:00
|
|
|
class MarkovSwitchingStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
MarkovSwitchingStatement(const OptionsList &options_list_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2009-12-09 01:38:53 +01:00
|
|
|
class SvarStatement : public Statement
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
const OptionsList options_list;
|
|
|
|
public:
|
|
|
|
SvarStatement(const OptionsList &options_list_arg);
|
|
|
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
|
|
|
};
|
|
|
|
|
2006-11-05 00:31:17 +01:00
|
|
|
#endif
|