diff options
-rw-r--r-- | impl/VariableAssignment.hpp | 13 | ||||
-rw-r--r-- | impl/test/11.eqns | 2 | ||||
-rw-r--r-- | impl/test/11.soln | 2 |
3 files changed, 6 insertions, 11 deletions
diff --git a/impl/VariableAssignment.hpp b/impl/VariableAssignment.hpp index 3f4ff70..21226ac 100644 --- a/impl/VariableAssignment.hpp +++ b/impl/VariableAssignment.hpp @@ -62,17 +62,8 @@ struct DynamicVariableAssignment : public VariableAssignment<Domain> { _values[x] = unknown(infinity<Domain>()); solve(x); - /* - IdSet<Variable<Domain> > infl = _influence[x]; - _influence[x].clear(); - for (typename IdSet<Variable<Domain> >::iterator - it = infl.begin(), - ei = infl.end(); - it != ei; - ++it) { - invalidate(_system.variable(*it)); - } - */ + if (_values[x] == infinity<Domain>()) + _values[x] = _values[x].asKnown(); } } diff --git a/impl/test/11.eqns b/impl/test/11.eqns new file mode 100644 index 0000000..4edc114 --- /dev/null +++ b/impl/test/11.eqns @@ -0,0 +1,2 @@ +x = y +y = max(-100000, y+1) diff --git a/impl/test/11.soln b/impl/test/11.soln new file mode 100644 index 0000000..cdfcb1f --- /dev/null +++ b/impl/test/11.soln @@ -0,0 +1,2 @@ +x = inf +y = inf |