@@ -364,7 +364,7 @@ static Tree realeval(Tree exp, Tree visited, Tree localValEnv)
364
364
int n, m;
365
365
getBoxType (re, &n, &m);
366
366
367
- Tree lres = boxPropagateSig (gGlobal ->nil , a2, lsig);
367
+ Tree lres = boxPropagateSig (gGlobal ->nil , a2, lsig, true );
368
368
if (isList (lres) && isNil (tl (lres))) {
369
369
Tree r = simplify (hd (lres));
370
370
if (isNum (r)) { return r; }
@@ -630,9 +630,9 @@ static Tree realeval(Tree exp, Tree visited, Tree localValEnv)
630
630
631
631
if ((i1 == 0 ) & (o1 == 1 ) & (i2 == 0 ) & (o2 == 1 ) & (i3 == 0 ) & (o3 > 1 ) & ((o3 % 2 ) == 0 )) {
632
632
// We are in good shape
633
- Tree ls1 = boxPropagateSig (gGlobal ->nil , v1, makeSigInputList (0 ));
634
- Tree ls2 = boxPropagateSig (gGlobal ->nil , v2, makeSigInputList (0 ));
635
- Tree lsr = boxPropagateSig (gGlobal ->nil , vr, makeSigInputList (0 ));
633
+ Tree ls1 = boxPropagateSig (gGlobal ->nil , v1, makeSigInputList (0 ), true );
634
+ Tree ls2 = boxPropagateSig (gGlobal ->nil , v2, makeSigInputList (0 ), true );
635
+ Tree lsr = boxPropagateSig (gGlobal ->nil , vr, makeSigInputList (0 ), true );
636
636
637
637
// All these lists should be list of constant numerical signals
638
638
// that we need to convert back to box expressions
@@ -767,7 +767,7 @@ static bool isBoxNumeric(Tree in, Tree& out)
767
767
v = a2sb (in);
768
768
if (getBoxType (v, &numInputs, &numOutputs) && (numInputs == 0 ) && (numOutputs == 1 )) {
769
769
// Potential numerical expression
770
- Tree lsignals = boxPropagateSig (gGlobal ->nil , v, makeSigInputList (numInputs));
770
+ Tree lsignals = boxPropagateSig (gGlobal ->nil , v, makeSigInputList (numInputs), true );
771
771
Tree res = simplify (hd (lsignals));
772
772
if (isSigReal (res, &x)) {
773
773
out = boxReal (x);
@@ -819,7 +819,7 @@ static double eval2double(Tree exp, Tree visited, Tree localValEnv)
819
819
// Never reached since evalerror throws an exception
820
820
return 1 ;
821
821
} else {
822
- Tree lsignals = boxPropagateSig (gGlobal ->nil , diagram, makeSigInputList (numInputs));
822
+ Tree lsignals = boxPropagateSig (gGlobal ->nil , diagram, makeSigInputList (numInputs), true );
823
823
Tree val = simplify (hd (lsignals));
824
824
return tree2double (val);
825
825
}
@@ -848,7 +848,7 @@ static int eval2int(Tree exp, Tree visited, Tree localValEnv)
848
848
// Never reached since evalerror throws an exception
849
849
return 1 ;
850
850
} else {
851
- Tree lsignals = boxPropagateSig (gGlobal ->nil , diagram, makeSigInputList (numInputs));
851
+ Tree lsignals = boxPropagateSig (gGlobal ->nil , diagram, makeSigInputList (numInputs), true );
852
852
Tree val = simplify (hd (lsignals));
853
853
return tree2int (val);
854
854
}
@@ -1519,7 +1519,7 @@ static Tree numericBoxSimplification(Tree box)
1519
1519
// Propagate signals to discover if it simplifies to a number
1520
1520
int i1;
1521
1521
double x1;
1522
- Tree lsignals = boxPropagateSig (gGlobal ->nil , box, makeSigInputList (0 ));
1522
+ Tree lsignals = boxPropagateSig (gGlobal ->nil , box, makeSigInputList (0 ), true );
1523
1523
Tree s = simplify (hd (lsignals));
1524
1524
1525
1525
if (isSigReal (s, &x1)) {
0 commit comments