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

Calc : fixed bug in _root(): int() rounds sometimes wrong, so use sprintf()
       _as_bin() and _as_hex() are faster (for small values) due to inlining
	is_zero()
       _acmp() is about 26% faster for very small numbers or numbers that
	differ in length, and slightly faster for bigger numbers. This helps
	both bacmp() and bcmp()
       _fac() did:
	+ not modify $x in place for small arguments
	+ something strange for large arguments
	+ not handle 0..2 optimal (code now simplified)
       _as_bin() used %b, which was not known to v5.5.3 - workaround that
       implemented _log_int(), which is simple and very fast
       implemented the missing pieces for _root() (which is quite fast)
MBI  : reorder is_zero() check for band(), bior() and bxor() to speed up the
	case for when the underlying lib has _and(), _ior() and _xor()
       implement a new way of emulating AND, OR and XOR, this tremendously
	helps if band() et. al. are called with negative arguments
       try to call _signed_or(), _signed_and() and _signed_xor() in lib
       is_foobar() methods are slightly faster
       bnot() is about 12% faster
       bsqrt(): moved is_zero() || is_one() test out of the way => 28% faster
	for "small" values (Calc and GMP)
       small change for overload::constant
       bfac(): do 0 or 1 check only if CALC cannot do _fac() (thus faster)
       cache $CALC->can() results in global %CAN hash for more speed
       overload for cos()/sin() to make cos(Math::BigInt->new(...)) work
       implemented an all-integer version of blog(), which is simple and fast
       removed a needless _copy() in bmod() with negative arguments
MBF  : flog(): 0.5, 0.25, 0.125, 2, 4 and 8 were not scaled properly back to
	1, instead they remained 0.5 and 2, respectively. This was a '<' vs.
	'>=' respective '<' vs. '<=' issue. No other values are affected
	(neither getting slower nor faster), but the ones in question (incl.
	their multiples like 20, 80, 0.0125 etc) are now tremendously faster -
	about a factor of 30 to 60! :-)
       removed some crufty logic from _log_10() and made the special cases of
	2, 10 and 0.1 slightly faster. This also helps log($x,2) & log($x,10).
       bfac() slightly faster for small arguments
       downgrading to bigint failed for .2e2 (produced 200 vs. 20)
Misc : warn if blog() fails to compute result 
tests: more tests for _pow(), _root(), _acmp() and _fac() in bigintc.t
       added const_mbf.t: test for BigFloat constant w/o BigInt, also make
	these constant tests better when running in core
       added t/fallback.t
       fixed bigintc.t tests for BASE_LEN < 7 (e.g. obscure archs :)
       added tests for _log_int() 
       more tests for downgrading
       tests for MBI blog()

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

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

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

