develooper 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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About