Lines Matching refs:bigint
1238 class bigint {
1253 friend struct formatter<bigint>;
1268 void subtract_aligned(const bigint& other) {
1308 bigint() : exp_(0) {}
1309 explicit bigint(uint64_t n) { assign(n); }
1310 ~bigint() { assert(bigits_.capacity() <= bigits_capacity); }
1312 bigint(const bigint&) = delete;
1313 void operator=(const bigint&) = delete;
1315 void assign(const bigint& other) {
1335 FMT_NOINLINE bigint& operator<<=(int shift) {
1350 template <typename Int> bigint& operator*=(Int value) {
1356 friend int compare(const bigint& lhs, const bigint& rhs) {
1373 friend int add_compare(const bigint& lhs1, const bigint& lhs2,
1374 const bigint& rhs) {
1379 auto get_bigit = [](const bigint& n, int i) -> bigit {
1448 void align(const bigint& other) {
1461 int divmod_assign(const bigint& divisor) {
2315 bigint numerator; // 2 * R in (FPP)^2.
2316 bigint denominator; // 2 * S in (FPP)^2.
2318 bigint lower; // (M^- in (FPP)^2).
2319 bigint upper_store; // upper's value if different from lower.
2320 bigint* upper = nullptr; // (M^+ in (FPP)^2).
2658 template <> struct formatter<detail::bigint> {
2663 format_context::iterator format(const detail::bigint& n,
2677 out = format_to(out, "p{}", n.exp_ * detail::bigint::bigit_bits);