Fix bug in internal function _e_add() and _e_sub() which causes it to return
"-0" in some cases.Let new() be used for assignment. Now $x->new(3) assigns 3 to $x.
Improve code in new() for non-zero scalar integers with no exponent.
Allow both "inf" and "infinity". Allow a leading sign, and ignore letter
case. This is to be consistent with core Perl.Be more consistent about allowed whitespace in input. E.g., "23 " gave 23,
but "inf " gave a NaN.Core Perl allows both "0x" and "0X" as hexadecimal prefix, and both "0b" and
"0B" as binary prefix, so we do too. Previously, only 0x and 0b were
allowed.Math::BigFloat now has its own from_bin() method which supports binary
floating point numbers, e.g., "0b1.1001p-4". This complements from_hex().Math::BigFloat now has its own from_oct() method which supports octal
floating point numbers, e.g., "1.3267p-4". This complements from_hex().The Math::BigInt and Math::BigFloat methods from_hex(), from_oct(), and
from_bin() can now be used as instance methods to assign values to the
invocand, e.g, $x->from_oct("10") assigns 8 to $x.Update documentation. Perl now uses "Inf", not "inf" to represent infinity.
When the new() method is called with an undefined argument, the round
parameters are now passed on to bzero(). This applies to both Math::BigInt
and Math::BigFloat.Replace "UNIVERSAL::isa($this, $that)" with "$this->isa($that)", and ditto
for "can()", where possible. Not every instance of "UNIVERSAL::Isa()" has
been replaced, though, since the change causes some tests to fail. This must
be looked into.Simplify the copy() methods. Always copy accuracy and precision parameters,
even when they are undefined.Reformat more of the code in accordancw with the "perlstyle" manual page.
This makes the code a lot easier to read -- for me, anyway.Use a more generic regex in t/calling.t, since the exact wording of the
error message depends not on the Perl version, but on the module that does
the version checking.Avoid infinite loop in the Math::BigFloat->batan() method. Thanks to DANAJ
(Dana Jacobsen) for the patch. This was not intended to be added before the
next release, but was included in this release by accident.