Home | History | Annotate | Download | only in generic

Lines Matching refs:qn

64    FIXME: Trim allocation for (qn > dn) case, 3*dn might be possible.  In
66 FIXME: Trim final quotient calculation to qn limbs of precision.
74 mp_size_t qn;
79 qn = nn;
82 ASSERT (qn >= 2);
84 if (qn > dn)
97 b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */
98 in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */
115 qn -= in;
117 while (qn > in)
148 qn -= in;
151 /* Generate last qn limbs.
152 FIXME: It should be possible to limit precision here, since qn is
156 mpn_mul (tp, dp, dn, qp, in); /* mulhi, need tp[qn+in-1...in] */
180 mpn_sub_nc (rp + dn - in, np, tp + dn, qn - (dn - in), cy);
181 mpn_mullo_n (qp, rp, ip, qn);
194 #define tp (scratch + in) /* qn+in or next_size(qn) or rest >= binvert_itch(in) */
195 #define scratch_out (scratch + in + tn)/* mulmod_bnm1_itch(next_size(qn)) */
198 in = qn - (qn >> 1);
205 mpn_mul (tp, dp, qn, qp, in); /* mulhigh */
208 tn = mpn_mulmod_bnm1_next_size (qn);
209 mpn_mulmod_bnm1 (tp, tn, dp, qn, qp, in, scratch_out);
210 wn = qn + in - tn; /* number of wrapped limbs */
218 mpn_sub_n (tp, np + in, tp + in, qn - in);
219 mpn_mullo_n (qp + in, tp, ip, qn - in); /* high qn-in quotient limbs */
240 mp_size_t qn, in, tn, itch_binvert, itch_out, itches;
245 qn = nn;
247 if (qn > dn)
249 b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */
250 in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */
265 in = qn - (qn >> 1);
268 tn = qn + in;
273 tn = mpn_mulmod_bnm1_next_size (qn);
274 itch_out = mpn_mulmod_bnm1_itch (tn, qn, in);