From 2a0aeb6a6f3b3adf2a0a5daf7dced335084c690e Mon Sep 17 00:00:00 2001 From: ferhat <ferhat.mihoubi@univ-evry.fr> 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. (cherry picked from commit 6529fe60b04536402ad5c80346c1920014ca7494) --- preprocessor/DynamicModel.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/preprocessor/DynamicModel.cc b/preprocessor/DynamicModel.cc index 32a20ff4c2..37855b9968 100644 --- a/preprocessor/DynamicModel.cc +++ b/preprocessor/DynamicModel.cc @@ -3229,12 +3229,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) -- GitLab