- updated to 2.003001
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
2.003001 2023-12-26
* Add configuration methods trap_inf() and trap_nan(). Previously it was only
possible to modify these properties by using the config() method.
* Fix CPAN RT #150796 so that config() no longer modifies the input when it is
a hash ref.
* Fix CPAN RT #150797 so that both accuracy and precision can be set
simultaneously with config().
* Add the following methods to Math::BigInt
- bilog2() base 2 logarithm rounded downwards, i.e., int(log2(x))
- bilog10() base 10 logarithm rounded downwards, i.e., int(log10(x))
- bclog2() base 2 logarithm rounded upwards, i.e., ceil(log2(x))
- bclog10() base 10 logarithm rounded upwards, i.e., ceil(log10(x))
* Add the following backend library methods to Math::BigInt::Lib. These
methods do the core computations for the corresponding methods in
Math::BigInt (see above).
- _ilog2() base 2 logarithm rounded downwards
- _ilog10() base 10 logarithm rounded downwards
- _clog2() base 2 logarithm rounded upwards
- _clog10() base 10 logarithm rounded upwards
2.002001 2023-12-09
* Fix CPAN RT #150523
2.002000 2023-12-02
* Fix bug in Math::BigFloat method bsin(). It can now handle any argument to
any precision. Also improve downgrading. This fixes CPAN RT #150590 and the
bsin() part of CPAN RT #107604.
* Fix bug in Math::BigFloat method bexp(). Specifying precision (rather than
accuracy) used to give a NaN. Also improve downgrading.
* Improve upgrading in Math::BigInt methods bsin() and bcos(). They now
upgrade only when necessary.
2.001001 2023-11-21
* Fix CPAN RT #150469
2.001000 2023-11-13
* Fix rounding bug in bsqrt() in Math::BigInt. Also make bsqrt() upgrade only
when necessary.
* Simplify and speed up bsqrt() (for computing the square root) in
Math::BigFloat. The computation time now mainly depends on the desired
accuracy, not the number of digits in the significand.
* Add support for using "div_scale" as import parameter, like this
use Math::BigFloat div_scale => 80;
* Add better argument checking when the "div_scale" value is set by the
user.
2.000000 2023-10-29
* Merge the Math-BigRat distribution into the Math-BigInt distribution. This
merge eliminates the problems that users have experienced when incompatible
versions of the two distributions have been installed. This fixes CPAN RT
#143228.
* Add method from_dec() to Math::BigRat to make Math::BigRat more consistent
with Math::BigInt and Math::BigFloat.
* To be consistent with Math::BigInt and Math::BigFloat, make it possible to
use "require" with Math::BigRat, e.g.,
require Math::BigRat;
$x = Math::BigRat -> bone();
* Fix cases where "require" doesn't work for Math::BigInt and Math::BigFloat,
and add tests to verify that "require" works for Math::BigInt, Math::BigRat,
and Math::BigFloat.
* Add methods bblsft() and bbrsft() to Math::BigRat to make Math::BigRat
consistent with Math::BigInt and Math::BigFloat. These methods do bitwise
left and right shift, respectively.
* Fix bug in to_oct() and to_bin() in Math::BigFloat. They called to_hex()
when upgrading, but should have called to_oct() and to_bin(), respectively.
* Add to_hex(), to_oct(), to_bin() to Math::BigRat.
* Add new method binv() to Math::BigInt, Math::BigFloat, and Math::BigRat.
* Improve as_float() and as_rat().
* POD updates.
OBS-URL: https://build.opensuse.org/request/show/1136594
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=94
- updated to 1.999842
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999842 2023-09-27
* Fix a bug causing Math::BigInt and Math::BigFloat to be caught in an endless
recursion. The bug was introduced when trying to fix
https://github.com/pjacklam/p5-Math-BigInt/issues/8
* Allow div_scale to be 0. It is not documented what div_scale <= 0 means, but
there are modules that set div_scale to 0 (e.g., Astro::Units) and fail
their tests if this is not supported.
1.999841 2023-09-21
* Remove development files that were accidentally included in the
distribution.
1.999840 2023-09-18
* Add methods bblsft() and bbrsft(), which do bitwise left and right shift,
respectively. The binary operators for bitwise left and right shift, "<<"
and ">>", now call the methods bblsft() and bbrsft(), respectively.
While this behaviour is consistent with how "<<" and ">>" work on floating
point numbers in core Perl, it changes how "<<" and ">>" worked on
Math::BigFloat objects. This is a corner case, but any code currently using
"<<" and ">>" on Math::BigFloat objects might need to be modified as follows
$x >>= $y should be changed to $x -> brsft($y)
$x <<= $y should be changed to $x -> blsft($y)
$x >> $y should be changed to $x -> copy() -> brsft($y)
$x << $y should be changed to $x -> copy() -> blsft($y)
* Improve blsft() and brsft(). They now support negative shift values, an
arbitrarily large base, and have better handling of cases involving NaN.
OBS-URL: https://build.opensuse.org/request/show/1114098
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=92
- updated to 1.999836
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999836 2022-06-24
* Improve compatibility with older versions of the Math-BigRat distribution.
Math-BigInt version 1.999835 works with Math-BigRat version 0.2623 and newer.
Math-BigInt version 1.999836 works with Math-BigRat version 0.2618 and newer.
* Re-enable upgrading in Math::BigFloat->bdiv().
* Fix an error in the enabling/disabling of upgrading/downgrading.
* Fix typos and other formatting errors.
OBS-URL: https://build.opensuse.org/request/show/985261
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=84
- updated to 1.999835
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999835 2022-05-24
* Fix bug related to upgrading in Math::BigInt->brsft(). This bug
only showed up in Perl versions 5.16 and older.
1.999834 2022-05-23
* Further improvements to upgrading and downgrading.
1.999833 2022-05-23
* Fix Math::BigFloat->bpi(). The previous attempt at correcting it
wasn't sufficient. Added test to verify the fix.
* Correct the formatting in the CHANGES file.
1.999832 2022-05-21
* Improve as_int(), as_float(), and as_rat() so that they return a
Math::BigInt, Math::BigFloat, and Math::BigRat, respectivly,
regardless of upgrading and downgrading.
* Improve stringification method bsstr() so that it handles upgrading
and downgrading better.
* Fix Math::BigFloat->bpi(), which unfortunately didn't handle
downgrading.
* Avoid unnecessary downgrading/upgrading.
* Add missed cases where downgrading/upgrading should be performed.
* Avoid unnecessary stringification.
OBS-URL: https://build.opensuse.org/request/show/979962
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=82
- updated to 1.999829
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999829 2021-12-29
* Improve methods div_scale() and round_mode() so they work better with
subclasses. This fixes CPAN RT #125430.
* Make div_scale() accept a Math::Big(Int|Float|Rat) object as input. This
fixes CPAN RT #140599.
1.999828 2021-12-17
* Add new methods numerator(), denominator(), and fparts().
* Fix bug in to_ieee754(). Avoid that the significand overflows.
* Improve bpow(). Avoid unnecessary upgrading.
* Fix typos and improve wording.
OBS-URL: https://build.opensuse.org/request/show/946030
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=77
- updated to 1.999827
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999827 2021-10-03
* Improve error message for missing library argument.
* Skip tests that don't work on older Perls. Also skip tests that compare
floating point numbers.
1.999826 2021-10-01
* Improve documentation related to floating point literals.
* Skip tests that fail due to Perl's broken handling of floating point literals
before v5.32.0.
1.999825 2021-09-28
* Make Math::BigInt accept integers regardless of whether they are written as
decimal, binary, octal, or hexadecimal integers or decimal, binary, octal, or
hexadecimal floating point number.
* When numeric constants are overloaded (with the ":constant" option) in
Math::BigInt, every numeric constant that represent an integer is converted
to an object regardless of how it is written. All finite non-integers are
converted to a NaN.
* When numeric constants are overloaded (with the ":constant" option) in
Math::BigFloat, every numeric constant is converted to an object regardless
of how it is written.
* Add method from_dec() (cf. from_bin(), from_oct(), and from_hex()). It is
like new() except that it does not accept anything but a string representing a
finite decimal number.
OBS-URL: https://build.opensuse.org/request/show/923767
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=76
- updated to 1.999824
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999824 2021-09-20
* Don't allow mixing math libraries. Use the first backend math library that is
successfully loaded, and ignore any further attempts at loading a different
backend library. This is a solution to the re-occurring problem of using
objects using different math libraries.
* Add missing documentation.
* Miscellaneous minor improvements.
OBS-URL: https://build.opensuse.org/request/show/921750
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=75
- updated to 1.999823
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999823 2021-07-12
* Improve the handling of the backend libraries. Provide more useful warnings
and error messages. Update the documentation.
1.999822 2021-07-09
* Make the from_hex(), from_oct(), and from_bin() methods consistent with
CORE::oct(), which does not require a leading "0" before the letter ("x",
"o", or "b").
* Make the from_oct() and new() methods accept octal numbers with prefix
"0o", "0O", "o" (lowercase letter o), and "O" (capital letter O).
* Make the from_bin() and new() methods accept binary numbers with
prefix "0b", "0B", "b", and "B".
* Make the from_hex() and new() methods accept hexadecimal numbers with
prefix "0x", "0X", "x", and "X".
* Update test files to match with the above.
1.999821 2021-07-06
* Make new() and from_hex() accept the "0X" prefix, not just the "0x" prefix,
but not accept just "X" or "x". Now, "0XFF" returns 255, not NaN.
* Make new() and from_bin() accept the "0B" prefix, not just the "0b" prefix, but
not accept just "B" or "b". Now, "0B1111" returns 255, not NaN.
* Make new() and from_oct() accept the "0o" and "0O" prefixes, but not accept
just "O" (capital letter O) or "o" (lowercase letter o). Now, "0o377" and
"0O377" return 255, not NaN. Also intepret floating point numbers with a
leading zero and a binary exponent as an octal number, so that "01.4p0"
returns 1.5, not NaN. There is still no ambiguety, since decimal floating
point numbers use "e" or "E" before the exponent, and binary and hexadecimal
floating point numbers use a "0b"/"0B" or "0x"/"0x" prefix, respectively.
1.999820 2021-07-06
* Fix bug and improve error messages in Math::BigInt::import().
1.999819 2021-07-02
* Add method btfac() (triple factorial) and bmfac() (multi-factorial),
including tests and documentation.
* Add missing and correct erroneous documentation for bfac() (factorial)
and bdfac() (double factorial). Also correct handling of special cases
and add tests for these cases.
* Fix error in bsin() and bcos() causing them to hang indefinitely if the
invocand is +/-inf.
* Make it possible for the end user to specify the base length used internally
in Math::BigInt::Calc.
OBS-URL: https://build.opensuse.org/request/show/906075
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=74
- updated to 1.999817
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
1.999817 2019-10-11
* Avoid non-integers in intermediate computations in Math::BigInt::Calc. This
causes errors due to rounding issues, e.g., 47265625999999999 / 1000000000
is 47265626 with double precision.
* Remove api_version() and the corresponding test file. There is no need to
check which methods are supported by a backend library now that each backend
library is a subclass of Math::BigInt::Lib. Methods not provided in the
backend library are provided by the parent class.
* Add to_ieee745() and from_ieee754().
* Add backermann() and ackermann() for the Ackermann function.
* Add buparrow() and uparrow() for Knuth's up-arrow notation.
* Add information about the github repository.
* Update links in SUPPORT section in POD.
* Fix bpow(). It returned NaN when it should truncate to zero.
* Make blsft() in Math::BigInt allow bases up until the largest unsigned
integer.
* Make _lsft() in Math::BigInt::Calc handle an arbitrarily large base.
* Add new methods bdigitsum() and digitsum() to Math::BigInt. Add new method
_digitsum() to Math::BigInt::Lib.
* Add new methods is_non_negative() and is_non_positive().
* Extend the default collation sequence used by to_base() and from_base() to
all the 94 printable ASCII characters except blank/space.
* Make new() in Math::BigFloat handle octal floating point numbers.
* Slightly more robust t/01load.t.
* Remove unused variables.
* Miscellaneous code cleanup.
OBS-URL: https://build.opensuse.org/request/show/737899
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=70
- updated to 1.999811
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
2017-03-15 v1.999811 pjacklam
* Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
methods resulting in loss of accuracy. This bug was introduced in bug in
Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
this bug was also present in the newer to_hex(), to_oct(), and to_bin()
methods. This shows the bug, as it did not print "0xffff...":
print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
* Fix incorrect formatting in the output from the Math::BigFloat methods
to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
added when it shouldn't have been.
* Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
* "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
- updated to 1.999810
see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
2017-03-01 v1.999810 pjacklam
* CPAN RT #120240 revealed that the problems with undefined values is still
present. After a close examination, I believe the only way to get this
really working is to to make blog() call objectify() differently depending
on whether the base for the logarithm is undefined or not. That way we can
avoid objectify() converting the undefined value to a zero. Ideally, we
OBS-URL: https://build.opensuse.org/request/show/482418
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=63
* Document actual behaviour of from_xxx() methods. [perl #85334] (Peter John
Acklam)
* Make bmuladd() able to handle third arg properly. [perl #85482] (Peter John
Acklam)
* Add sign function bsgn() as a complement to babs(). (Peter John Acklam)
* Fix objectify()'s handling of "foreign objects". (RT #16221 and #52124)
(Peter John Acklam)
* Rewrap some verbatim pod in Math::BigInt. (Father Chrysostomos)
* Correct links to sections. (Alexandr Ciornii)
* Remove incorrect formatting inside verbatim paragraphs. (Alexandr Ciornii)
* Upgrade bundled modules in "inc" to latest version. (Peter John Acklam)
* Include "^MYMETA\.(yml|json)\z" in MANIFEST.SKIP. Whereas META.* are
generated by the distribution author at packaging time, MYMETA.* are
generated by the end user at configure time after any dynamic dependencies
are known. (Peter John Acklam)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=3
oid sha256:71f37d114d9403755fed1ad1433a190efd89f339e2531da701d500e6d8244611
size 3048517
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.