v4 preprocessor: added code for GSA (Marco) not finishde
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1405 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
f9b21362ef
commit
ad3273d726
|
@ -205,6 +205,18 @@ PosteriorAnalysisStatement::writeOutput(ostream &output, const string &basename)
|
||||||
output << "posterior_analysis(var_list_);\n";
|
output << "posterior_analysis(var_list_);\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DynareSensitivityStatement::DynareSensitivityStatement(const OptionsList &options_list_arg) :
|
||||||
|
options_list(options_list_arg)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
DynareSensitivityStatement::writeOutput(ostream &output, const string &basename) const
|
||||||
|
{
|
||||||
|
options_list.writeOutput(output);
|
||||||
|
output << "dynare_sensitivity;" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
RplotStatement::RplotStatement(const TmpSymbolTable &tmp_symbol_table_arg,
|
RplotStatement::RplotStatement(const TmpSymbolTable &tmp_symbol_table_arg,
|
||||||
const OptionsList &options_list_arg) :
|
const OptionsList &options_list_arg) :
|
||||||
tmp_symbol_table(tmp_symbol_table_arg),
|
tmp_symbol_table(tmp_symbol_table_arg),
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -83,8 +83,9 @@ int sigma_e = 0;
|
||||||
|
|
||||||
<INITIAL>bvar_density {BEGIN DYNARE_STATEMENT; return token::BVAR_DENSITY; }
|
<INITIAL>bvar_density {BEGIN DYNARE_STATEMENT; return token::BVAR_DENSITY; }
|
||||||
<INITIAL>bvar_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; }
|
<INITIAL>bvar_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; }
|
||||||
|
<INITIAL>dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;}
|
||||||
/* End of a Dynare statement */
|
/* End of a Dynare statement */
|
||||||
|
|
||||||
<DYNARE_STATEMENT>; {
|
<DYNARE_STATEMENT>; {
|
||||||
if (!sigma_e)
|
if (!sigma_e)
|
||||||
BEGIN INITIAL;
|
BEGIN INITIAL;
|
||||||
|
@ -260,6 +261,41 @@ int sigma_e = 0;
|
||||||
<DYNARE_STATEMENT,DYNARE_BLOCK>atanh {return token::ATANH;}
|
<DYNARE_STATEMENT,DYNARE_BLOCK>atanh {return token::ATANH;}
|
||||||
<DYNARE_STATEMENT,DYNARE_BLOCK>sqrt {return token::SQRT;}
|
<DYNARE_STATEMENT,DYNARE_BLOCK>sqrt {return token::SQRT;}
|
||||||
|
|
||||||
|
/* options for GSA module by Marco Ratto */
|
||||||
|
<DYNARE_STATEMENT>identification {return token::IDENTIFICATION;}
|
||||||
|
<DYNARE_STATEMENT>morris {return token::MORRIS;}
|
||||||
|
<DYNARE_STATEMENT>stab {return token::STAB;}
|
||||||
|
<DYNARE_STATEMENT>redform {return token::REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>pprior {return token::PPRIOR;}
|
||||||
|
<DYNARE_STATEMENT>prior_range {return token::PRIOR_RANGE;}
|
||||||
|
<DYNARE_STATEMENT>ppost {return token::PPOST;}
|
||||||
|
<DYNARE_STATEMENT>ilptau {return token::ILPTAU;}
|
||||||
|
<DYNARE_STATEMENT>morris {return token::MORRIS;}
|
||||||
|
<DYNARE_STATEMENT>glue {return token::GLUE;}
|
||||||
|
<DYNARE_STATEMENT>morris_nliv {return token::MORRIS_NLIV;}
|
||||||
|
<DYNARE_STATEMENT>morris_ntra {return token::MORRIS_NTRA;}
|
||||||
|
<DYNARE_STATEMENT>Nsam {return token::NSAM;}
|
||||||
|
<DYNARE_STATEMENT>load_redform {return token::LOAD_REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>load_rmse {return token::LOAD_RMSE;}
|
||||||
|
<DYNARE_STATEMENT>load_stab {return token::LOAD_STAB;}
|
||||||
|
<DYNARE_STATEMENT>alpha2_stab {return token::ALPHA2_STAB;}
|
||||||
|
<DYNARE_STATEMENT>ksstat {return token::KSSTAT;}
|
||||||
|
<DYNARE_STATEMENT>logtrans_redform {return token::LOGTRANS_REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>threshold_redform {return token::THRESHOLD_REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>ksstat_redform {return token::KSSTAT_REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>alpha2_redform {return token::ALPHA2_REDFORM;}
|
||||||
|
<DYNARE_STATEMENT>namendo {return token::NAMENDO;}
|
||||||
|
<DYNARE_STATEMENT>namlagendo {return token::NAMLAGENDO;}
|
||||||
|
<DYNARE_STATEMENT>namexo {return token::NAMEXO;}
|
||||||
|
<DYNARE_STATEMENT>rmse {return token::RMSE;}
|
||||||
|
<DYNARE_STATEMENT>lik_only {return token::LIK_ONLY;}
|
||||||
|
<DYNARE_STATEMENT>var_rmse {return token::VAR_RMSE;}
|
||||||
|
<DYNARE_STATEMENT>pfilt_rmse {return token::PFILT_RMSE;}
|
||||||
|
<DYNARE_STATEMENT>istart_rmse {return token::ISTART_RMSE;}
|
||||||
|
<DYNARE_STATEMENT>alpha_rmse {return token::ALPHA_RMSE;}
|
||||||
|
<DYNARE_STATEMENT>alpha2_rmse {return token::ALPHA2_RMSE;}
|
||||||
|
/* end of GSA options */
|
||||||
|
|
||||||
<DYNARE_STATEMENT,DYNARE_BLOCK>[A-Za-z_][A-Za-z0-9_]* {
|
<DYNARE_STATEMENT,DYNARE_BLOCK>[A-Za-z_][A-Za-z0-9_]* {
|
||||||
yylval->string_val = new string(yytext);
|
yylval->string_val = new string(yytext);
|
||||||
return token::NAME;
|
return token::NAME;
|
||||||
|
|
|
@ -727,6 +727,13 @@ ParsingDriver::run_posterior_analysis()
|
||||||
options_list.clear();
|
options_list.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ParsingDriver::dynare_sensitivity()
|
||||||
|
{
|
||||||
|
mod_file->addStatement(new DynareSensitivityStatement(options_list));
|
||||||
|
options_list.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ParsingDriver::optim_options_helper(const string &name)
|
ParsingDriver::optim_options_helper(const string &name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -164,6 +164,15 @@ public:
|
||||||
virtual void writeOutput(ostream &output, const string &basename) const;
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DynareSensitivityStatement : public Statement
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
const OptionsList options_list;
|
||||||
|
public:
|
||||||
|
DynareSensitivityStatement(const OptionsList &options_list_arg);
|
||||||
|
virtual void writeOutput(ostream &output, const string &basename) const;
|
||||||
|
};
|
||||||
|
|
||||||
class VarobsStatement : public Statement
|
class VarobsStatement : public Statement
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -280,7 +280,39 @@ namespace yy
|
||||||
ASINH = 408,
|
ASINH = 408,
|
||||||
ACOSH = 409,
|
ACOSH = 409,
|
||||||
ATANH = 410,
|
ATANH = 410,
|
||||||
SQRT = 411
|
SQRT = 411,
|
||||||
|
DYNARE_SENSITIVITY = 412,
|
||||||
|
IDENTIFICATION = 413,
|
||||||
|
MORRIS = 414,
|
||||||
|
STAB = 415,
|
||||||
|
REDFORM = 416,
|
||||||
|
PPRIOR = 417,
|
||||||
|
PRIOR_RANGE = 418,
|
||||||
|
PPOST = 419,
|
||||||
|
ILPTAU = 420,
|
||||||
|
GLUE = 421,
|
||||||
|
MORRIS_NLIV = 422,
|
||||||
|
MORRIS_NTRA = 423,
|
||||||
|
NSAM = 424,
|
||||||
|
LOAD_REDFORM = 425,
|
||||||
|
LOAD_RMSE = 426,
|
||||||
|
LOAD_STAB = 427,
|
||||||
|
ALPHA2_STAB = 428,
|
||||||
|
KSSTAT = 429,
|
||||||
|
LOGTRANS_REDFORM = 430,
|
||||||
|
THRESHOLD_REDFORM = 431,
|
||||||
|
KSSTAT_REDFORM = 432,
|
||||||
|
ALPHA2_REDFORM = 433,
|
||||||
|
NAMENDO = 434,
|
||||||
|
NAMLAGENDO = 435,
|
||||||
|
NAMEXO = 436,
|
||||||
|
RMSE = 437,
|
||||||
|
LIK_ONLY = 438,
|
||||||
|
VAR_RMSE = 439,
|
||||||
|
PFILT_RMSE = 440,
|
||||||
|
ISTART_RMSE = 441,
|
||||||
|
ALPHA_RMSE = 442,
|
||||||
|
ALPHA2_RMSE = 443
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -275,6 +275,8 @@ public:
|
||||||
void run_prior_analysis();
|
void run_prior_analysis();
|
||||||
//! Runs posterior_analysis();
|
//! Runs posterior_analysis();
|
||||||
void run_posterior_analysis();
|
void run_posterior_analysis();
|
||||||
|
//! Runs dynare_sensitivy()
|
||||||
|
void dynare_sensitivity();
|
||||||
//! Adds an optimization option (string value)
|
//! Adds an optimization option (string value)
|
||||||
void optim_options_string(string *name, string *value);
|
void optim_options_string(string *name, string *value);
|
||||||
//! Adds an optimization option (numeric value)
|
//! Adds an optimization option (numeric value)
|
||||||
|
|
Loading…
Reference in New Issue