summaryrefslogtreecommitdiff
path: root/src/theory/arith/dio_solver.cpp
diff options
context:
space:
mode:
authorTim King <taking@cs.nyu.edu>2014-02-19 15:50:07 -0500
committerTim King <taking@cs.nyu.edu>2014-02-19 15:50:07 -0500
commitcca221de7d29e86fd770af3aca0efc0d877dff26 (patch)
tree661a5b911f467064ffa9417c77f68bcc086910e6 /src/theory/arith/dio_solver.cpp
parent218dbfa797e6318484f7f858a29dd4c422bc37d3 (diff)
Stopping non-linear terms from entering the dio solver. Fixes bug 547.
Diffstat (limited to 'src/theory/arith/dio_solver.cpp')
-rw-r--r--src/theory/arith/dio_solver.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/arith/dio_solver.cpp b/src/theory/arith/dio_solver.cpp
index 92cd50864..39c2d859b 100644
--- a/src/theory/arith/dio_solver.cpp
+++ b/src/theory/arith/dio_solver.cpp
@@ -141,6 +141,10 @@ void DioSolver::pushInputConstraint(const Comparison& eq, Node reason){
Assert(eq.getNode().getKind() == kind::EQUAL);
SumPair sp = eq.toSumPair();
+ if(sp.isNonlinear()){
+ return;
+ }
+
uint32_t length = sp.maxLength();
if(length > d_maxInputCoefficientLength){
d_maxInputCoefficientLength = length;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback