Mistake with mpn_sqr_n

Niels Möller nisse at lysator.liu.se
Wed Nov 10 20:06:41 CET 2010

Torbjorn Granlund <tg at gmplib.org> writes:

> Now, after a bug report (1) I realise that mpn_sqr_n is documented in
> GMP 4.3.2 (but not in GMP 4.3.1).  That was never our intention; we
> don't want mpn_sqr_n public, and a patch release should certainly not
> change the API.

If that's useful for anybody, I don't think it's too intrusive to add
*source*-level API compatibility by an

  #define mpn_sqr_n mpn_sqr

in gmp.h. As for ABI compatibility, I'm not sure, but I'm tempted to say
it was a documentation bug and that anyone using the mpn_sqr_n name
needs to fix their code and recompile, if they want it to work with any
GMP version but 4.3.2.

Even *if* we decide to keep the old name for compatibility with 4.3.2,
and make some patch releases 4.3.3 and 5.0.2 in the not too distant
future, users of the mpn_sqr_n name would need to fix their code anyway,
as a workaround for the "bug" in 5.0.0 and 5.0.1. So those hypothetical
patch releases don't quite solve the problem.


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