From:

Date:

December 22, 2003 16:08Subject:

BigInt v1.68 - pre-releaseMessage ID:

200312230106.27661@bloodgate.com-----BEGIN PGP SIGNED MESSAGE----- Moin, I am pleased to announce the first pre-release version of Math::BigInt v1.68. There is a patch against bleadperl, but since it is about 62 Kbyte uncompressed I uploaded it to bloodgate.com, too. http://bloodgate.com/perl/packages/devel/Math-BigInt-1.68.tar.gz md5sum 432fd62adba8e053e5dbee7fe01a6217 http://bloodgate.com/perl/packages/devel/patch_blead_BigInt-v1.68.txt.gz md5sum 9b5f4ac5eccb3194ea32c25239d191b9 Here is a list of the things that have changed so far from v1.67: File changes: * I factored out the emulation code (the code that is used to emulate functions that the low-level math library does not provide) and put it into Math/BigInt/CalcEmu.pm This (combined with merging 3 use vars// statements together) improves the startup time by about 5-10% and reduces the memory footprint by a few kbyte - a few more if you use GMP). The code size from BigInt.pm is 132000 bytes vs. 145000 - much less than I hoped, but I did not realizes that about 56000 bytes of BigInt.pm are pod. Oops - there is more doc than I knew about. Memory savings due to not loading the code from Emu.pm (Perl v5.8.1, 32 bit): | v1.67 v1.68 Savings ------|------------------------------- GMP | 3072 2940 132 Kbyte 4.2% Calc | 3192 3112 80 Kbyte 2.5% * There are 4 new tesfiles for the new alias functions: t/alias.inc t/sub_ali.t t/mbi_ali.t t/mbf_ali.t Also, I wrote recently that the streamlining options have all been exhausted. I was wrong: BigInt: * new() is about 20 % faster for smaller numbers (less than 7 digits) * bdec() is about 10% faster for negative numbers * bpow() is about 30% faster for smaller numbers * exponent() is about twice as fast (making parts() about 50% faster) * binary/hexadecimal input was twice as slow due to a typo in v1.66 in %CAN (The last point is rather embarrassing and was caught by by timeline benchmarks...) Bugfixes: * bfac(inf) is inf, not NaN * round() was missing a croak() in path testing for wrong roundmode Speed-ups: * blog() is now much faster if the BASE is a small number, especially if the result was a large(r) number. Basically, it scales much better. * flog() uses blog() to calculate a guess, and if guessed right, returns it. Makes it much faster for integer results. Outstanding issues: * root() failures on irix. (off-by-one error). Best wishes, Tels - -- Signed on Tue Dec 23 00:34:32 2003 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. perl -MMath::String=from_number -le 'print from_number(Math::BigInt->new( "18646399493525281530194668228877222090413595623092063296651")*2*27*7*1289, [ "a".."z", "A".."Z"," ","!"]);' -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) Comment: When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl. iQEVAwUBP+eHs3cLPEOTuEwVAQGyoQf8DTkRf9stabGT8g6b9sH4YIwqpiRW5I70 R+lZlIOhbt3SEQE0qLZo3Nki6ComAsUwd+3IPmw+SyiHZ/Ik5xkM8g0f8/NSjMIR m80BJZpKuL/U+L+9hKIgFCdH98cVuIyl9QhyNZK5Vyp3MvAPu2WkZNA/szDEEx5y etZI4G/lLqDhnUKHUaaDzYKo/wWbrmLFfWsuFyAc+ALLNVv3IM1OSRQdg79r7Xq9 lBAAHLhEE6yf/ToJaBViPFBdWfMCXfjzW7NYAPriY8SAi2WyfqlBnNUxFU4zbNnn qkDjm/Vj+dIxarJFPkVSB4hr/3DAR2heTo/iiLd2+M08oV336kpOdw== =amzo -----END PGP SIGNATURE-----Thread Next

**BigInt v1.68 - pre-release**by Tels- Re: BigInt v1.68 - pre-release by Rafael Garcia-Suarez

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

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