| /dragonfly/contrib/gmp/mpn/generic/ |
| HD | dcpi1_bdiv_qr.c | 88 mp_size_t qn; in mpn_dcpi1_bdiv_qr() local 101 qn = nn - dn; in mpn_dcpi1_bdiv_qr() 103 if (qn > dn) in mpn_dcpi1_bdiv_qr() 107 qn -= dn; in mpn_dcpi1_bdiv_qr() 108 while (qn > dn); in mpn_dcpi1_bdiv_qr() 111 if (BELOW_THRESHOLD (qn, DC_BDIV_QR_THRESHOLD)) in mpn_dcpi1_bdiv_qr() 112 cy = mpn_sbpi1_bdiv_qr (qp, np, 2 * qn, dp, qn, dinv); in mpn_dcpi1_bdiv_qr() 114 cy = mpn_dcpi1_bdiv_qr_n (qp, np, dp, qn, dinv, tp); in mpn_dcpi1_bdiv_qr() 117 if (qn != dn) in mpn_dcpi1_bdiv_qr() 119 if (qn > dn - qn) in mpn_dcpi1_bdiv_qr() [all …]
|
| HD | dcpi1_divappr_q.c | 78 mp_size_t qn; in mpn_dcpi1_divappr_q() local 89 qn = nn - dn; in mpn_dcpi1_divappr_q() 90 qp += qn; in mpn_dcpi1_divappr_q() 94 if (qn >= dn) in mpn_dcpi1_divappr_q() 96 qn++; /* pretend we'll need an extra limb */ in mpn_dcpi1_divappr_q() 99 qn -= dn; in mpn_dcpi1_divappr_q() 100 while (qn > dn); in mpn_dcpi1_divappr_q() 102 qp -= qn; /* point at low limb of next quotient block */ in mpn_dcpi1_divappr_q() 103 np -= qn; /* point in the middle of partial remainder */ in mpn_dcpi1_divappr_q() 108 if (qn == 1) in mpn_dcpi1_divappr_q() [all …]
|
| HD | dcpi1_div_qr.c | 85 mp_size_t qn; in mpn_dcpi1_div_qr() local 98 qn = nn - dn; in mpn_dcpi1_div_qr() 99 qp += qn; in mpn_dcpi1_div_qr() 103 if (qn > dn) in mpn_dcpi1_div_qr() 107 qn -= dn; in mpn_dcpi1_div_qr() 108 while (qn > dn); in mpn_dcpi1_div_qr() 110 qp -= qn; /* point at low limb of next quotient block */ in mpn_dcpi1_div_qr() 111 np -= qn; /* point in the middle of partial remainder */ in mpn_dcpi1_div_qr() 114 if (qn == 1) in mpn_dcpi1_div_qr() 171 if (qn == 2) in mpn_dcpi1_div_qr() [all …]
|
| HD | dcpi1_bdiv_q.c | 86 mp_size_t qn; in mpn_dcpi1_bdiv_q() local 99 qn = nn; in mpn_dcpi1_bdiv_q() 101 if (qn > dn) in mpn_dcpi1_bdiv_q() 105 qn -= dn; in mpn_dcpi1_bdiv_q() 106 while (qn > dn); in mpn_dcpi1_bdiv_q() 109 if (BELOW_THRESHOLD (qn, DC_BDIV_QR_THRESHOLD)) in mpn_dcpi1_bdiv_q() 110 cy = mpn_sbpi1_bdiv_qr (qp, np, 2 * qn, dp, qn, dinv); in mpn_dcpi1_bdiv_q() 112 cy = mpn_dcpi1_bdiv_qr_n (qp, np, dp, qn, dinv, tp); in mpn_dcpi1_bdiv_q() 114 if (qn != dn) in mpn_dcpi1_bdiv_q() 116 if (qn > dn - qn) in mpn_dcpi1_bdiv_q() [all …]
|
| HD | mu_bdiv_qr.c | 64 mp_size_t qn; in mpn_mu_bdiv_qr() local 71 qn = nn - dn; in mpn_mu_bdiv_qr() 74 ASSERT (qn >= 2); in mpn_mu_bdiv_qr() 76 if (qn > dn) in mpn_mu_bdiv_qr() 88 b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */ in mpn_mu_bdiv_qr() 89 in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */ in mpn_mu_bdiv_qr() 105 while (qn > in) in mpn_mu_bdiv_qr() 124 qn -= in; in mpn_mu_bdiv_qr() 142 mpn_mullo_n (qp, rp, ip, qn); in mpn_mu_bdiv_qr() 144 if (BELOW_THRESHOLD (qn, MUL_TO_MULMOD_BNM1_FOR_2NXN_THRESHOLD)) in mpn_mu_bdiv_qr() [all …]
|
| HD | mu_div_qr.c | 94 mp_size_t qn; in mpn_mu_div_qr() local 97 qn = nn - dn; in mpn_mu_div_qr() 98 if (qn + MU_DIV_QR_SKEW_THRESHOLD < dn) in mpn_mu_div_qr() 110 qh = mpn_mu_div_qr2 (qp, rp + nn - (2 * qn + 1), in mpn_mu_div_qr() 111 np + nn - (2 * qn + 1), 2 * qn + 1, in mpn_mu_div_qr() 112 dp + dn - (qn + 1), qn + 1, in mpn_mu_div_qr() 116 if (dn - (qn + 1) > qn) in mpn_mu_div_qr() 117 mpn_mul (scratch, dp, dn - (qn + 1), qp, qn); /* prod is dn-1 limbs */ in mpn_mu_div_qr() 119 mpn_mul (scratch, qp, qn, dp, dn - (qn + 1)); /* prod is dn-1 limbs */ in mpn_mu_div_qr() 122 cy = mpn_add_n (scratch + qn, scratch + qn, dp, dn - (qn + 1)); in mpn_mu_div_qr() [all …]
|
| HD | tdiv_qr.c | 193 mp_size_t qn; in mpn_tdiv_qr() local 201 qn = nn - dn; in mpn_tdiv_qr() 202 qp[qn] = 0; /* zero high quotient limb */ in mpn_tdiv_qr() 203 qn += adjust; /* qn cannot become bigger */ in mpn_tdiv_qr() 205 if (qn == 0) in mpn_tdiv_qr() 212 in = dn - qn; /* (at least partially) ignored # of limbs in ops */ in mpn_tdiv_qr() 221 d2p = TMP_ALLOC_LIMBS (qn); in mpn_tdiv_qr() 222 mpn_lshift (d2p, dp + in, qn, cnt); in mpn_tdiv_qr() 225 n2p = TMP_ALLOC_LIMBS (2 * qn + 1); in mpn_tdiv_qr() 226 cy = mpn_lshift (n2p, np + nn - 2 * qn, 2 * qn, cnt); in mpn_tdiv_qr() [all …]
|
| HD | mu_div_q.c | 67 mp_size_t qn, in, this_in; in mpn_mu_div_q() local 73 qn = nn - dn; in mpn_mu_div_q() 75 tp = TMP_BALLOC_LIMBS (qn + 1); in mpn_mu_div_q() 77 if (qn >= dn) /* nn >= 2*dn + 1 */ in mpn_mu_div_q() 81 if (dn != qn) in mpn_mu_div_q() 85 in1 = mpn_mu_div_qr_choose_in (qn - dn, dn, 0); in mpn_mu_div_q() 119 this_in = mpn_mu_div_qr_choose_in (qn - dn, dn, 0); in mpn_mu_div_q() 121 qh = mpn_preinv_mu_div_qr (tp + dn + 1, rp + dn + 1, np + dn, qn, dp, dn, in mpn_mu_div_q() 145 MPN_COPY (qp, tp + 1, qn); in mpn_mu_div_q() 154 mpn_mul (pp, tp + 1, qn, dp, dn); in mpn_mu_div_q() [all …]
|
| HD | div_q.c | 96 mp_size_t new_nn, qn; in mpn_div_q() local 117 qn = nn - dn + 1; /* Quotient size, high limb might be zero */ in mpn_div_q() 119 if (qn + FUDGE >= dn) in mpn_div_q() 162 qp[qn - 1] = qh; in mpn_div_q() 210 tp = TMP_ALLOC_LIMBS (qn + 1); in mpn_div_q() 213 new_nn = 2 * qn + 1; in mpn_div_q() 230 new_dp = TMP_ALLOC_LIMBS (qn + 1); in mpn_div_q() 231 mpn_lshift (new_dp, dp + dn - (qn + 1), qn + 1, cnt); in mpn_div_q() 232 new_dp[0] |= dp[dn - (qn + 1) - 1] >> (GMP_NUMB_BITS - cnt); in mpn_div_q() 234 if (qn + 1 == 2) in mpn_div_q() [all …]
|
| HD | mu_divappr_q.c | 72 mp_size_t qn, in; in mpn_mu_divappr_q() local 78 qn = nn - dn; in mpn_mu_divappr_q() 81 if (qn + 1 < dn) in mpn_mu_divappr_q() 83 np += dn - (qn + 1); in mpn_mu_divappr_q() 84 nn -= dn - (qn + 1); in mpn_mu_divappr_q() 85 dp += dn - (qn + 1); in mpn_mu_divappr_q() 86 dn = qn + 1; in mpn_mu_divappr_q() 90 in = mpn_mu_divappr_q_choose_in (qn, dn, 0); in mpn_mu_divappr_q() 158 mp_size_t qn; in mpn_preinv_mu_divappr_q() local 167 qn = nn - dn; in mpn_preinv_mu_divappr_q() [all …]
|
| HD | mu_bdiv_q.c | 64 mp_size_t qn; in mpn_mu_bdiv_q() local 69 qn = nn; in mpn_mu_bdiv_q() 72 ASSERT (qn >= 2); in mpn_mu_bdiv_q() 74 if (qn > dn) in mpn_mu_bdiv_q() 87 b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */ in mpn_mu_bdiv_q() 88 in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */ in mpn_mu_bdiv_q() 105 qn -= in; in mpn_mu_bdiv_q() 107 while (qn > in) in mpn_mu_bdiv_q() 138 qn -= in; in mpn_mu_bdiv_q() 170 mpn_sub_nc (rp + dn - in, np, tp + dn, qn - (dn - in), cy); in mpn_mu_bdiv_q() [all …]
|
| HD | remove.c | 59 mp_size_t pn, nn, qn, i; in mpn_remove() local 83 qn = un; in mpn_remove() 86 while (qn >= pn) in mpn_remove() 88 mpn_bdiv_qr (qp2, tp, qp, qn, pp, pn, scratch_out); in mpn_remove() 93 qn = qn - pn; in mpn_remove() 94 qn += qp[qn] != 0; in mpn_remove() 104 if (nn > qn) in mpn_remove() 120 if (qn < pn) in mpn_remove() 126 mpn_bdiv_qr (qp2, tp, qp, qn, pp, pn, scratch_out); in mpn_remove() 131 qn = qn - pn; in mpn_remove() [all …]
|
| HD | divexact.c | 40 mp_size_t qn; in mpn_divexact() local 65 qn = nn + 1 - dn; in mpn_divexact() 70 mp_size_t ss = (dn > qn) ? qn + 1 : dn; in mpn_divexact() 78 wp = TMP_ALLOC_LIMBS (qn + 1); in mpn_divexact() 79 mpn_rshift (wp, np, qn + 1, shift); in mpn_divexact() 83 wp = TMP_ALLOC_LIMBS (qn); in mpn_divexact() 84 MPN_COPY (wp, np, qn); in mpn_divexact() 87 if (dn > qn) in mpn_divexact() 88 dn = qn; in mpn_divexact() 90 tp = TMP_ALLOC_LIMBS (mpn_bdiv_q_itch (qn, dn)); in mpn_divexact() [all …]
|
| HD | sbpi1_div_q.c | 39 mp_size_t qn, i; in mpn_sbpi1_div_q() local 56 qn = nn - dn; in mpn_sbpi1_div_q() 57 if (qn + 1 < dn) in mpn_sbpi1_div_q() 59 dp += dn - (qn + 1); in mpn_sbpi1_div_q() 60 dn = qn + 1; in mpn_sbpi1_div_q() 67 qp += qn; in mpn_sbpi1_div_q() 78 for (i = qn - (dn + 2); i >= 0; i--) in mpn_sbpi1_div_q() 220 if (qn + 1 < dn) in mpn_sbpi1_div_q() 222 dp += dn - (qn + 1); in mpn_sbpi1_div_q() 223 dn = qn + 1; in mpn_sbpi1_div_q() [all …]
|
| HD | rootrem.c | 123 mp_size_t qn, rn, sn, wn, nl, bn; in mpn_rootrem_internal() local 291 qn = 0; in mpn_rootrem_internal() 296 qn = rn - wn; /* expected quotient size */ in mpn_rootrem_internal() 300 tp = qp + qn + 1; /* put remainder in Q buffer */ in mpn_rootrem_internal() 302 qn += qp[qn] != 0; in mpn_rootrem_internal() 316 if (qn > bn || (qn == bn && (b % GMP_NUMB_BITS != 0) && in mpn_rootrem_internal() 317 qp[qn - 1] >= ((mp_limb_t) 1 << (b % GMP_NUMB_BITS)))) in mpn_rootrem_internal() 319 qn = b / GMP_NUMB_BITS + 1; /* b+1 bits */ in mpn_rootrem_internal() 320 MPN_ZERO (qp, qn); in mpn_rootrem_internal() 321 qp[qn - 1] = (mp_limb_t) 1 << (b % GMP_NUMB_BITS); in mpn_rootrem_internal() [all …]
|
| HD | dcpi1_div_q.c | 37 mp_size_t qn; in mpn_dcpi1_div_q() local 50 qn = nn - dn; in mpn_dcpi1_div_q() 51 wp = TMP_SALLOC_LIMBS (qn + 1); in mpn_dcpi1_div_q() 59 if (qn > dn) in mpn_dcpi1_div_q() 60 mpn_mul (tp, wp + 1, qn, dp, dn); in mpn_dcpi1_div_q() 62 mpn_mul (tp, dp, dn, wp + 1, qn); in mpn_dcpi1_div_q() 64 cy = (qh != 0) ? mpn_add_n (tp + qn, tp + qn, dp, dn) : 0; in mpn_dcpi1_div_q() 67 qh -= mpn_sub_1 (qp, wp + 1, qn, 1); in mpn_dcpi1_div_q() 69 MPN_COPY (qp, wp + 1, qn); in mpn_dcpi1_div_q() 72 MPN_COPY (qp, wp + 1, qn); in mpn_dcpi1_div_q()
|
| HD | sbpi1_bdiv_qr.c | 48 mp_size_t qn; in mpn_sbpi1_bdiv_qr() local 57 qn = nn - dn; in mpn_sbpi1_bdiv_qr() 63 while (qn > dn) in mpn_sbpi1_bdiv_qr() 74 rh += mpn_add (np + dn, np + dn, qn, np, dn); in mpn_sbpi1_bdiv_qr() 77 qp += dn; qn -= dn; in mpn_sbpi1_bdiv_qr() 81 for (i = 0; i < qn; i++) in mpn_sbpi1_bdiv_qr() 91 rh += mpn_add_n (np + dn, np + dn, np, qn); in mpn_sbpi1_bdiv_qr() 92 ql = mpn_add_1 (qp, qp, qn, ql); in mpn_sbpi1_bdiv_qr() 104 cy = mpn_sub_n (np + qn, np + qn, dp, dn); in mpn_sbpi1_bdiv_qr()
|
| HD | divrem.c | 46 mp_size_t qn; in mpn_divrem() local 53 qn = nn + qxn - 1; in mpn_divrem() 54 MPN_COPY (qp, q2p, qn); in mpn_divrem() 55 ret = q2p[qn]; in mpn_divrem() 68 mp_size_t qn; in mpn_divrem() local 82 qn = nn - dn + qxn; in mpn_divrem() 83 MPN_COPY (qp, q2p, qn); in mpn_divrem() 84 qhl = q2p[qn]; in mpn_divrem() 92 qn = nn - dn; in mpn_divrem() 93 MPN_COPY (qp, q2p, qn); in mpn_divrem() [all …]
|
| /dragonfly/contrib/gmp/mpz/ |
| HD | cdiv_q_ui.c | 29 mp_size_t ns, nn, qn; in mpz_cdiv_q_ui() local 57 qn = 1; /* a white lie, fixed below */ in mpz_cdiv_q_ui() 65 qn = nn - 2 + 1; in mpz_cdiv_q_ui() 74 qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_cdiv_q_ui() 87 qn = nn - (qp[nn - 1] == 0); in mpz_cdiv_q_ui() 90 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_cdiv_q_ui()
|
| HD | fdiv_q_ui.c | 28 mp_size_t ns, nn, qn; in mpz_fdiv_q_ui() local 56 qn = 1; /* a white lie, fixed below */ in mpz_fdiv_q_ui() 64 qn = nn - 2 + 1; in mpz_fdiv_q_ui() 73 qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_fdiv_q_ui() 86 qn = nn - (qp[nn - 1] == 0); in mpz_fdiv_q_ui() 89 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_fdiv_q_ui()
|
| HD | tdiv_q_ui.c | 28 mp_size_t ns, nn, qn; in mpz_tdiv_q_ui() local 63 qn = nn - 2 + 1; qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_tdiv_q_ui() 69 qn = nn - (qp[nn - 1] == 0); in mpz_tdiv_q_ui() 72 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_tdiv_q_ui()
|
| HD | cdiv_qr_ui.c | 30 mp_size_t ns, nn, qn; in mpz_cdiv_qr_ui() local 63 qn = 1; /* a white lie, fixed below */ in mpz_cdiv_qr_ui() 73 qn = nn - 2 + 1; in mpz_cdiv_qr_ui() 84 qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_cdiv_qr_ui() 105 qn = nn - (qp[nn - 1] == 0); in mpz_cdiv_qr_ui() 108 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_cdiv_qr_ui()
|
| HD | fdiv_qr_ui.c | 28 mp_size_t ns, nn, qn; in mpz_fdiv_qr_ui() local 61 qn = 1; /* a white lie, fixed below */ in mpz_fdiv_qr_ui() 71 qn = nn - 2 + 1; in mpz_fdiv_qr_ui() 82 qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_fdiv_qr_ui() 103 qn = nn - (qp[nn - 1] == 0); in mpz_fdiv_qr_ui() 106 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_fdiv_qr_ui()
|
| HD | tdiv_qr_ui.c | 29 mp_size_t ns, nn, qn; in mpz_tdiv_qr_ui() local 72 qn = nn - 2 + 1; qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; in mpz_tdiv_qr_ui() 89 qn = nn - (qp[nn - 1] == 0); in mpz_tdiv_qr_ui() 92 SIZ(quot) = ns >= 0 ? qn : -qn; in mpz_tdiv_qr_ui()
|
| HD | divexact.c | 32 mp_size_t qn; in mpz_divexact() local 50 qn = nn - dn + 1; in mpz_divexact() 51 MPZ_REALLOC (quot, qn); in mpz_divexact() 67 qp = TMP_ALLOC_LIMBS (qn); in mpz_divexact() 73 MPN_NORMALIZE (qp, qn); in mpz_divexact() 75 SIZ(quot) = (SIZ(num) ^ SIZ(den)) >= 0 ? qn : -qn; in mpz_divexact() 78 MPN_COPY (PTR(quot), qp, qn); in mpz_divexact()
|