IIRC, Svoboda's division trick for N/D is to find a small multiplier m such that, for the division mN/(mD) we have mD = 100000...XX... with the high limb of mD being 1000...0.
This idea works also for 2-adic division. Find m = D^(-1) mod \beta where \beta is the lomb base. Then do mN/(mD) or mN mod (mD) with 2-adic norm. Now mD will end in 0...0001, and the quotient limbs will be the low limbs of the intermediate remainder. That should mean that we could use mul_basecase directly for sbpi1_bdiv_r (or its sibling redc_1). Surely this is not a new observation. -- Torbjörn Please encrypt, key id 0xC8601622 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel