Lines Matching refs:m_num

25     mpz m_num;  variable
30 mpq(int v):m_num(v), m_den(1) {} in mpq()
35 void swap(mpq & other) { m_num.swap(other.m_num); m_den.swap(other.m_den); } in swap()
36 mpz const & numerator() const { return m_num; } in numerator()
59 gcd(a.m_num, a.m_den, tmp); in normalize()
64 div(a.m_num, tmp, a.m_num); in normalize()
69 gcd(a.m_num, a.m_den, m_tmp1); in normalize()
72 div(a.m_num, m_tmp1, a.m_num); in normalize()
85 add(a.m_num, tmp1, c.m_num); in rat_add()
92 add(a.m_num, m_tmp1, c.m_num); in rat_add()
125 reset(a.m_num); in reset()
131 static bool is_small(mpq const & a) { return is_small(a.m_num) && is_small(a.m_den); } in is_small()
141 del(a.m_num); in del()
146 mpz_manager<SYNCH>::del(m, a.m_num); in del()
151 void get_numerator(mpq const & a, mpz & n) { set(n, a.m_num); } in get_numerator()
155 void get_numerator(mpq const & a, mpq & n) { get_numerator(a, n.m_num); reset_denominator(n); } in get_numerator()
157 …void get_denominator(mpq const & a, mpq & d) { get_denominator(a, d.m_num); reset_denominator(d); } in get_denominator()
161 void neg(mpq & a) { mpz_manager<SYNCH>::neg(a.m_num); } in neg()
165 void abs(mpq & a) { mpz_manager<SYNCH>::abs(a.m_num); } in abs()
169 static int sign(mpq const & a) { return mpz_manager<SYNCH>::sign(a.m_num); } in sign()
181 static bool is_pos(mpq const & a) { return is_pos(a.m_num); } in is_pos()
183 static bool is_neg(mpq const & a) { return is_neg(a.m_num); } in is_neg()
185 static bool is_zero(mpq const & a) { return is_zero(a.m_num); } in is_zero()
187 static bool is_nonpos(mpq const & a) { return is_nonpos(a.m_num); } in is_nonpos()
189 static bool is_nonneg(mpq const & a) { return is_nonneg(a.m_num); } in is_nonneg()
193 static bool is_one(mpq const & a) { return is_one(a.m_num) && is_one(a.m_den); } in is_one()
197 static bool is_minus_one(mpq const & a) { return is_minus_one(a.m_num) && is_one(a.m_den); } in is_minus_one()
202 floor(a, f.m_num); in floor()
209 ceil(a, f.m_num); in ceil()
242 mpz_manager<SYNCH>::add(a.m_num, b.m_num, c.m_num); in add()
260 mpz_manager<SYNCH>::add(a.m_num, b, c.m_num); in add()
274 mpz_manager<SYNCH>::sub(a.m_num, b.m_num, c.m_num); in sub()
293 mpz_manager<SYNCH>::mul(a, b, c.m_num); in mul()
300 mpz_manager<SYNCH>::mul(a.m_num, b.m_num, c.m_num); in mul()
311 mpz_manager<SYNCH>::mul(a, b.m_num, c.m_num); in mul()
425 neg(a.m_num); in inv()
428 mpz_manager<SYNCH>::swap(a.m_num, a.m_den); in inv()
444 mul(a.m_num, b.m_den, tmp); in div()
445 mul(a.m_den, b.m_num, c.m_den); in div()
446 set(c.m_num, tmp); in div()
450 mul(a.m_num, b.m_den, c.m_num); in div()
451 mul(a.m_den, b.m_num, c.m_den); in div()
455 neg(c.m_num); in div()
468 set(c.m_num, a.m_num); in div()
471 neg(c.m_num); in div()
482 neg(a.m_num); in acc_div()
496 set(c.m_num, a); in rat_div()
503 machine_div(a.m_num, b.m_num, c.m_num); in machine_idiv()
509 machine_div_rem(a.m_num, b.m_num, c.m_num, d.m_num); in machine_idiv_rem()
516 machine_div(a.m_num, b.m_num, c); in machine_idiv()
521 div(a.m_num, b.m_num, c.m_num); in idiv()
527 div(a.m_num, b.m_num, c); in idiv()
534 rem(a.m_num, b.m_num, c.m_num); in rem()
540 rem(a.m_num, b.m_num, c); in rem()
547 mod(a.m_num, b.m_num, c.m_num); in mod()
553 mod(a.m_num, b.m_num, c); in mod()
558 static unsigned hash(mpq const & a) { return hash(a.m_num) + 3*hash(a.m_den); } in hash()
563 return eq(a.m_num, b.m_num) && eq(a.m_den, b.m_den); in eq()
570 return lt(a.m_num, b.m_num); in lt()
599 gcd(a.m_num, b.m_num, c.m_num); in gcd()
610 gcd(r1.m_num, r2.m_num, a.m_num, b.m_num, g.m_num); in gcd()
617 lcm(a.m_num, b.m_num, c.m_num); in lcm()
625 return divides(a.m_num, b.m_num); in divides()
632 bitwise_or(a.m_num, b.m_num, c.m_num); in bitwise_or()
640 bitwise_and(a.m_num, b.m_num, c.m_num); in bitwise_and()
648 bitwise_xor(a.m_num, b.m_num, c.m_num); in bitwise_xor()
656 bitwise_not(sz, a.m_num, c.m_num); in bitwise_not()
663 set(target.m_num, source.m_num); in set()
670 set(a.m_num, val); in set()
682 set(a.m_num, n); in set()
689 set(a.m_num, n); in set()
696 set(a.m_num, n); in set()
698 neg(a.m_num); in set()
702 set(a.m_num, n); in set()
711 set(a.m_num, val); in set()
722 set(a.m_num, val); in set()
729 set(a.m_num, val); in set()
734 mpz_manager<SYNCH>::set(a.m_num, val); in set()
743 mpz_manager<SYNCH>::set_digits(a.m_num, sz, digits); in set()
762 swap(a.m_num, b.m_num); in swap()
767 swap(a, b.m_num); in swap_numerator()
778 bool is_uint64(mpq const & a) const { return is_int(a) && is_uint64(a.m_num); } in is_uint64()
780 bool is_int64(mpq const & a) const { return is_int(a) && is_int64(a.m_num); } in is_int64()
782 uint64_t get_uint64(mpq const & a) const { SASSERT(is_uint64(a)); return get_uint64(a.m_num); } in get_uint64()
784 int64_t get_int64(mpq const & a) const { SASSERT(is_int64(a)); return get_int64(a.m_num); } in get_int64()
796 …er_of_two(mpq const & a, unsigned & shift) { return is_int(a) && is_power_of_two(a.m_num, shift); } in is_power_of_two()
799 …unsigned bitsize(mpq const & a) { return is_int(a) ? bitsize(a.m_num) : bitsize(a.m_num) + bitsize… in bitsize()
801 …unsigned storage_size(mpq const & a) { return mpz_manager<SYNCH>::size_info(a.m_num) + mpz_manager… in storage_size()
819 return is_perfect_square(a.m_num, r.m_num); in is_perfect_square()
821 if (is_perfect_square(a.m_num, r.m_num) && is_perfect_square(a.m_den, r.m_den)) { in is_perfect_square()
847 return is_perfect_square(a.m_num, r.m_num); in is_int_perfect_square()
852 bool is_even(mpq const & a) { return is_int(a) && is_even(a.m_num); } in is_even()