Home | History | Annotate | Download | only in generic

Lines Matching refs:qn

56    intended to support average-O(qn) division, and for that to be effective, it
76 It might make sense to split the if-else parts of the (qn + FUDGE
106 mp_size_t new_nn, qn;
128 qn = nn - dn + 1; /* Quotient size, high limb might be zero */
130 if (qn + FUDGE >= dn)
172 qp[qn - 1] = qh;
212 tp = TMP_ALLOC_LIMBS (qn + 1);
215 new_nn = 2 * qn + 1;
231 new_dp = TMP_ALLOC_LIMBS (qn + 1);
232 mpn_lshift (new_dp, dp + dn - (qn + 1), qn + 1, cnt);
233 new_dp[0] |= dp[dn - (qn + 1) - 1] >> (GMP_NUMB_BITS - cnt);
235 if (qn + 1 == 2)
239 else if (BELOW_THRESHOLD (qn, DC_DIVAPPR_Q_THRESHOLD - 1))
241 invert_pi1 (dinv, new_dp[qn], new_dp[qn - 1]);
242 qh = mpn_sbpi1_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, dinv.inv32);
244 else if (BELOW_THRESHOLD (qn, MU_DIVAPPR_Q_THRESHOLD - 1))
246 invert_pi1 (dinv, new_dp[qn], new_dp[qn - 1]);
247 qh = mpn_dcpi1_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, &dinv);
251 mp_size_t itch = mpn_mu_divappr_q_itch (new_nn, qn + 1, 0);
253 qh = mpn_mu_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, scratch);
256 tp[qn] = qh;
262 n = new_nn - (qn + 1);
272 new_dp = (mp_ptr) dp + dn - (qn + 1);
274 if (qn == 2 - 1)
278 else if (BELOW_THRESHOLD (qn, DC_DIVAPPR_Q_THRESHOLD - 1))
280 invert_pi1 (dinv, dh, new_dp[qn - 1]);
281 qh = mpn_sbpi1_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, dinv.inv32);
283 else if (BELOW_THRESHOLD (qn, MU_DIVAPPR_Q_THRESHOLD - 1))
285 invert_pi1 (dinv, dh, new_dp[qn - 1]);
286 qh = mpn_dcpi1_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, &dinv);
290 mp_size_t itch = mpn_mu_divappr_q_itch (new_nn, qn + 1, 0);
292 qh = mpn_mu_divappr_q (tp, new_np, new_nn, new_dp, qn + 1, scratch);
294 tp[qn] = qh;
297 MPN_COPY (qp, tp + 1, qn);
302 rp = TMP_ALLOC_LIMBS (dn + qn);
303 mpn_mul (rp, dp, dn, tp + 1, qn);
304 rn = dn + qn;
308 MPN_DECR_U (qp, qn, 1);