From:

Date:

April 18, 2007 03:49Subject:

New Math::Big* modules releasedMessage ID:

200704181251.51883@bloodgate.comMoin, I am proud to announce the release of the following to CPAN: Math::BigInt v1.83 Math::BigInt::FastCalc v0.14 bignum 0.21 Math::BigRat v0.19 In addition, the following non-core modules have been updated to: Math::BigInt::GMP 1.21 Math::BigInt::Pari 1.12 Math::Big 1.12 The following module has been erased[0]: Math::BigInt::BitVect I have run out of time to prepare patches for blead and won't have time over the next week. Would be glad if somebody could pull the modules from CPAN and update them into blead. Here is a very terse summary of the changes: * fix [perl #41205] Pari backend doesn't work with Math::BigRat * add "try" and "only" support to BigFloat, bignum, bigint and bigrat (oops) * make $n->bfac() about twice as fast when under Calc/FastCalc and $n is 15..5000 (smaller or bigger don't see no or very small improvement) * make bexp() much faster, especially when under GMP/Pari. Anything less than 70 digits precision is returned almost instantly, anything over that is calculated much more efficient (details follow later) TODO: implement bexp() in BigRat, returning A/B (instead of calculating e=A/B like in BigFloat) * raise the api_version() in Calc/FastCalc/GMP/Pari to 2 and add the following methods: _1ex() implement 1Ex faster than constructing the number from a string, especially important for very large X (1million and up) under a binary library like GMP/Pari, since the resulting decimal to hex conversion is O(N*N) (quadratic) and takes already 16 seconds for X=10000000 _alen() calculate approximate length of number in base 10 (always >= _len(). Same reason, calculating the exact length is very costly for large numbers (O(N*N), while the approx. length is O(1)..O(N) Note: Math::BigInt does still only require api-version 1, so it happily loads older libs, too. After the libs have propagated a bit, we can then raise the requirement. * Math::BigInt::Pari was updated to fully work again (_as_oct(), _from_oct(), etc) and _root() and _sqrt() use now native methods so they are much faster (and actually work for things like sqrt(123) :) All the best, Tels 0: If anybody want's to resurect it, please contact the uncroak hotline at nospam-abuse at blood gate dot com. -- Signed on Tue Apr 17 16:21:17 2007 with key 0x93B84C15. Get one of my photo posters: http://bloodgate.com/posters PGP key on http://bloodgate.com/tels.asc or per email. "When you don't know what to do, walk fast and look worried." -- Unknown

**New Math::Big* modules released**by Tels

nntp.perl.org: Perl Programming lists via nntp and http.

Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About