Ciao, Il Dom, 18 Agosto 2019 9:44 am, Niels Möller ha scritto: > Do we have all needed gcd_11 so we can switch to using it, without > performance regressions?
I glanced at mpn/generic/gcd.c The initial comment says: /* mpn/gcd.c: mpn_gcd for gcd of two odd integers. A comment inside slightly relaxes the conditions with: /* Due to the calling convention for mpn_gcd, at most one can be even. */ ...but I can not find any documented restriction (odd/even) in the manual. Function: mp_size_t mpn_gcd (mp_limb_t *rp, mp_limb_t *xp, mp_size_t xn, mp_limb_t *yp, mp_size_t yn) Set {rp, retval} to the greatest common divisor of {xp, xn} and {yp, yn}. The result can be up to yn limbs, the return value is the actual number produced. Both source operands are destroyed. It is required that xn >= yn > 0, and the most significant limb of {yp, yn} must be non-zero. No overlap is permitted between {xp, xn} and {yp, yn}. I think we should also update the manual to correctly describe the supported calling convention. Ĝis, m -- http://bodrato.it/papers/ _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel