From 7c9f272e157a6505d88e744046f94dcb00468ec5 Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Tue, 5 Mar 2019 12:42:37 +0100 Subject: [PATCH] always substitute diffs of expressions that contain leads. closes #21 --- src/DataTree.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/DataTree.cc b/src/DataTree.cc index 7a60c67d..84b0faaf 100644 --- a/src/DataTree.cc +++ b/src/DataTree.cc @@ -336,6 +336,9 @@ DataTree::AddPowerDeriv(expr_t iArg1, expr_t iArg2, int powerDerivOrder) expr_t DataTree::AddDiff(expr_t iArg1) { + if (iArg1->maxLead() > 0) + // Issue #21: always substitute diffs with lags + return AddMinus(iArg1, iArg1->decreaseLeadsLags(1)); return AddUnaryOp(UnaryOpcode::diff, iArg1); }