why did GMPY change the names of its functions?

Mensanator mensanator at aol.com
Tue Mar 27 07:39:05 CEST 2012


On Mar 26, 1:33 pm, cas... at gmail.com wrote:
> On Sunday, March 25, 2012 9:59:56 PM UTC-7, Mensanator wrote:
> > OK, GMPY is now called GMPY2. No big deal, I can import as GMPY.
>
> > But why were scan0 and scan1 changed to bit_scan0 and bit_scan1?
>
> > What's the justification for that? I use those functions extensively
> > in my library of Collatz utilities  and I had to re-edit them for no
> > obvious reason.
>
> I'll speak up as the maintainer of GMPY and GMPY2.
>
> (My comments apply to the beta1 release which should be out in a couple of days.)
>
> GMPY2 introduces many changes:
>
> 1) the limited "mpf" type that is based on GMP has been replaced with the "mpfr" type from the MPFR library
> 2) support for multiple-precision complex arithmetic based on the MPC library
> 3) support for a mutable integer type optimized for in-place bit manipulations
> 4) support for addition number theory functions (generalized Lucas sequences and more primality tests
>
> I began to encounter name collisions; for example, should sqrt() only return integer square roots. I chose to call it a new name (gmpy2) and update the API to reflect new choices I made. For example, sqrt() now returns an "mpfr" and isqrt() returns an "mpz".
>
> As part of the documentation for the beta release, I will document the name changes. "import gmpy2 as gmpy; gmpy.scan0=gmpy.bit_scan0; etc" should work just fine.
>
> If you encounter problems with the alpha release, please open an issue on gmpy's site.
>
> Thanks,
> casevh


Thanks for the explanation. Sorry if I flew off the handle, but I've
been sick recently and am trying to get
back into Python after 2 years. I just bought a new laptop, downloaded
Python 3.2 & GMPY2 only to see my
Collatz library crash. At first, given my current condition, I was
afraid I'd never get it to work again.
But luckily, the fix is simple.
I, for one, really appreciate your maintaining GMPY, otherwise, I
might have to abandon Python.
I'll keep my eyes open for any further problems.
Thanks Gain.
>
>
>
> On Sunday, March 25, 2012 9:59:56 PM UTC-7, Mensanator wrote:
> > OK, GMPY is now called GMPY2. No big deal, I can import as GMPY.
>
> > But why were scan0 and scan1 changed to bit_scan0 and bit_scan1?
>
> > What's the justification for that? I use those functions extensively
> > in my library of Collatz utilities  and I had to re-edit them for no
> > obvious reason.
> On Sunday, March 25, 2012 9:59:56 PM UTC-7, Mensanator wrote:
> > OK, GMPY is now called GMPY2. No big deal, I can import as GMPY.
>
> > But why were scan0 and scan1 changed to bit_scan0 and bit_scan1?
>
> > What's the justification for that? I use those functions extensively
> > in my library of Collatz utilities  and I had to re-edit them for no
> > obvious reason.
> On Sunday, March 25, 2012 9:59:56 PM UTC-7, Mensanator wrote:
> > OK, GMPY is now called GMPY2. No big deal, I can import as GMPY.
>
> > But why were scan0 and scan1 changed to bit_scan0 and bit_scan1?
>
> > What's the justification for that? I use those functions extensively
> > in my library of Collatz utilities  and I had to re-edit them for no
> > obvious reason.




More information about the Python-list mailing list