mpz_gcd_ext(NULL, ...)
Torbjörn Granlund
tg at gmplib.org
Fri Nov 25 13:39:54 UTC 2016
nisse at lysator.liu.se (Niels Möller) writes:
Sounds reasonable to me. But then I'd also consider adding a return
value, returning one if the inputs were coprime (gcd == 1), otherwise
zero. Would be useful for mpz_invert.
That, unlike the user proposal, is a change which breaks source
compatibility. I suppose it also implies a slight computation overhead
to check size + low limb for the return value.
This sort of things probably below here:
https://gmplib.org/devel/incompatibility.html
(Adding an integer return value is a breaking ABI change in theory, but
not really in practice, as far as I understand).
The type of the gcd function change, which breaks e.g. user function
pointers to these functions.
I am busy with large changes for what I think of as GMP 7.
o Symbol visibility for .so lib speed and size. This is a change which
will make GMP application incomatible if they play with GMP's
internals. (I am not being fascist and hide everything we consider
"private".)
o Perhaps leave our exact-CPU override of config.guess and replace it
with some option --enable-cpu=skylake or --enable-cpu=all (=fat) or
--enable-cpu=native. This breaks the build process people might be
used to. The main motivation for this change is that libtool is now
not abe to do its job, it requires the plain config.sub names.
o Add some wider scalar type (e.g. long long) and mpz _uj functions.
Perhaps the same release would be a good place for improving the API in
slightly incompatible ways?
I won't be ready with my changes until sometimes in the (northern
hemisphere) spring. There is no hurry with breaking the API. :-)
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-devel
mailing list