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";
|
||||
}
|
||||
|
||||
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,
|
||||
const OptionsList &options_list_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_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; }
|
||||
|
||||
<INITIAL>dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;}
|
||||
/* End of a Dynare statement */
|
||||
|
||||
<DYNARE_STATEMENT>; {
|
||||
if (!sigma_e)
|
||||
BEGIN INITIAL;
|
||||
|
@ -260,6 +261,41 @@ int sigma_e = 0;
|
|||
<DYNARE_STATEMENT,DYNARE_BLOCK>atanh {return token::ATANH;}
|
||||
<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_]* {
|
||||
yylval->string_val = new string(yytext);
|
||||
return token::NAME;
|
||||
|
|
|
@ -727,6 +727,13 @@ ParsingDriver::run_posterior_analysis()
|
|||
options_list.clear();
|
||||
}
|
||||
|
||||
void
|
||||
ParsingDriver::dynare_sensitivity()
|
||||
{
|
||||
mod_file->addStatement(new DynareSensitivityStatement(options_list));
|
||||
options_list.clear();
|
||||
}
|
||||
|
||||
void
|
||||
ParsingDriver::optim_options_helper(const string &name)
|
||||
{
|
||||
|
|
|
@ -164,6 +164,15 @@ public:
|
|||
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
|
||||
{
|
||||
private:
|
||||
|
|
|
@ -280,7 +280,39 @@ namespace yy
|
|||
ASINH = 408,
|
||||
ACOSH = 409,
|
||||
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();
|
||||
//! Runs posterior_analysis();
|
||||
void run_posterior_analysis();
|
||||
//! Runs dynare_sensitivy()
|
||||
void dynare_sensitivity();
|
||||
//! Adds an optimization option (string value)
|
||||
void optim_options_string(string *name, string *value);
|
||||
//! Adds an optimization option (numeric value)
|
||||
|
|
Loading…
Reference in New Issue