From 6529fe60b04536402ad5c80346c1920014ca7494 Mon Sep 17 00:00:00 2001 From: ferhat Date: Wed, 21 Jan 2015 13:33:29 +0100 Subject: [PATCH] Bug correction in splitting the jacobian into blocks: the vector variable_2_block is valid only for endogenous variables. --- preprocessor/DynamicModel.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/preprocessor/DynamicModel.cc b/preprocessor/DynamicModel.cc index eaf0a9438..fab1f84a9 100644 --- a/preprocessor/DynamicModel.cc +++ b/preprocessor/DynamicModel.cc @@ -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)