ni...@lysator.liu.se (Niels Möller) writes: > Using mpn_remove does not solve a little issue, the mixed use of > mp_bitcnt_t and mp_limb_t. When a prime factor is removed from the > examined number, the exponent is returned as mp_bitcnt_t, the returned > value is then casted to mp_limb_t, because we need the GCD of the > exponents and mpn_gcd_1 wants limbs. And when can there be a problem? If the mp_limb_t type is smaller than mp_bitcnt_t? I guess that could happen if configuring with artificially small limbs, but not otherwise? I am not aware of any configutations where mp_limb_t is the smaller of the two. But I feel bothered by type mixing such as this.
I mean to integrate Per Olofsson's mini-limb patches at some point in the not very distant future. They require separation in a few more places where we (ab)use mp_limb_t for conceptually other data types. Vagely related: We chould have an mpn_gcd_11 function, accepting two limb-size arguments. Which would then be in assembly. This would obsolete the many mpn_gcd_1 implementations, I think. Torbjörn Please encrypt, key id 0xC8601622 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel