From 2075585fa80f84d5bc607473124d5660ec008c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Tue, 11 Jun 2024 17:47:30 +0200 Subject: [PATCH] VariableNode::writeOutput(): no longer call getJacobianCol() in sparse output type --- src/ExprNode.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ExprNode.cc b/src/ExprNode.cc index d3239dc3..69533fa1 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -1168,12 +1168,18 @@ VariableNode::writeOutput(ostream& output, ExprNodeOutputType output_type, case SymbolType::endogenous: switch (int tsid {getTypeSpecificID()}; output_type) { - case ExprNodeOutputType::juliaDynamicModel: case ExprNodeOutputType::juliaSparseDynamicModel: - case ExprNodeOutputType::matlabDynamicModel: case ExprNodeOutputType::matlabSparseDynamicModel: - case ExprNodeOutputType::CDynamicModel: case ExprNodeOutputType::CSparseDynamicModel: + assert(lag >= -1 && lag <= 1); + i = tsid + (lag + 1) * datatree.symbol_table.endo_nbr() + + ARRAY_SUBSCRIPT_OFFSET(output_type); + output << "y" << LEFT_ARRAY_SUBSCRIPT(output_type) << i + << RIGHT_ARRAY_SUBSCRIPT(output_type); + break; + case ExprNodeOutputType::juliaDynamicModel: + case ExprNodeOutputType::matlabDynamicModel: + case ExprNodeOutputType::CDynamicModel: i = datatree.getJacobianCol(getDerivID(), isSparseModelOutput(output_type)) + ARRAY_SUBSCRIPT_OFFSET(output_type); output << "y" << LEFT_ARRAY_SUBSCRIPT(output_type) << i -- GitLab