diff --git a/doc/devel/mpn_functions.txt b/doc/devel/mpn_functions.txt index 91fda189..f0b5390d 100644 --- a/doc/devel/mpn_functions.txt +++ b/doc/devel/mpn_functions.txt @@ -25,9 +25,11 @@ mpn_divexact_byff (mp_ptr qp, mp_srcptr xp, mp_size_t n) */ mp_limb_t mpn_divexact_byBm1of(mp_ptr qp, mp_srcptr xp, mp_size_t n, mp_limb_t f, mp_limb_t Bm1of) - -divrem_euclidean_qr_1 -divrem_hensel_1 +/* + {qp,n} = {xp,n}/d + {xp,n} = {qp,n}*d + return 0 <= return < d +*/ +mp_limb_t mpn_divrem_euclidean_qr_1(mp_ptr qp, mp_srcptr xp,mp_size_t n,mp_limb_t d) /* {rp, n} = {up, n}*vl and return carry limb @@ -69,7 +71,10 @@ mp_limb_t mpn_lshift(mp_ptr rp, mp_srcptr up, mp_size_t n, mp_size_t shift) */ mp_limb_t mpn_lshift1(mp_ptr rp, mp_srcptr up, mp_size_t n) -redc_basecase +/* Set cp[] <- tp[]/B^n mod mp[]. Clobber tp[]. + mp[] is n limbs; tp[] is 2n limbs. where Nprim*mp[0] == 1 mod B +*/ +void mpn_redc_basecase (mp_ptr cp, mp_srcptr mp, mp_size_t n, mp_limb_t Nprim, mp_ptr tp) /* {rp, n} = {up, n}/2^shift with 0 < shift < BITS_PER_LIMB and return msl