Home | History | Annotate | Download | only in generic

Lines Matching refs:qn

95   mp_size_t qn;
108 qn = nn - dn;
109 qp += qn;
113 if (qn > dn)
115 /* Reduce qn mod dn without division, optimizing small operations. */
117 qn -= dn;
118 while (qn > dn);
120 qp -= qn; /* point at low limb of next quotient block */
121 np -= qn; /* point in the middle of partial remainder */
124 if (qn == 1)
180 /* Do a 2qn / qn division */
181 if (qn == 2)
183 else if (BELOW_THRESHOLD (qn, DC_DIV_QR_THRESHOLD))
184 qh = mpn_sbpi1_div_qr (qp, np - qn, 2 * qn, dp - qn, qn, dinv->inv32);
186 qh = mpn_dcpi1_div_qr_n (qp, np - qn, dp - qn, qn, dinv, tp);
188 if (qn != dn)
190 if (qn > dn - qn)
191 mpn_mul (tp, qp, qn, dp - dn, dn - qn);
193 mpn_mul (tp, dp - dn, dn - qn, qp, qn);
197 cy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn);
201 qh -= mpn_sub_1 (qp, qp, qn, 1);
207 qn = nn - dn - qn;
213 qn -= dn;
215 while (qn > 0);
219 qp -= qn; /* point at low limb of next quotient block */
220 np -= qn; /* point in the middle of partial remainder */
222 if (BELOW_THRESHOLD (qn, DC_DIV_QR_THRESHOLD))
223 qh = mpn_sbpi1_div_qr (qp, np - qn, 2 * qn, dp - qn, qn, dinv->inv32);
225 qh = mpn_dcpi1_div_qr_n (qp, np - qn, dp - qn, qn, dinv, tp);
227 if (qn != dn)
229 if (qn > dn - qn)
230 mpn_mul (tp, qp, qn, dp - dn, dn - qn);
232 mpn_mul (tp, dp - dn, dn - qn, qp, qn);
236 cy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn);
240 qh -= mpn_sub_1 (qp, qp, qn, 1);