mirror of
https://github.com/Z3Prover/z3
synced 2025-06-29 09:28:45 +00:00
fix bug in rational.is_int32, it recognized rationals; fix bug reported by Anvesh for integer arithmetic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0d6220f383
commit
81f1f7690d
2 changed files with 2 additions and 1 deletions
|
@ -71,6 +71,7 @@ class lia2pb_tactic : public tactic {
|
||||||
if (m_bm.has_lower(n, l, s) &&
|
if (m_bm.has_lower(n, l, s) &&
|
||||||
m_bm.has_upper(n, u, s) &&
|
m_bm.has_upper(n, u, s) &&
|
||||||
l.is_zero() &&
|
l.is_zero() &&
|
||||||
|
!u.is_neg() &&
|
||||||
u.get_num_bits() <= m_max_bits) {
|
u.get_num_bits() <= m_max_bits) {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -104,7 +104,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_int32() const {
|
bool is_int32() const {
|
||||||
if (is_small()) return true;
|
if (is_small() && is_int()) return true;
|
||||||
// we don't assume that if it is small, then it is int32.
|
// we don't assume that if it is small, then it is int32.
|
||||||
if (!is_int64()) return false;
|
if (!is_int64()) return false;
|
||||||
int64 v = get_int64();
|
int64 v = get_int64();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue