From 17ba27330a844dcc195d86867584944b89b5d6e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Wed, 25 Oct 2023 14:38:43 +0200 Subject: [PATCH] Minor simplification --- src/DynamicModel.cc | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 5274ae0f..3752d019 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -2383,9 +2383,8 @@ void DynamicModel::computeBlockDynJacobianCols() { size_t nb_blocks { blocks.size() }; - // Structures used for lexicographic ordering over (lag, var ID) - vector<set<pair<int, int>>> dynamic_endo(nb_blocks), dynamic_other_endo(nb_blocks), - dynamic_exo(nb_blocks), dynamic_exo_det(nb_blocks); + // Structure used for lexicographic ordering over (lag, var ID) + vector<set<pair<int, int>>> dynamic_endo(nb_blocks); for (auto & [indices, d1] : derivatives[1]) { @@ -2393,23 +2392,9 @@ DynamicModel::computeBlockDynJacobianCols() int block_eq { eq2block[eq_orig] }; int var { getTypeSpecificIDByDerivID(deriv_id) }; int lag { getLagByDerivID(deriv_id) }; - switch (getTypeByDerivID(deriv_id)) - { - case SymbolType::endogenous: - if (block_eq == endo2block[var]) - dynamic_endo[block_eq].emplace(lag, getBlockInitialVariableID(block_eq, var)); - else - dynamic_other_endo[block_eq].emplace(lag, var); - break; - case SymbolType::exogenous: - dynamic_exo[block_eq].emplace(lag, var); - break; - case SymbolType::exogenousDet: - dynamic_exo_det[block_eq].emplace(lag, var); - break; - default: - break; - } + if (getTypeByDerivID(deriv_id) == SymbolType::endogenous + && block_eq == endo2block[var]) + dynamic_endo[block_eq].emplace(lag, getBlockInitialVariableID(block_eq, var)); } // Compute Jacobian column indices -- GitLab