3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 19:51:22 +00:00

numeral helper functions

This commit is contained in:
Jakob Rath 2022-08-01 12:14:06 +02:00 committed by Nikolaj Bjorner
parent e31926d132
commit 6eae27ffad
6 changed files with 27 additions and 4 deletions

View file

@ -157,6 +157,12 @@ public:
friend inline rational numerator(rational const & r) { rational result; m().get_numerator(r.m_val, result.m_val); return result; }
friend inline rational denominator(rational const & r) { rational result; m().get_denominator(r.m_val, result.m_val); return result; }
friend inline rational inv(rational const & r) {
rational result;
m().inv(r.m_val, result.m_val);
return result;
}
rational & operator+=(rational const & r) {
m().add(m_val, r.m_val, m_val);
@ -346,8 +352,13 @@ public:
bool is_power_of_two(unsigned & shift) const {
return m().is_power_of_two(m_val, shift);
}
bool is_power_of_two() const {
unsigned shift = 0;
return m().is_power_of_two(m_val, shift);
}
bool mult_inverse(unsigned num_bits, rational & result);
bool mult_inverse(unsigned num_bits, rational & result) const;
static rational const & zero() {
return m_zero;