Block decomposition: make mfs=1 the default
NB: mfs=3 is nevertheless used when “block” option has not been used, and the model is purely backward/forward or static, for solve_algo={12,14}.master
parent
dc966014a3
commit
389a2647d3
|
@ -2137,10 +2137,13 @@ DynamicModel::computingPass(int derivsOrder, int paramsDerivsOrder, const eval_c
|
||||||
if (paramsDerivsOrder > 0 && !no_tmp_terms)
|
if (paramsDerivsOrder > 0 && !no_tmp_terms)
|
||||||
computeParamsDerivativesTemporaryTerms();
|
computeParamsDerivativesTemporaryTerms();
|
||||||
|
|
||||||
|
/* Change block decomposition settings when the “block” keyword has not been
|
||||||
|
used and the model is purely backward/forward or static. This is meant to
|
||||||
|
be used with solve_algo={12,14}. */
|
||||||
if (!block && (max_endo_lag == 0 || max_endo_lead == 0))
|
if (!block && (max_endo_lag == 0 || max_endo_lead == 0))
|
||||||
{
|
{
|
||||||
time_recursive_block_decomposition = true;
|
time_recursive_block_decomposition = true;
|
||||||
mfs = 3; // FIXME: remove this line when mfs=3 becomes the global default
|
mfs = 3; // Typically useful for equations of the form log(x)=RHS
|
||||||
}
|
}
|
||||||
computingPassBlock(eval_context, no_tmp_terms);
|
computingPassBlock(eval_context, no_tmp_terms);
|
||||||
if (block_decomposed)
|
if (block_decomposed)
|
||||||
|
|
|
@ -599,7 +599,7 @@ public:
|
||||||
//! Absolute value under which a number is considered to be zero
|
//! Absolute value under which a number is considered to be zero
|
||||||
double cutoff{1e-15};
|
double cutoff{1e-15};
|
||||||
// Setting for minimum feedback set computation (see the reference manual)
|
// Setting for minimum feedback set computation (see the reference manual)
|
||||||
int mfs{0};
|
int mfs{1};
|
||||||
//! Declare a node as an equation of the model; also give its line number
|
//! Declare a node as an equation of the model; also give its line number
|
||||||
void addEquation(expr_t eq, optional<int> lineno);
|
void addEquation(expr_t eq, optional<int> lineno);
|
||||||
//! Declare a node as an equation of the model, also giving its tags
|
//! Declare a node as an equation of the model, also giving its tags
|
||||||
|
|
Loading…
Reference in New Issue