mirror of
https://github.com/Z3Prover/z3
synced 2025-08-23 19:47:52 +00:00
updates to sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
111fcb9366
commit
51f1e2655c
13 changed files with 234 additions and 105 deletions
|
@ -108,6 +108,13 @@ namespace bv {
|
|||
else if (bv.is_numeral(t, a))
|
||||
init_range(s, -a, nullptr, rational(0), false);
|
||||
}
|
||||
else if (sign && m.is_eq(e, s, t)) {
|
||||
if (bv.is_numeral(s, a))
|
||||
// 1 <= t - a
|
||||
init_range(nullptr, rational(1), t, -a, false);
|
||||
else if (bv.is_numeral(t, a))
|
||||
init_range(nullptr, rational(1), s, -a, false);
|
||||
}
|
||||
else if (bv.is_bit2bool(e, s, idx)) {
|
||||
auto& val = wval(s);
|
||||
val.try_set_bit(idx, !sign);
|
||||
|
@ -157,7 +164,6 @@ namespace bv {
|
|||
else
|
||||
v.add_range(-b, -a);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sls_fixed::get_offset(expr* e, expr*& x, rational& offset) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue