Lines Matching refs:dn
92 mp_srcptr dp, mp_size_t dn,
102 ASSERT (dn >= 6); /* to adhere to mpn_sbpi1_div_qr's limits */
103 ASSERT (nn - dn >= 3); /* to adhere to mpn_sbpi1_div_qr's limits */
104 ASSERT (dp[dn-1] & GMP_NUMB_HIGHBIT);
106 tp = TMP_ALLOC_LIMBS (dn);
108 qn = nn - dn;
111 dp += dn;
113 if (qn > dn)
115 /* Reduce qn mod dn without division, optimizing small operations. */
117 qn -= dn;
118 while (qn > dn);
129 qh = mpn_cmp (np - dn + 1, dp - dn, dn) >= 0;
131 ASSERT_NOCARRY (mpn_sub_n (np - dn + 1, np - dn + 1, dp - dn, dn));
146 cy = mpn_submul_1 (np - dn, dp - dn, dn, q);
153 if (dn > 2)
156 cy = mpn_submul_1 (np - dn, dp - dn, dn - 2, q);
166 n1 += d1 + mpn_add_n (np - dn, np - dn, dp - dn, dn - 1);
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);
195 cy = mpn_sub_n (np - dn, np - dn, tp, dn);
197 cy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn);
202 cy -= mpn_add_n (np - dn, np - dn, dp - dn, dn);
207 qn = nn - dn - qn;
210 qp -= dn;
211 np -= dn;
212 mpn_dcpi1_div_qr_n (qp, np - dn, dp - dn, dn, dinv, tp);
213 qn -= dn;
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);
234 cy = mpn_sub_n (np - dn, np - dn, tp, dn);
236 cy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn);
241 cy -= mpn_add_n (np - dn, np - dn, dp - dn, dn);