Bug correction in splitting the jacobian into blocks: the vector variable_2_block is valid only for endogenous variables.

issue#70
ferhat 2015-01-21 13:33:29 +01:00
parent 2ca0dec650
commit bf50187993
1 changed files with 2 additions and 1 deletions

View File

@ -3253,12 +3253,13 @@ DynamicModel::collect_block_first_order_derivatives()
int var = symbol_table.getTypeSpecificID(getSymbIDByDerivID(it2->first.second));
int lag = getLagByDerivID(it2->first.second);
int block_eq = equation_2_block[eq];
int block_var = variable_2_block[var];
int block_var=0;
derivative_t tmp_derivative;
lag_var_t lag_var;
switch (getTypeByDerivID(it2->first.second))
{
case eEndogenous:
block_var = variable_2_block[var];
if (block_eq == block_var)
{
if (lag < 0 && lag < -endo_max_leadlag_block[block_eq].first)