Niels Möller nisse at
Sat Dec 12 14:28:03 CET 2009

I'm tempted to remove the inv21 member of the gmp_pi1_t type. It's used
in exactly one place, and there it's most likely better to use 3/2
division and inv32 anyway.

If I do that, should I eliminate the gmp_pi1_t type as well, and pass a
single limb (the remaining inv32 member) instead of a gmp_pi1_t *? Or do
we expect that other members are going to be added there (e.g., a
normalization shift count if we extend some or all of the division
functions to accept unnormalized divisors)?

A related change would be to put the 3/2 division into a macro, e.g
named "udiv_qr_3by2_pi1" (or just udiv_qr_pi1, if the "pi1" label is
intended to mean truncated division based on 3/2 division and the
corresponding reciprocal).


Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.

More information about the gmp-devel mailing list