diff options
author | Tim King <taking@cs.nyu.edu> | 2014-02-19 15:50:07 -0500 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2014-02-19 15:50:07 -0500 |
commit | cca221de7d29e86fd770af3aca0efc0d877dff26 (patch) | |
tree | 661a5b911f467064ffa9417c77f68bcc086910e6 /src/theory/arith/dio_solver.cpp | |
parent | 218dbfa797e6318484f7f858a29dd4c422bc37d3 (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.cpp | 4 |
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; |