mirror of
https://github.com/Z3Prover/z3
synced 2025-08-15 15:25:26 +00:00
Add get_sort(expr * n) function that does not depend on ast_manager. Move power_of_two to rational class. Add arith_recognizers and bv_recognizers classes. The two new classes contain the 'read-only' methods from arith_util and bv_util.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
4f0d5a5756
commit
cec328cfdc
17 changed files with 314 additions and 282 deletions
|
@ -583,7 +583,7 @@ private:
|
|||
return false; // size must be even
|
||||
// I implemented only the easy (and very common) case, where a_i = 2^{n-i-1} and c = 2^n - 1
|
||||
unsigned n = sz/2;
|
||||
if (c != m_bv_util.power_of_two(n) - numeral(1))
|
||||
if (c != rational::power_of_two(n) - numeral(1))
|
||||
return false;
|
||||
for (unsigned i = 0; i < n; i++) {
|
||||
monomial const & m1 = p[i*2];
|
||||
|
@ -592,7 +592,7 @@ private:
|
|||
return false;
|
||||
if (m1.m_a != m2.m_a)
|
||||
return false;
|
||||
if (m1.m_a != m_bv_util.power_of_two(n - i - 1))
|
||||
if (m1.m_a != rational::power_of_two(n - i - 1))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue