From 54d7e6ce5db74f5ab157f81f3284761e4e903ba5 Mon Sep 17 00:00:00 2001 From: Normann Rion <normann@dynare.org> Date: Wed, 7 May 2025 00:29:20 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20the=20derivative=20computa?= =?UTF-8?q?tions=20w.r.t=20heterogeneous=20exogenous=20variables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ExprNode.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ExprNode.cc b/src/ExprNode.cc index 7c0e6928..6dc9587b 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -908,6 +908,7 @@ VariableNode::prepareForDerivation() case SymbolType::endogenous: case SymbolType::parameter: case SymbolType::heterogeneousEndogenous: + case SymbolType::heterogeneousExogenous: non_null_derivatives.insert(getDerivID()); break; case SymbolType::modelLocalVariable: @@ -915,7 +916,6 @@ VariableNode::prepareForDerivation() // Non null derivatives are those of the value of the local parameter non_null_derivatives = datatree.getLocalVariable(symb_id, lag)->non_null_derivatives; break; - case SymbolType::heterogeneousExogenous: case SymbolType::heterogeneousParameter: case SymbolType::modFileLocalVariable: case SymbolType::statementDeclaredVariable: @@ -1004,11 +1004,11 @@ VariableNode::computeDerivative(int deriv_id) case SymbolType::endogenous: case SymbolType::parameter: case SymbolType::heterogeneousEndogenous: + case SymbolType::heterogeneousExogenous: if (deriv_id == getDerivID()) return datatree.One; else return datatree.Zero; - case SymbolType::heterogeneousExogenous: case SymbolType::heterogeneousParameter: return datatree.Zero; case SymbolType::modelLocalVariable: -- GitLab