k-order:
* in the preprocessor, fail if k_order_solver given without use_dll * updated the reference manual, in particular w.r. to the new wiki page on MEX compilation under Windows git-svn-id: https://www.dynare.org/svn/dynare/trunk@3216 ac1d8469-bf42-47a9-8791-bf33cf982152issue#70
parent
65a6e5cf6e
commit
270f8d7b1d
|
@ -118,6 +118,12 @@ StochSimulStatement::checkPass(ModFileStructure &mod_file_struct)
|
||||||
it = options_list.num_options.find("partial_information");
|
it = options_list.num_options.find("partial_information");
|
||||||
if (it != options_list.num_options.end() && it->second == "1")
|
if (it != options_list.num_options.end() && it->second == "1")
|
||||||
mod_file_struct.partial_information = true;
|
mod_file_struct.partial_information = true;
|
||||||
|
|
||||||
|
// Option k_order_solver (implicit when order >= 3)
|
||||||
|
it = options_list.num_options.find("k_order_solver");
|
||||||
|
if ((it != options_list.num_options.end() && it->second == "1")
|
||||||
|
|| mod_file_struct.order_option >= 3)
|
||||||
|
mod_file_struct.k_order_solver = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -174,6 +180,12 @@ RamseyPolicyStatement::checkPass(ModFileStructure &mod_file_struct)
|
||||||
it = options_list.num_options.find("partial_information");
|
it = options_list.num_options.find("partial_information");
|
||||||
if (it != options_list.num_options.end() && it->second == "1")
|
if (it != options_list.num_options.end() && it->second == "1")
|
||||||
mod_file_struct.partial_information = true;
|
mod_file_struct.partial_information = true;
|
||||||
|
|
||||||
|
// Option k_order_solver (implicit when order >= 3)
|
||||||
|
it = options_list.num_options.find("k_order_solver");
|
||||||
|
if ((it != options_list.num_options.end() && it->second == "1")
|
||||||
|
|| mod_file_struct.order_option >= 3)
|
||||||
|
mod_file_struct.k_order_solver = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -730,6 +742,12 @@ OsrStatement::checkPass(ModFileStructure &mod_file_struct)
|
||||||
it = options_list.num_options.find("partial_information");
|
it = options_list.num_options.find("partial_information");
|
||||||
if (it != options_list.num_options.end() && it->second == "1")
|
if (it != options_list.num_options.end() && it->second == "1")
|
||||||
mod_file_struct.partial_information = true;
|
mod_file_struct.partial_information = true;
|
||||||
|
|
||||||
|
// Option k_order_solver (implicit when order >= 3)
|
||||||
|
it = options_list.num_options.find("k_order_solver");
|
||||||
|
if ((it != options_list.num_options.end() && it->second == "1")
|
||||||
|
|| mod_file_struct.order_option >= 3)
|
||||||
|
mod_file_struct.k_order_solver = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -118,6 +118,12 @@ ModFile::checkPass()
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mod_file_struct.k_order_solver && !use_dll)
|
||||||
|
{
|
||||||
|
cerr << "ERROR: When using option 'k_order_solver' (which is implicit if order >= 3), you must specify option 'use_dll' on the 'model' block" << endl;
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
if (use_dll && (block || byte_code))
|
if (use_dll && (block || byte_code))
|
||||||
{
|
{
|
||||||
cerr << "ERROR: In 'model' block, 'use_dll' option is not compatible with 'block' or 'bytecode'" << endl;
|
cerr << "ERROR: In 'model' block, 'use_dll' option is not compatible with 'block' or 'bytecode'" << endl;
|
||||||
|
|
|
@ -57,10 +57,10 @@ public:
|
||||||
//! Is the model block decomposed?
|
//! Is the model block decomposed?
|
||||||
bool block;
|
bool block;
|
||||||
|
|
||||||
//! Is the model stored in baytecode format (byte_code=true) or in a M-file (byte_code=false)
|
//! Is the model stored in bytecode format (byte_code=true) or in a M-file (byte_code=false)
|
||||||
bool byte_code;
|
bool byte_code;
|
||||||
|
|
||||||
//! Deprecated option use_dll
|
//! Is the model stored in a MEX file ? (option "use_dll" of "model")
|
||||||
bool use_dll;
|
bool use_dll;
|
||||||
|
|
||||||
//! Global evaluation context
|
//! Global evaluation context
|
||||||
|
|
|
@ -31,7 +31,8 @@ ModFileStructure::ModFileStructure() :
|
||||||
svar_identification_present(false),
|
svar_identification_present(false),
|
||||||
identification_present(false),
|
identification_present(false),
|
||||||
partial_information(false),
|
partial_information(false),
|
||||||
shocks_present(false)
|
shocks_present(false),
|
||||||
|
k_order_solver(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,8 @@ public:
|
||||||
//! Whether a shocks or mshocks block is present
|
//! Whether a shocks or mshocks block is present
|
||||||
/*! Used for the workaround for trac ticket #35 */
|
/*! Used for the workaround for trac ticket #35 */
|
||||||
bool shocks_present;
|
bool shocks_present;
|
||||||
|
//! Whether the "k_order_solver" option is used (explictly, or implicitly if order >= 3)
|
||||||
|
bool k_order_solver;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Statement
|
class Statement
|
||||||
|
|
Loading…
Reference in New Issue