3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-08 04:01:22 +00:00
This commit is contained in:
Nikolaj Bjorner 2022-06-21 13:49:52 -07:00
parent 202ce1edf0
commit ab9aee189b
4 changed files with 16 additions and 8 deletions

View file

@ -232,11 +232,17 @@ public:
rational::m().mod(r1.m_val, r2.m_val, r.m_val);
return r;
}
friend inline void mod(rational const & r1, rational const & r2, rational & r) {
rational::m().mod(r1.m_val, r2.m_val, r.m_val);
}
friend inline rational mod2k(rational const & a, unsigned k) {
if (a.is_nonneg() && a.is_int() && a.bitsize() <= k)
return a;
return mod(a, power_of_two(k));
}
friend inline rational operator%(rational const & r1, rational const & r2) {
rational r;
rational::m().rem(r1.m_val, r2.m_val, r.m_val);