This lists only the changes for the current release (v1.65) over the last
version, since HISTORY is now quite big:

Calc : fixed a bug in _floor() which caused ffloor(0.1234567) to fail.
       (Thanx to cpan@ali.as for finding it and sending a fix/testcases)
       make _as_hex() and _as_bin() handle 0, and make them faster for very
	short numbers (less than BASE_LEN digits) 
MBI  : replace die() with Carp::croak()
       remove needless is_zero() check in as_bin() and as_hex(), making them
	faster, especially when under a diff. lib like GMP. See below.
       Fixed the infinite recursion in bignum. See http://xrl.us/k6y
       Fix the broken handling of 0e999, 0e-999 etc
MBF  : replace die() with Carp::croak()
       fixed bug in blog() that failed if $base was a Math::BigInt
Misc : fix the testscript bug complaining about a missing Scalar.pm
       document in BigInt that config() can set some values
       document in Bigint's Synopsis that lib => 'GMP' is a jolly good idea
tests: tests for floor()
       tests for _as_hex() and _as_bin() in bigintc.t

###############################################################################

Benchmarked under Linux 2.4.20, Athlon XP 2400+ (2 Ghz), 512 MB DDR (1 DIMM)
with FSS 266:

As you can see, the special case 0 has become a bit slower, but smaller numbers
are way faster. Bigger numbers benefit less and less, the law of dimishing
returns striking here. However, for GMP, the numbers need to get much bigger
for the effect becomming unnoticable, meaning you benefit more :)

Fri Jul  4 19:43:11 2003 Numbers are absolute ops/s, scaled by factor 1.

                 |   v1.45   v1.59   v1.60   v1.64   v1.64  v1.65
                 |                                   fixed
 ................|................................................
  0x0            |  131000  136000  132000  134000  133000  84300
  0x1            |    6020   28200   27600   27900   27900  84300
  0x10           |    6020   28200   27700   28100   27900  84400
  0xFFFF         |    1900   28100   27800   27900   27800  83500
  0xFFFFFF       |    1130   16500   16400   16400   16400  18200
  0xFFFFFFFF     |     833   16400   16400   16400   16400  18100
  0xFFFFFFFFFF   |     640   12200   12200   12300   12300  13100
  0xFFFFFFFFFFFF |     528   11700   11600   11700   11700  12400
  2 ** 64        |     376    8720    8630    8660    8670   9050
  2 ** 128       |     179    4380    4380    4340    4340   4460
  2 ** 256       |    84.0    1890    1890    1880    1890   1910
  2 ** 512       |    36.0     703     703     703     700    700
 as_hex:         |   12400   24400   23900   24200   24100  34500
 ................|................................................
  0x0            |   40200   41900   41800   41400   41600  35200
  0x1            |    5450   18600   18500   18500   18400  35000
  0x10           |    5430   18600   18500   18400   18400  35000
  0xFFFF         |    1840   18500   18700   18500   18500  34900
  0xFFFFFF       |    1130   12600   12600   12500   12600  13700
  0xFFFFFFFF     |     806   12600   12600   12600   12600  13800
  0xFFFFFFFFFF   |     639    9930    9860    9980    9980  10500
  0xFFFFFFFFFFFF |     521    9440    9480    9530    9530  10100
  2 ** 64        |     376    8580    8530    8540    8560   9010
  2 ** 128       |     180    4340    4300    4300    4320   4420
  2 ** 256       |    84.0    1890    1880    1880    1880   1900
  2 ** 512       |    36.0     696     696     683     696    700
 as_bin:         |    4730   13100   13100   13100   13100  17000
 ................|................................................



Fri Jul  4 20:30:11 2003 Numbers are absolute ops/s, scaled by factor 1.

                 |   v1.64  v1.65
                 |     GMP    GMP
                 |   v1.12  v1.12
 ................|................
  0x0            |  119000  92500
  0x1            |   58500  91100
  0x10           |   58800  92000
  0xFFFF         |   58800  91100
  0xFFFFFF       |   58200  90700
  0xFFFFFFFF     |   58100  90600
  0xFFFFFFFFFF   |   58100  92000
  0xFFFFFFFFFFFF |   58400  91600
  2 ** 64        |   57500  89800
  2 ** 128       |   57200  88900
  2 ** 256       |   55900  87200
  2 ** 512       |   54500  82500
 as_hex:         |   62700  90000
 ................|................
  0x0            |   33900  31800
  0x1            |   25800  31500
  0x10           |   25700  31400
  0xFFFF         |   25700  31400
  0xFFFFFF       |   25700  31400
  0xFFFFFFFF     |   25600  31400
  0xFFFFFFFFFF   |   25600  31400
  0xFFFFFFFFFFFF |   25500  31400
  2 ** 64        |   55700  85500
  2 ** 128       |   54100  81900
  2 ** 256       |   51200  76300
  2 ** 512       |   46200  65500
 as_bin:         |   35100  46700
 ................|................

###############################################################################

Please have Math::BigInt->new('inf')->bmul('inf') big amounts of fun.

Tels <http://bloodgate.com/perl>

