3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-06 06:03:23 +00:00

check for 0

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-25 15:07:05 +01:00
parent 8c2f268506
commit bbddeffe0b

View file

@ -206,10 +206,6 @@ namespace polysat {
return floor((e->interval.hi_val() - coeff_val - 1) / e->coeff); return floor((e->interval.hi_val() - coeff_val - 1) / e->coeff);
}; };
// TODO: looks like there's an infinite loop for:
// [match_linear3] a1 = 3; b1 = 0; e1 = 0
// [match_linear3] a2 = 3; b2 = -2; e2 = -2
// naive widening. TODO: can we accelerate this? // naive widening. TODO: can we accelerate this?
// condition e->interval.hi_val() < coeff_val is // condition e->interval.hi_val() < coeff_val is
// to ensure that widening is performed on the same interval // to ensure that widening is performed on the same interval
@ -232,7 +228,10 @@ namespace polysat {
break; break;
if (e->interval.lo_val() > coeff_val) if (e->interval.lo_val() > coeff_val)
break; break;
lo -= delta_l(coeff_val); rational d = delta_l(coeff_val);
if (d.is_zero())
break;
lo -= d;
} }
}; };
do { do {