Front page | perl.perl5.porters |
Postings from January 2005
[PATCH] Math::BigInt v1.74, Math::BigRat v0.14, bignum v0.16
Thread Next
From:
Tels
Date:
January 1, 2005 09:59
Subject:
[PATCH] Math::BigInt v1.74, Math::BigRat v0.14, bignum v0.16
Message ID:
200501011859.52858@bloodgate.com
-----BEGIN PGP SIGNED MESSAGE-----
Moin,
attached is a patch to sync blead to the latest Math::* release.
MD5 and SHA1 sum:
6fadace5f37e417c8d670dc23f4f94f2 patch_bigint_v1.74.txt.gz
e0128538854d9bd273aeab7ec3f80cc311c64248 patch_bigint_v1.74.txt.gz
On my system:
All tests successful.
u=2.66 s=0.76 cu=178.73 cs=19.88 scripts=873 tests=100191
(Ooops, I broke the 100K test barrier...)
A short overview of what has changed is noted below. This update contains an
important security fix, so upgrading is strongly recommended.
Hm, should have released my math modules yesterday, now I had to change the
year numbers all over the place :°)
Anyway, to everyone a big Thank You! for all the hard work as well as the
friendly atmosphere in Perl development in the last year. Happy New Year!
Best wishes,
Tels
Math::BigInt v1.74:
Calc : small cleanups, remove some dead wood
shortcut for _div() with numbers of equal nr of parts (scales
much better than before)
inline is_zero() into _gcd() to make it slightly faster
MBI : streamline _scale_(a|p) as to not require accuracy/precicison()
and round_mode() unless nec.
remove the now unnec. support for MB_NEVER_ROUND and {_f}, this
makes all ops that call round() a tad faster (one exists is
removed) and shrinks the codesize a bit
streamline bneg(), inline is_zero(): makes it 1.6 times faster
replace ref($_[0]) w/ undef when it isn't actually needed. This
makes some ops (bsstr(), bneg etc) about 2% faster for small numbers
restrict low-level math library names to sane chars to avoid
exploitation of eval()
fill_can_cache() accidentily did checks for 'or' & 'xor'
inline fill_can_cache()
add _register_callback() to notify subclasses of lib changes
bgcd() is now about 10% faster
is_positive(0) == 0, since 0 is neither positive nor negative
(thanx Reed Wilson)
load Exporter only if neccessary (e.g. "use Math::BigInt;" doesn't)
MBF : add bneg() and inline is_zero() in it, making it 1.6 times faster
replace ref($_[0]) w/ undef when it isn't actually needed. This
makes some ops (bsstr(), bneg etc) about 2% faster for small numbers
use _register_callback()
bgcd()/blcm() never worked, so fix them for integers and add tests
misc : small doc cleanups
tests: lib_load.t: test for _register_callback()
change inf_nan.t to use Test::More
Math::BigRat v0.14:
* streamlined copy()
* take over tests from Math::BigInt v1.74 and require it
* inline is_zero() into bneg(), making it about 50% faster
* more tests for bneg()
* register callback to get notified of lib changes from Math::BigInt
* much simpler import() logic
* new() accepts input like new(Math::BigInt->new(123),Math::BigInt->new(7));
* doc: as_hex(), as_bin(), add note about as_pos(), as_neg() and as_int()
* numify() now deals with large N and D by using BigFloat (Thanx Hugo!)
* numify() lost the sign on negative integer values (Thanx Zefram!)
bignum 0.16:
* option "l", "a", and "p" did not work under -Mbigrat
* little doc fixes
* add more tests, convert some testfiles to Test::More
- --
Signed on Sat Jan 1 18:59:50 2005 with key 0x93B84C15.
Visit my photo gallery at http://bloodgate.com/photos/
PGP key on http://bloodgate.com/tels.asc or per email.
"We're confident that DNF will be one of the greatest, if not the
greatest, game of 1998. And this confidence is not misplaced." -Scott
Miller, 1997 (http://tinyurl.com/6m8nh)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iQEVAwUBQdblF3cLPEOTuEwVAQEI+wf+I82E302AsyIcqNXFZpFF46nztx9viabI
d8DGVchCtakr6o+OWDk8Xdh9yNeVnjGBZ0Wr1Hao/SJbwEoawEhXkhRTM/5+BCVz
AvJDx4L8iVdTFZfba7kQPo4w1pJxN/JCIea1LU+sXITlIfy40j4GYYKwCKizGHsC
Fzm0gMjpaBEfq/nwnqAxqFHSzfGaR0H+QS0uf93aRx6B/TqMVUmnfZPJcvA7Sw/A
9yluhc4HyZ5aH5JCS9w6V2lJsj83FJ4uJmtd9dlfi5CRPRteonCIeqjYUCKLFe5H
O7wKRl9Z2P1PSXF6nJv3cq0GPwoud6D3MjXRNWPQTFLKeybFWIi6yQ==
=Y7Xw
-----END PGP SIGNATURE-----
Thread Next
-
[PATCH] Math::BigInt v1.74, Math::BigRat v0.14, bignum v0.16
by Tels