From 06a3c99af4af17ab0b388bcd234bf9b40d09dd525cb680f15e82734c0d865e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=20M=C3=BCller?= Date: Tue, 20 May 2025 10:06:47 +0000 Subject: [PATCH] - updated to 2.005003 see /usr/share/doc/packages/perl-Math-BigInt/CHANGES 2.005003 2025-04-13 * Add new methods to_fp80() and from_fp80() for encoding and decoding values in the x86 extended-precision 80 bit format. 2.005002 2025-03-28 * Fix the handling of read-only objects in bblsft() and bbrsft() in Math::BigFloat and Math::BigRat. 2.005001 2025-03-25 New: * Add new method bperm() to Math::BigInt, Math::BigFloat, and Math::BigRat. * Add the following methods to Math::BigRat and Math::BigFloat: bilog2(), bilog10(), bclog2(), bclog10(), bfib(), blucas(), from_bytes(), from_base(), to_bytes(), to_ieee754() * Add method bmuladd(), bgcd(), and blcm() to Math::BigRat. * Add method bpi() to Math::BigRat. It returns a rational approximation of PI accurate to the specified accuracy or precision, or the default accuracy if no accuracy is specified. * Add methods bdstr(), bnstr(), and bestr() to Math::BigRat. * Add support for rounding in Math::BigFloat methods bdstr(), bestr(), bnstr(), and bestr(). * Add method from_ieee754() to Math::BigInt and Math::BigRat, including documentation. In Math::BigInt, from_ieee754() is similar to the other from_xxx() methods in that way that it returns a NaN if the input is a finite non-integer. * Add new backend library method _scmp() for doing signed comparison. Changes/Improvements: * Method new() now always returns a new object, as would be expected. * Make bgcd() in Math::BigRat and Math::BigFloat support non-integer arguments. Now, bgcd(0.8, 1.2) in Math::BigFloat returns 0.4, and bgcd(4/5, 6/5) in Math::BigRat returns 2/5. * Make blcm(0, 0) work the same way in Math::BigInt, Math::BigRat, and Math::BigFloat. Now blcm(0, 0) is always 0. * Correct the documentation for is_inf(), bceil() and bfloor() * Methods bdiv() and bmod() are now aliases to bfdiv() and bfmod(), respectively. (This doesn't change the behaviour of bdiv() and bmod().) * Math::BigFloat methods bfmod() and btmod() are faster than before. * Improve documentation for bnok(). * Improve upgrading and downgrading, e.g., use $class->upgrade() rather than just $upgrade, since the former works better for sublasses. Fixes: * Add missing calls to modify(). * All boolean methods now return 1 or 0. Some would return 1 or "". * Harmonise methods in different classes so they behave similarly, at least to the extent possible. * Fix bug in Math::BigInt->bfib() causing sign to be incorrect for some of the output values when bfib() was called in list context with a negative input. * Correct miscellaneous typos and errors in the documentation. 2.004001 2025-02-12 * Improve upgrading and downgrading. - Upgrading and downgrading is more consistent. - Upgrading and downgrading now keeps the reference, so in the following example, $x changes from being a Math::BigInt with a value of 2 to a Math::BigFloat with the value 1.4142... perl -Mbignum -le '$x = 2; $x -> bsqrt(); print $x' * Fix bug in Math::BigFloat->bdiv(): in list context, bdiv() would do floored division, except when the denominator was 1. Now, bdiv() always does floored division. OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-BigInt?expand=0&rev=104 --- .gitattributes | 23 + .gitignore | 1 + Math-BigInt-2.003003.tar.gz | 3 + Math-BigInt-2.003004.tar.gz | 3 + Math-BigInt-2.005003.tar.gz | 3 + cpanspec.yml | 27 + perl-Math-BigInt.changes | 1283 +++++++++++++++++++++++++++++++++++ perl-Math-BigInt.spec | 69 ++ 8 files changed, 1412 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Math-BigInt-2.003003.tar.gz create mode 100644 Math-BigInt-2.003004.tar.gz create mode 100644 Math-BigInt-2.005003.tar.gz create mode 100644 cpanspec.yml create mode 100644 perl-Math-BigInt.changes create mode 100644 perl-Math-BigInt.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Math-BigInt-2.003003.tar.gz b/Math-BigInt-2.003003.tar.gz new file mode 100644 index 0000000..d1e3dd1 --- /dev/null +++ b/Math-BigInt-2.003003.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f24804a58265b7b3d00dc3f71dc575aebcf9e0230a291028b65e7a2c41abcb1c +size 2978556 diff --git a/Math-BigInt-2.003004.tar.gz b/Math-BigInt-2.003004.tar.gz new file mode 100644 index 0000000..e0404b6 --- /dev/null +++ b/Math-BigInt-2.003004.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71f37d114d9403755fed1ad1433a190efd89f339e2531da701d500e6d8244611 +size 3048517 diff --git a/Math-BigInt-2.005003.tar.gz b/Math-BigInt-2.005003.tar.gz new file mode 100644 index 0000000..2c730bc --- /dev/null +++ b/Math-BigInt-2.005003.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4adc1202349f7fcd14d01e6949fee0ec969049d45c9ca59aa29ec58a65966db +size 3108623 diff --git a/cpanspec.yml b/cpanspec.yml new file mode 100644 index 0000000..fdf83e3 --- /dev/null +++ b/cpanspec.yml @@ -0,0 +1,27 @@ +--- +#description_paragraphs: 3 +#no_testing: broken upstream +#sources: +# - source1 +# - source2 +#patches: +# foo.patch: -p1 +# bar.patch: +preamble: |- + Recommends: perl(bignum) >= 0.22 + Recommends: perl(Math::BigInt::FastCalc) >= 0.25 + Recommends: perl(Math::BigInt::GMP) >= 1.35 + Recommends: perl(Math::BigInt::Pari) >= 1.15 + Recommends: perl(Math::BigRat) >= 0.2602 +#post_prep: |- +# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` +# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL +#post_install: |- +# sed on %{name}.files +#license: SUSE-NonFree +#skip_noarch: 1 +#custom_build: |- +#./Build build flags=%{?_smp_mflags} --myflag +#custom_test: |- +#startserver && make test +#ignore_requires: Bizarre::Module diff --git a/perl-Math-BigInt.changes b/perl-Math-BigInt.changes new file mode 100644 index 0000000..087ae70 --- /dev/null +++ b/perl-Math-BigInt.changes @@ -0,0 +1,1283 @@ +------------------------------------------------------------------- +Mon Apr 14 05:37:15 UTC 2025 - Tina Müller + +- updated to 2.005003 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2.005003 2025-04-13 + * Add new methods to_fp80() and from_fp80() for encoding and decoding values in + the x86 extended-precision 80 bit format. + 2.005002 2025-03-28 + * Fix the handling of read-only objects in bblsft() and bbrsft() in + Math::BigFloat and Math::BigRat. + 2.005001 2025-03-25 + New: + * Add new method bperm() to Math::BigInt, Math::BigFloat, and Math::BigRat. + * Add the following methods to Math::BigRat and Math::BigFloat: + bilog2(), bilog10(), bclog2(), bclog10(), bfib(), blucas(), + from_bytes(), from_base(), to_bytes(), to_ieee754() + * Add method bmuladd(), bgcd(), and blcm() to Math::BigRat. + * Add method bpi() to Math::BigRat. It returns a rational approximation of PI + accurate to the specified accuracy or precision, or the default accuracy if + no accuracy is specified. + * Add methods bdstr(), bnstr(), and bestr() to Math::BigRat. + * Add support for rounding in Math::BigFloat methods bdstr(), bestr(), bnstr(), + and bestr(). + * Add method from_ieee754() to Math::BigInt and Math::BigRat, including + documentation. In Math::BigInt, from_ieee754() is similar to the other + from_xxx() methods in that way that it returns a NaN if the input is a finite + non-integer. + * Add new backend library method _scmp() for doing signed comparison. + Changes/Improvements: + * Method new() now always returns a new object, as would be expected. + * Make bgcd() in Math::BigRat and Math::BigFloat support non-integer arguments. + Now, bgcd(0.8, 1.2) in Math::BigFloat returns 0.4, and bgcd(4/5, 6/5) in + Math::BigRat returns 2/5. + * Make blcm(0, 0) work the same way in Math::BigInt, Math::BigRat, and + Math::BigFloat. Now blcm(0, 0) is always 0. + * Correct the documentation for is_inf(), bceil() and bfloor() + * Methods bdiv() and bmod() are now aliases to bfdiv() and bfmod(), + respectively. (This doesn't change the behaviour of bdiv() and bmod().) + * Math::BigFloat methods bfmod() and btmod() are faster than before. + * Improve documentation for bnok(). + * Improve upgrading and downgrading, e.g., use $class->upgrade() rather than + just $upgrade, since the former works better for sublasses. + Fixes: + * Add missing calls to modify(). + * All boolean methods now return 1 or 0. Some would return 1 or "". + * Harmonise methods in different classes so they behave similarly, at least to + the extent possible. + * Fix bug in Math::BigInt->bfib() causing sign to be incorrect for some of the + output values when bfib() was called in list context with a negative input. + * Correct miscellaneous typos and errors in the documentation. + 2.004001 2025-02-12 + * Improve upgrading and downgrading. + - Upgrading and downgrading is more consistent. + - Upgrading and downgrading now keeps the reference, so in the following + example, $x changes from being a Math::BigInt with a value of 2 to a + Math::BigFloat with the value 1.4142... + perl -Mbignum -le '$x = 2; $x -> bsqrt(); print $x' + * Fix bug in Math::BigFloat->bdiv(): in list context, bdiv() would do floored + division, except when the denominator was 1. Now, bdiv() always does floored + division. + +------------------------------------------------------------------- +Fri Jan 24 05:31:49 UTC 2025 - Tina Müller + +- updated to 2.003004 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2.003004 2025-01-23 + + * Fix CPAN RT #150252 regarding bdiv() not modifying the invocand object when + upgrading/downgrading is enabled. + + * Add hyperoperator method bhyperop(). This method implements succession, + addition, multiplication, exponentiation, tetration, pentation ...). + +------------------------------------------------------------------- +Sun Jun 23 16:30:36 UTC 2024 - Tina Müller + +- updated to 2.3.3 (2.003003) + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2.003003 2024-05-27 + + * Fix CPAN RT #153736 regarding bnok() with large input values. + +------------------------------------------------------------------- +Fri Mar 8 22:42:25 UTC 2024 - Tina Müller + +- Fix disabling of __perllib_provides + +------------------------------------------------------------------- +Sun Jan 7 03:07:42 UTC 2024 - Tina Müller + +- updated to 2.003002 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2.003002 2024-01-05 + + * Improved interaction between Math::BigInt and the backend libraries. + + * Much faster versions of _ilog2() and _clog2() implemented in the + Math::BigInt::Calc backend library. This should speed up bilog2() and + bclog2() in Math::BigInt when "Calc" is used as the backend liberary. + +------------------------------------------------------------------- +Wed Dec 27 03:08:03 UTC 2023 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Thu Sep 28 03:07:38 UTC 2023 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Sat Jul 15 03:08:21 UTC 2023 - Tina Müller + +- updated to 1.999839 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999839 2023-07-14 + + * Update documentation. Remove/update obsolete URLs. + + * Fix CPAN RT #148953 regarding loss of precision when using "log" in + "bignum". The issue was related to broken upgrading and downgrading in + Math::BigFloat. + +------------------------------------------------------------------- +Sat Apr 1 03:07:57 UTC 2023 - Tina Müller + +- updated to 1.999838 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999838 2023-03-30 + + * Fix CPAN RT #146411 regarding infinite recursion in bitwise operations. This + happened when arguments were upgraded and downgraded and upgraded again ad + infinitum. Add tests to verify the fix. + +------------------------------------------------------------------- +Sun Jul 3 03:06:39 UTC 2022 - Tina Müller + +- updated to 1.999837 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999837 2022-07-02 + + * Improve the interoperability between objects of different classes for the + methods that are still used as functions. + +------------------------------------------------------------------- +Sat Jun 25 03:08:07 UTC 2022 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Wed May 25 03:08:02 UTC 2022 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Tue May 17 03:06:43 UTC 2022 - Tina Müller + +- updated to 1.999831 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999831 2022-05-16 + * Further improvements to upgrading, downgrading, and rounding. + * New stringification method bfstr() for representing numbers as fractions. + E.g., Math::BigFloat -> new("1.25") -> bfstr() returns "5/4". + * Miscellaneous bug fixes. + * Fixed errors and typos in the documentation. + +------------------------------------------------------------------- +Wed Apr 13 03:07:41 UTC 2022 - Tina Müller + +- updated to 1.999830 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999830 2022-04-11 + + * Improve upgrading and downgrading. This work is not complete. Some methods + still don't downgrade when they should. + +------------------------------------------------------------------- +Sat Jan 1 03:06:57 UTC 2022 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Mon Oct 4 03:08:05 UTC 2021 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Wed Sep 22 03:06:37 UTC 2021 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Tue Jul 13 03:07:40 UTC 2021 - Tina Müller + +- 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. + +------------------------------------------------------------------- +Tue Oct 22 17:06:52 UTC 2019 - + +- updated to 1.999818 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999818 2019-10-20 + + * Fix CPAN RT #130736 regarding numify() on a Math::BigFloat with a large + number of digits and an equally large, but negative, exponent. + + * Fix a problem in to_ieee754() due to rounding in bpow(). + +------------------------------------------------------------------- +Sat Oct 12 13:43:38 UTC 2019 - + +- 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. + +------------------------------------------------------------------- +Thu Nov 8 06:33:06 UTC 2018 - Stephan Kulow + +- updated to 1.999816 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999816 2018-10-26 + + * bnok() for Math::BigInt and Math::BigFloat now support the full Kronenburg + extension. The behaviour is identical to the behaviour of the Maple and + Mathematica function for negative integers n, k. Add tests. This closes CPAN + RT #95628. + + * Fix POD errors. This closes CPAN RT #125141. + + 1.999815 2018-10-19 + + * Move bitwise operators signed and, signed or, and signed xor from + lib/Math/BigInt/CalcEmu.pm into lib/Math/BigInt/Lib.pm. The file + lib/Math/BigInt/CalcEmu.pm is no longer needed and thus removed. + + 1.999814 2018-10-01 + + * Add to_base() and from_base() to Math::BigInt and corresponding library + methods _to_base() and _from_base() to Math::BigInt::Lib. This was inspired + by CPAN RT #122681. + + * Fix Makefile.PL to reflect that Test::More is only needed for testing, not + for building. + + * In the documentation for each of the to_(bin|hex|oct|bytes) methods, add a + reference to the corresponding from_(bin|hex|oct|bytes) method. + +------------------------------------------------------------------- +Sat Apr 21 05:31:55 UTC 2018 - coolo@suse.com + +- updated to 1.999813 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 1.999813 2018-04-18 + + * Fix CPAN RT #125108. Remove test files try.pl, t/author-bpi-big-mbf.t, and + t/release-unused-vars.t, which were included in the 1.999812 distribution by + accident. + +------------------------------------------------------------------- +Wed Apr 18 05:32:46 UTC 2018 - coolo@suse.com + +- updated to 1.999812 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Fri Mar 17 06:58:23 UTC 2017 - coolo@suse.com + +- 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. + +------------------------------------------------------------------- +Fri Mar 3 06:57:10 UTC 2017 - coolo@suse.com + +- 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 + should warn about undefined values when used in any other context, but we'll + handle that in a later release. See also the related changelog entry for + v1.999801. + + * Fix the way the argument count is computed in objectify(). When an argument + count of 0 is given, it means that we should objectify all input arguments. + However, it turned out that the actual argument count was computed + incorrectly. + + * Fix CPAN RT #120242 rearding c3 method resolution. + +------------------------------------------------------------------- +Sat Feb 11 06:04:38 UTC 2017 - coolo@suse.com + +- updated to 1.999809 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2017-02-10 v1.999809 pjacklam + + * When a new method is added to Math::BigInt or Math::BigFloat, and this new + method requires a new backend library method, die with a suitable error + message if the installed backend library does not support this new method. + The error message says that the method requires a newer version of the + backend library. + + * Fix typos in Math::BigFloat and Math::BigInt. + + * Add bfib() and blucas() to Math::BigInt. They return Fibonacci and Lucas + numbers, respectively. The actual computation of the numbers is done by the + backend library. Documented both methods in POD. Add test files bfib-mbi.t + and blucas-mbi.t. + + * Add _fib() and _lucas() to Math::BigInt::Lib. They return Fibonacci and + Lucas numbers, respectively. Document both methods in POD. Add test files + author-lib-arithmetic-unary-_fib.t and author-lib-arithmetic-unary-_lucas.t. + +------------------------------------------------------------------- +Thu Jan 12 06:02:47 UTC 2017 - coolo@suse.com + +- updated to 1.999808 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2017-01-11 v1.999808 pjacklam + + * In Math::BigInt and Math::BigFloat, add methods bdfac() for double + factorial. Add tests for this method. + + * In Math::BigInt and Math::BigFloat, add methods to_hex(), to_oct(), and + to_bin() for hexadecimal, octal, and binary string output without prefix. + Even for Math::BigFloat there is still only support for integer output. Add + tests for these methods. + + * Add test for as_oct() corresponding to the old tests for as_hex() and + as_bin(). + + * In Math::BigInt::Lib, add method _dfac() for double factorial. Add + corresponding tests. + + * In Math::BigInt::Lib, fix bug in overloaded "int". + + * In Math::BigInt::Lib, implement much faster versions of _from_hex(), + _from_oct(), and _from_bin(). + + * In Makefile.PL, improve the wording in the message displayed if some of + the installed backend libraries are not a subclass of Math::BigInt::Lib (and + hence will not provide + + * Fix minor bugs in some of the author library test files (t/author-lib*.t). + + * Allow leading and trailing whitespace in the input to from_hex(), + from_oct(), and from_bin(). Add tests to verify. This is a regressions + (CPAN RT #119805). + +------------------------------------------------------------------- +Sat Dec 24 06:39:31 UTC 2016 - coolo@suse.com + +- updated to 1.999807 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-12-23 v1.999807 pjacklam + + * Add a message to Makefile.PL recommending upgrade if old libraries are + installed. This message is more or less equivalent to the one appearing in + Math-BigInt up until v1.997. + + * Improve the documentation (POD) in Math::BigInt::Lib. + + * Speed up _sqrt() and _root() in Math::BigInt::Lib. + + * Remove checking for exception cases (cases that would return +Inf, -Inf, or + NaN) in Math::BigInt::Lib. It has been documented for a long time that such + checking should be done by the caller. + + * Add library methods _to_bin(), _to_oct(), _to_hex(), which are equivalent to + the _as_bin(), _as_oct(), and _as_hex() methods respectively, except that + the _to_*() methods don't use a prefix in the output. This removes the need + for the frequent removal of the various prefixes. Now each _as_*() method + calls the equivalent _to_*() method, adds a prefix, and returns the output. + The _to_*() methods are faster than the equivalent _as_*() methods were. + + * Add author test files for the methods _to_bin(), _to_oct(), and _to_hex(). + + * Add library method _to_bytes(). The method _as_bytes() would have been + called _to_bytes() if I had thought of it earlier. The method _as_bytes() is + now just an alias to _to_bytes(). The _to_bytes() method also fixes a bug + that was present in the _as_bytes() method. (CPAN RT #119346). + + * Add author test files for the method _to_bytes(). + + * Add more tests for library methods _inc() and _dec(). When trying to bring + the Math::BigInt::BitVect library back to life I realized that the test + suite didn't catch certain errors in _inc() and _dec(). + + * Die if trying to use as_bytes() or from_bytes() with a backend library that + doesn't support the corresponding library methods. + + * Correct minor errors in the output messages in the test files. + + * Improve/correct various comments in the source code. + + * More diagnostic output is displayed by the author test files if the + AUTHOR_DEBUGGING environment variable is set. + +------------------------------------------------------------------- +Wed Dec 14 06:46:38 UTC 2016 - coolo@suse.com + +- updated to 1.999806 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-12-13 v1.999806 pjacklam + + * Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199 + and #119225). + + * In the TODO file, remove stuff that has been implemented. + +------------------------------------------------------------------- +Mon Dec 12 06:52:17 UTC 2016 - coolo@suse.com + +- updated to 1.999805 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-12-11 v1.999805 pjacklam + + * Fix Makefile.PL so that this module installs over the core version. + + * Add more tests for _nok() (binomial coefficient "n over k"). These new tests + revealed some problems with some of the backend libraries when _nok() was + given very large arguments. + + * Remove t/Math/BigFloat/#Subclass.pm#, which is an Emacs temporary file + included by accident. + +------------------------------------------------------------------- +Fri Dec 9 06:49:13 UTC 2016 - coolo@suse.com + +- updated to 1.999804 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-12-07 v1.999804 pjacklam + + * Implement as_bytes(), as requested (CPAN RT 119096). Also implement the + inverse conversion from_bytes(). This applies to Math::BigInt only. (Alas, + these methods will be inherited from Math::BigInt into Math::BigFloat, + Math::BigRat etc. where the methods won't work. Fixing this class + relationship is an issue of its own.) + + * Implement _as_bytes() and _from_bytes() in Math::BigInt::Lib. Preferably, + the various backend libraries will implement faster versions of their + own. Add author test files for testing these methods thorougly. + + * Fix from_hex(), from_oct(), and from_bin(). + - When called as instance methods, the new value should be assigned to the + invocand unless the invocand is read-only (a constant). + - When called as instance methods, the assigned value was incorrect, if the + invocand was inf or NaN. + - Add tests to t/from_hex-mbf.t, t/from_oct-mbf.t, and t/from_bin-mbf.t + to confirm the fix. + - Add new test files t/from_hex-mbi.t, t/from_oct-mbi.t, and + t/from_bin-mbi.t for better testing of these methods with Math::BigInt. + + * Correct typo in Math/BigInt/Lib.pm (otherise -> otherwise) (CPAN RT 118829). + + * Add POD coverage testing of Math::BigInt::Lib to t/03podcov.t. + +------------------------------------------------------------------- +Mon Dec 5 06:58:14 UTC 2016 - coolo@suse.com + +- updated to 1.999803 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Tue Nov 29 06:46:19 UTC 2016 - coolo@suse.com + +- updated to 1.999802 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-11-28 v1.999802 pjacklam + + * When bzero(), bone(), binf(), and bnan() are used as constructors, don't + check whether the class allows the object to be modified. This applies to + both Math::BigInt and Math::BigFloat. + + * Improve bgcd() and blcm(). This applies to both Math::BigInt and + Math::BigFloat. + +------------------------------------------------------------------- +Fri Nov 25 06:45:26 UTC 2016 - coolo@suse.com + +- updated to 1.999801 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Thu Nov 17 06:43:33 UTC 2016 - coolo@suse.com + +- updated to 1.999800 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-11-15 v1.999800 pjacklam + + * Upgrade bundled Module::Install from version 1.16 to version 1.17. + + * Add Math::BigInt::Lib (lib/Math/BigInt/Lib.pm), a parent class for + Math::BigInt backend libraries. + + * Use objects in Math::BigInt::Calc, not just array refs. Also use OO-style, + i.e., use $class->_add($x, $y) rather than _add($class, $x, $y). + + * Not all library methods modify the invocand, so call library methods as, + e.g, $x = $LIB->method($x, $y) rather than just $LIB->method($x, $y). + + * Math::BigInt::Calc is now a subclass of Math::BigInt::Lib. + + * Add Math::BigInt::Lib::Minimal (t/Math/BigInt/Lib/Minimal.pm) for testing + inheritance from Math::BigInt::Lib. + + * Minor simplification in Math::BigInt::Calc->_str(). + + * Speed up Math::BigInt::Calc->_root(). + + * Remove test files that were included in the previous release by accident. + + * Add more tests and use more verbose output in some tests. + + * Fix typo in lib/Math/BigFloat.pm + + * Fix documentation error in lib/Math/Calc.pm + + * Use Config::Tiny and an .ini file to handle the library specific + configuration for the author-lib*.t test files. + +------------------------------------------------------------------- +Sat Nov 5 06:49:46 UTC 2016 - coolo@suse.com + +- updated to 1.999727 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-11-04 v1.999727 pjacklam + + * Skip test exceeding the range of VAX floating point number in t/bigintpm.inc + (CPAN RT 118468). + + * Fix typo in lib/Math/BigInt.pm (CPAN RT 118550). + +------------------------------------------------------------------- +Sat Jul 16 05:30:12 UTC 2016 - coolo@suse.com + +- updated to 1.999726 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-07-15 v1.999726 pjacklam + + * Re-insert Math::BigFloat->DESTROY, which was accidentally removed in + v1.999725. + +------------------------------------------------------------------- +Thu Jul 14 05:33:02 UTC 2016 - coolo@suse.com + +- updated to 1.999725 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-07-13 v1.999725 pjacklam + + Changes: + + * Add method is_finite(). + + * In Math::BigInt and Math::BigFloat, remove warnings about deprecated usage, + at least until we have removed this usage from the "bignum" distribution. + These warnings were too annoying for some people. + + Improvements: + + * Faster bnok() when the library (backend) does not support it. + + * In the Math::BigFloat method bpi(), use a precomputed list of digits when + the accuracy is <= 1000. This speeds up the trigonometric functions + considerably, when I will introduce range reduction in a later release. This + makes the _atan_inv() method redundant, so remove it. Also, the _alen() + library method is now only used in _log_int(), which is good, because it + isn't clear from the docs and tests what it was supposed to do. + + Fixes: + + * Fix bug in the Math::BigInt::Calc library method _digit(). It would + sometimes return undef or an empty string when it should have returned zero. + + * Fix bug in the Math::BigInt::Calc library method _rsft(). It would sometimes + return two output arguments. + + * Fix bug in the Math::BigInt::Calc library method _lsft(). When the number + zero was shifted N places in base 10, the result was not zero, but an + invalid object. + + * Fix bug in the Math::BigInt::Calc library methods _and(), _or(), and _xor(). + They always assigned zero to the first input argument (the invocand). + + * Improve the Math::BigInt::Calc library method _log_int() for the cases when + the output is zero or one. Also simplify the code. + + * Simplify the code for the Math::BigInt::Calc library method _zeros(). + + * Reformat Math::BigInt::Calc so it is easier to read, for me anyway. + + * Add file t/author-bnok-mbi.t + + * Add one test file for every method in the libraries, including + t/Math/BigInt/Lib/TestUtil.pm with test utilities. + + * Clean up whitespace in all files in the distribution. + + * Better testing in t/author-bpi-mbf.t + + * The Math::BigInt::Calc library now always uses integers inside the objects, + so there is no longer any need for all the "0 + ..." to convert strings to + numbers, and the "int()" inside "length(int(...))" to determine the length + of an array element. The only case that needs "0 + ..." now is the + constructor _new(), whose input is a string. + + Note, however, that the Math::BigInt::FastCalc library method _new() still + creates objects with leading zeros, so until that is fixed, we can't remove + all the "0 + ..." etc. until Math::BigInt::FastCalc has been modified. + +------------------------------------------------------------------- +Thu Jun 23 06:36:46 UTC 2016 - coolo@suse.com + +- updated to 1.999724 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Sun Jun 12 13:17:55 UTC 2016 - coolo@suse.com + +- updated to 1.999723 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-06-09 v1.999723 pjacklam + + * Add Math::BigInt and Math::BigFloat methods bnstr(), bestr(), and bdstr(), + as well as corresponding methods nparts(), eparts(), and dparts(). Also add + test files bdstr-mbf.t, bdstr-mbi.t, bestr-mbf.t, bestr-mbi.t, bnstr-mbf.t, + bnstr-mbi.t, bsstr-mbf.t, bsstr-mbi.t, dparts-mbf.t, dparts-mbi.t, + eparts-mbf.t, eparts-mbi.t, nparts-mbf.t, nparts-mbi.t, sparts-mbf.t, and + sparts-mbi.t. + + * Fix documentation errors. + +------------------------------------------------------------------- +Thu May 5 09:34:38 UTC 2016 - coolo@suse.com + +- updated to 1.999722 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2016-04-16 v1.999717 pjacklam + + * Using new() with an undefined argument no longer gives a warning. Explicit + use of this is discouraged, but it is sometimes used by the modules + themselves issuing warnings that is confusing to the end user. Just + uncomment the code, since we plan to reintroduce this warning later. + + * Avoid using L<> around e-mail addressess in POD. + + 2016-04-22 v1.999718 pjacklam + + * Improve documentation on large, unquoted input values to Math::BigInt. + + * Remove stuff from bitfltpm.inc that was placed into author-numify-mbf.t, but + accidentally still present in bitfltpm.inc. Adjusted test counts as needed. + + * Fix file headers in author-bmod-bdiv-mbi.t and author-btmod-btdiv-mbi.t. + + * Add bnan(), binf(), and bsub() methods to Math::BigFloat. This is a step + along the way to having Math::BigFloat no longer being a subclass of + Math::BigInt. + + * Using bnan, binf(), bzero() and bone() as functions is deprecated. This is a + step along the way to a pure object oriented design. + + * When bnan() and binf() are used as instance methods, they no longer delete + the accuracy and precision instance variables. + + * Add test files from_bin-mbf.t, from_oct-mbf.t, and new-mbf.t. + + * Remove some code for Perl prior to 5.6. Such old versions are no longer + support anyway. + + * Fix buggy handling of NaN in bcmp(). + + * Add methods beq(), bne(), blt(), ble(), bgt(), and bge() to Math::BigInt and + Math::BigFloat. These methods are called for the overloaded operators. + + * Add overloading of '==', '!=', '<', '<=', '>', to to Math::BigInt and + Math::BigFloat and fix the broken overloading of '>='. These overloaded + operators now behave like the equivalent core Perl operators. + + * Add test file author-relop-mbi-mbf.t for testing bcmp(), beq(), bne(), + blt(), ble(), bgt(), and bge(), as well as the overloaded operators '==', + '!=', '<', '<=', '>', and '>='. + + * 'int' now truncates a Math::BigFloat object to an integer without converting + it to a Math::BigInt. When an object becomes a Math::BigInt, further + computations with that object as invocand causes the arguments to be + converted to Math::BigInt objects too, leading to unexpected results. This + is confusing people. Unless downgrading is in effect, no Math::BigFloat + object should become a Math::BigInt unless a Math::BigInt is explicitly + requested. + + * For Math::BigFloat, modify bitwise operations brsft() and brsft(), and add + band(), bior(), bxor(), and bnot(). These now handle floating point numbers + the same way as core Perl does, i.e., truncate non-integers to integers + before applying the bitwise operator. This change will also make Perl's + behaviour more consistent whether 'use bignum' is in effect or not. + + * Add overloading of '~' (bitwise not). It just calls bnot(), which has been + implemented for ages. + + * Fix error in POD for bone(). + + * Take parts of the code in t/calling.t and move it into the new files + t/calling-class-methods.t and t/calling-instance-methods.t. + + * Improve test descriptions in t/mbimbf.inc. + + 2016-04-25 v1.999719 pjacklam + + * Revert the change to Math::BigFloat's blsft() and brsft() methods, which + truncated the input (and output) to integers. However, now convert the base + to an object only when the base isn't an object already. Also return NaN if + any of the three operands is a NaN. + + * Change t/bigfltpm.inc to reflect the changes to blsft() and brsft(). Also, + when a method should be tested, actually test that method, not the + overloaded operator, which doesn't necessarily behave in the exact same + manner as the method. This applies to the methods binc(), bdec(), bpow(), + badd(), bsub(), bmul(), bdiv() in scalar context, brsft(), blsft(), and + bmod(). + + * The first output argument from objectify() is the class name, so use the + variable name $class, not $self. + + 2016-04-26 v1.999720 pjacklam + + * Overloaded 'int' should not modify it's argument. + + * Better documentation of blsft() and brsft(). + + 2016-04-26 v1.999721 pjacklam + + * Prevent Math::BigFloat methods band(), bior(), bxor(), and bnot() from + modifying unmodifiable objects. + + 2016-04-26 v1.999722 pjacklam + + * Fix bug in bone() and binf() when used as a function. The error caused + warnings about using an unitialized variable. This fix applies to both + Math::BigInt and Math::BigFloat. + +------------------------------------------------------------------- +Thu Apr 7 09:36:45 UTC 2016 - coolo@suse.com + +- updated to 1.999716 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Wed Jan 6 10:11:59 UTC 2016 - coolo@suse.com + +- updated to 1.999715 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Mon Jan 4 09:49:46 UTC 2016 - coolo@suse.com + +- updated to 1.999714 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Sat Jan 2 09:53:48 UTC 2016 - coolo@suse.com + +- updated to 1.999713 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Sat Nov 14 09:55:10 UTC 2015 - coolo@suse.com + +- updated to 1.999710 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-11-12 v1.999710 pjacklam + + * New method Math::BigFloat -> from_hex() which supports hexadecimal floating + point numbers, e.g., "0x1.999ap-4". + + * New test file t/from_hex-mbf.t for testing Math::BigFloat -> from_hex(). + + * Add 'from_hex' and 'from_bin' to list of methods in the Math::BigInt POD. + +------------------------------------------------------------------- +Wed Nov 11 10:10:30 UTC 2015 - coolo@suse.com + +- updated to 1.999709 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-11-06 v1.999709 pjacklam + + * Represent and return zero as 0E0, not 0E1. The old POD said "A zero is + represented and returned as 0E1, not 0E0 (after Knuth)." I find no + references to Knuth ever having said this. The closest reference I can find + is that Knuth says 0**0 should be defined to be 1, not 0, but that is + something else than 0e0, which is 0*10**0. I have yet to see any other + mathematical software that represents and returns zero as 0e1 rather than + 0e0. + + * Required version of Test::More is 0.9301. + +------------------------------------------------------------------- +Fri Nov 6 10:06:53 UTC 2015 - coolo@suse.com + +- updated to 1.999708 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Fri Oct 30 10:55:11 UTC 2015 - coolo@suse.com + +- updated to 1.999707 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-10-29 v1.999707 pjacklam + + * Added dependency on Math::Complex 1.39 for Math::Complex::Inf(), which is + used for numifying infinity. + + * Updated author information. + + * Updated information in the file README. + + * Removed the files INSTALL and LICENSE as this information is already covered + in the file README. + + * Enable 'use warnings' in all modules. We require a Perl newer than 5.6.0 + anyway. + + * Replace 'use vars ...' with 'our ...'. We require a Perl newer than 5.6.0 + anyway. + + * Avoid indirect object syntax in documentation. + + * Moved 'Test::More' from 'build_requires' to 'test_requires' in Makefile.PL. + +------------------------------------------------------------------- +Thu Oct 29 10:06:14 UTC 2015 - coolo@suse.com + +- updated to 1.999706 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Tue Oct 27 10:08:46 UTC 2015 - coolo@suse.com + +- updated to 1.999705 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Sat Sep 26 08:53:16 UTC 2015 - coolo@suse.com + +- updated to 1.999704 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-09-25 v1.999704 pjacklam + + * objectify() in lib/Math/BigInt.pm now uses 'isa' not 'eq' to check object + relationship. This is necessary for correct handling of subclasses. + + * objectify() in lib/Math/BigInt.pm no longer expects as_int(), as_number() + and as_float() to return objects, but allows them to return numbers + formatted as strings. This is used by some other modules on CPAN. + + * Better documentation of as_int() and as_number() in lib/Math/BigInt.pm. + + * Add documentation for as_float() in lib/Math/BigFloat.pm + + * Added test files t/objectify_mbf.t and t/objectify_mbi.t. + +------------------------------------------------------------------- +Tue Sep 22 09:12:28 UTC 2015 - coolo@suse.com + +- updated to 1.999703 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-09-21 v1.999703 pjacklam + + * Fix blog() in Math::BigInt and Math::BigFloat to work correctly regardless + of the base. + + * Correct existing tests in bigintpm.inc and bigfltpm.inc. + + * Update test plans (number of tests) in t/bare_mbi.t, t/bigintpm.t, and + t/sub_mbi.t. + + * Add test files t/blog-mbf.t and t/blog-mbi.t for better testing of the + blog() methods. + +------------------------------------------------------------------- +Sun Sep 20 09:00:16 UTC 2015 - coolo@suse.com + +- updated to 1.999702 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- +Mon Sep 14 08:40:14 UTC 2015 - coolo@suse.com + +- updated to 1.999701 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + 2015-09-11 v1.999701 pjacklam + + * The POD documentation, as well as the comments in the code, said that + $x->bdiv($y) in list context should return quotient $q and remainder $r so + that $x = $q * $y + $r, and that the remainder (modulo) $r should correspond + to Perl's % operator as well as the bmod() method. This has not been the + actual behaviour. This is now fixed. + + * Clearer POD documentation for the bdiv() and bmod() methods. + + * All input values in the range (-1,1) written as a decimal number, e.g., + -0.75 and 0.5, now return NaN, not 0. + + * Input values with a large (absolute value) negative exponent, e.g., + 1e-9999999, now return NaN. The former behaviour was to die with the message + "Quantifier in {,} bigger than 32766 in regex; marked by ..." + + * Intermediate computations in blog() increased the number of digits + significantly in some cases. Now reduce the number of digits by rounding. + However, keep some extra digits for remaining intermediate computations + before the final rounding. + + * When $x is a Math::BigFloat, $x -> bceil() and $x -> bint() for -1 < $x < 0 + returned -0. Negative zero is never used by Math::Big(Int|Float), and care + has been taken to avoid it, so this bug is surely an oversight. + + * Explicitly specify the backend (lib => 'Calc') in t/mbimbf.t for easier + release management of the backend distributions. + + * Add "use warnings" to test scripts, since Perl 5.6.2 is required anyway, and + "use warnings" was introduced in Perl 5.6.1. + + * Modified test scripts so the difference between the test files in the + Math-BigInt distribution and the backend distributions are as few and as + small as possible. This makes for easier release management. + +------------------------------------------------------------------- +Tue Sep 1 09:08:11 UTC 2015 - coolo@suse.com + +- updated to 1.9997 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + + ############################################################################## + The changes are now grouped by distribution. + +------------------------------------------------------------------- +Thu May 29 10:18:57 UTC 2014 - stephan.barth@suse.com + +- update to version 1.9993 from 1.997 + Changes from upstream: + * Synchronise with blead perl. For a list of recent changes, see + http://perl5.git.perl.org/perl.git/history/HEAD:/dist/Math-BigInt + * Removed examples/hailstone.pl which required the obsolete Math::Big + +------------------------------------------------------------------- +Tue Jun 11 13:10:57 UTC 2013 - coolo@suse.com + +- rebuild against perl 5.18 + +------------------------------------------------------------------- +Fri Nov 18 12:31:43 UTC 2011 - coolo@suse.com + +- update to 1.997 + * 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) + +------------------------------------------------------------------- +Fri Apr 29 07:35:32 UTC 2011 - coolo@opensuse.org + +- initial package 1.993 + * created by cpanspec 1.78.04 + diff --git a/perl-Math-BigInt.spec b/perl-Math-BigInt.spec new file mode 100644 index 0000000..ab0bcd4 --- /dev/null +++ b/perl-Math-BigInt.spec @@ -0,0 +1,69 @@ +# +# spec file for package perl-Math-BigInt +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define cpan_name Math-BigInt +Name: perl-Math-BigInt +Version: 2.005003 +Release: 0 +License: Artistic-1.0 OR GPL-1.0-or-later +Summary: Arbitrary size integer math package +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/P/PJ/PJACKLAM/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml +BuildArch: noarch +BuildRequires: perl +BuildRequires: perl-macros +BuildRequires: perl(Carp) >= 1.22 +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.58 +BuildRequires: perl(Math::Complex) >= 1.36 +BuildRequires: perl(Test::More) >= 0.94 +Requires: perl(Carp) >= 1.22 +Requires: perl(Math::Complex) >= 1.36 +%{perl_requires} +# MANUAL BEGIN +Recommends: perl(bignum) >= 0.22 +Recommends: perl(Math::BigInt::FastCalc) >= 0.25 +Recommends: perl(Math::BigInt::GMP) >= 1.35 +Recommends: perl(Math::BigInt::Pari) >= 1.15 +Recommends: perl(Math::BigRat) >= 0.2602 +# MANUAL END + +%description +Math::BigInt provides support for arbitrary precision integers. Overloading +is also provided for Perl operators. + +%prep +%autosetup -n %{cpan_name}-%{version} -p1 + +%build +perl Makefile.PL INSTALLDIRS=vendor +%make_build + +%check +make test + +%install +%perl_make_install +%perl_process_packlist +%perl_gen_filelist + +%files -f %{name}.files +%doc BUGS CHANGES CREDITS examples GOALS HISTORY NEW README README.md TODO +%license LICENSE + +%changelog