mirror of
https://github.com/Z3Prover/z3
synced 2025-08-08 04:01:22 +00:00
perf #6100
This commit is contained in:
parent
202ce1edf0
commit
ab9aee189b
4 changed files with 16 additions and 8 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue