mirror of
https://github.com/Z3Prover/z3
synced 2025-06-05 21:53:23 +00:00
fixes to bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
eb555ee0a7
commit
9fcddc5774
2 changed files with 12 additions and 1 deletions
|
@ -196,6 +196,11 @@ namespace bv {
|
||||||
bool sls_eval::bval1(app* e) const {
|
bool sls_eval::bval1(app* e) const {
|
||||||
if (e->get_family_id() == bv.get_fid())
|
if (e->get_family_id() == bv.get_fid())
|
||||||
return bval1_bv(e);
|
return bval1_bv(e);
|
||||||
|
expr* x, * y;
|
||||||
|
if (m.is_eq(e, x, y) && bv.is_bv(x)) {
|
||||||
|
return wval(x).bits() == wval(y).bits();
|
||||||
|
}
|
||||||
|
verbose_stream() << mk_bounded_pp(e, m) << "\n";
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -503,7 +503,7 @@ namespace bv {
|
||||||
if (h == l)
|
if (h == l)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// verbose_stream() << *this << " " << l << " " << h << " --> ";
|
//verbose_stream() << *this << " lo " << l << " hi " << h << " --> ";
|
||||||
|
|
||||||
if (m_lo == m_hi) {
|
if (m_lo == m_hi) {
|
||||||
set_value(m_lo, l);
|
set_value(m_lo, l);
|
||||||
|
@ -615,6 +615,12 @@ namespace bv {
|
||||||
if (m_lo == m_hi)
|
if (m_lo == m_hi)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!in_range(m_bits))
|
||||||
|
m_bits = m_lo;
|
||||||
|
|
||||||
|
if (is_zero(m_hi))
|
||||||
|
return;
|
||||||
|
|
||||||
inf_feasible(m_lo);
|
inf_feasible(m_lo);
|
||||||
|
|
||||||
bvect& hi1 = m_tmp;
|
bvect& hi1 = m_tmp;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue