diff --git a/src/ExprNode.cc b/src/ExprNode.cc index c8e4c4b3575b85cf01966934f2e6f23ad35df7c1..1da16358e50edc874c114cc3248ef935545f9fa6 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -868,7 +868,7 @@ VariableNode::prepareForDerivation() case SymbolType::trend: case SymbolType::logTrend: // In static models, exogenous and trends do not have deriv IDs - if (dynamic_cast<StaticModel *>(&datatree)) + if (!datatree.isDynamic()) break; [[fallthrough]]; case SymbolType::endogenous: @@ -907,7 +907,7 @@ VariableNode::computeDerivative(int deriv_id) case SymbolType::trend: case SymbolType::logTrend: // In static models, exogenous and trends do not have deriv IDs - if (dynamic_cast<StaticModel *>(&datatree)) + if (!datatree.isDynamic()) return datatree.Zero; [[fallthrough]]; case SymbolType::endogenous: @@ -1431,7 +1431,7 @@ VariableNode::computeChainRuleDerivative(int deriv_id, case SymbolType::trend: case SymbolType::logTrend: // In static models, exogenous and trends do not have deriv IDs - if (dynamic_cast<StaticModel *>(&datatree)) + if (!datatree.isDynamic()) return datatree.Zero; [[fallthrough]]; case SymbolType::endogenous: