Home | History | Annotate | Download | only in generic

Lines Matching refs:qn

80    really make sense?  It seem like the quotient between dn and qn might be
105 mp_size_t qn;
108 qn = nn - dn;
109 if (qn + MU_DIV_QR_SKEW_THRESHOLD < dn)
114 |______| quotient (prel) qn
121 qh = mpn_mu_div_qr2 (qp, rp + nn - (2 * qn + 1),
122 np + nn - (2 * qn + 1), 2 * qn + 1,
123 dp + dn - (qn + 1), qn + 1,
127 if (dn - (qn + 1) > qn)
128 mpn_mul (scratch, dp, dn - (qn + 1), qp, qn); /* prod is dn-1 limbs */
130 mpn_mul (scratch, qp, qn, dp, dn - (qn + 1)); /* prod is dn-1 limbs */
133 cy = mpn_add_n (scratch + qn, scratch + qn, dp, dn - (qn + 1));
138 cy = mpn_sub_n (rp, np, scratch, nn - (2 * qn + 1));
139 cy = mpn_sub_nc (rp + nn - (2 * qn + 1),
140 rp + nn - (2 * qn + 1),
141 scratch + nn - (2 * qn + 1),
142 qn + 1, cy);
145 qh -= mpn_sub_1 (qp, qp, qn, 1);
166 mp_size_t qn, in;
172 qn = nn - dn;
175 in = mpn_mu_div_qr_choose_in (qn, dn, 0);
244 mp_size_t qn;
252 qn = nn - dn;
254 np += qn;
255 qp += qn;
263 /* if (qn == 0) */ /* The while below handles this case */
266 while (qn > 0)
268 if (qn < in)
270 ip += in - qn;
271 in = qn;
282 qn -= in;
361 (a) dn < qn: in = ceil(qn / ceil(qn/dn))
362 (b) dn/3 < qn <= dn: in = ceil(qn / 2)
363 (c) qn < dn/3: in = qn
367 mpn_mu_div_qr_choose_in (mp_size_t qn, mp_size_t dn, int k)
374 if (qn > dn)
377 b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */
378 in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */
380 else if (3 * qn > dn)
382 in = (qn - 1) / 2 + 1; /* b = 2 */
386 in = (qn - 1) / 1 + 1; /* b = 1 */
392 xn = MIN (dn, qn);