The NetBSD Project

CVS log for pkgsrc/math/p5-Math-BigInt/Makefile

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / math / p5-Math-BigInt

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed Feb 5 08:34:22 2025 UTC (2 months, 1 week ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2025Q1-base, pkgsrc-2025Q1, HEAD
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -3 lines
Update to 2.003004

Upstream 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 ...).

Revision 1.25: download - view: text, markup, annotated - select for diffs
Sat Nov 16 12:05:58 2024 UTC (5 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2024Q4-base, pkgsrc-2024Q4
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -1 lines
*: recursive bump for perl 5.40

Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Jul 29 04:53:34 2024 UTC (8 months, 3 weeks ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2024Q3-base, pkgsrc-2024Q3
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -2 lines
Update to 2.003003

Upstream changes:
2.003003 2024-05-27

* Fix CPAN RT #153736 regarding bnok() with large input values.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Mon May 27 08:47:47 2024 UTC (10 months, 3 weeks ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2024Q2-base, pkgsrc-2024Q2
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -3 lines
Update to 2.003002

Upstream 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.

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.

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.

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.

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.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Jul 6 09:40:52 2023 UTC (21 months, 2 weeks ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2024Q1-base, pkgsrc-2024Q1, pkgsrc-2023Q4-base, pkgsrc-2023Q4, pkgsrc-2023Q3-base, pkgsrc-2023Q3
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -1 lines
*: recursive bump for perl 5.38

Revision 1.21: download - view: text, markup, annotated - select for diffs
Tue Aug 2 08:50:15 2022 UTC (2 years, 8 months ago) by ast
Branches: MAIN
CVS tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -2 lines
math/p5-Math-BigInt: reset PKGREVISION after update

Revision 1.20: download - view: text, markup, annotated - select for diffs
Tue Aug 2 05:35:57 2022 UTC (2 years, 8 months ago) by ast
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -2 lines
PR category/123
math/p5-Math-BigInt: update to 1.999837 (from 1.999827)
 * Improve compatibility with older versions of the Math-BigRat distribution.
 * Re-enable upgrading in Math::BigFloat->bdiv().
 * Improvements to upgrading, downgrading, and rounding:
   . Fix bug related to upgrading in Math::BigInt->brsft() in Perl <= 5.16.
   . Fix Math::BigFloat->bpi().
   .  Improve as_int(), as_float(), and as_rat().
 * 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.
 * Add new methods numerator(), denominator(), and fparts().
 * Fix bug in to_ieee754(). Avoid that the significand overflows.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Jun 28 11:34:39 2022 UTC (2 years, 9 months ago) by wiz
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -1 lines
*: recursive bump for perl 5.36

Revision 1.18: download - view: text, markup, annotated - select for diffs
Fri Nov 12 04:27:16 2021 UTC (3 years, 5 months ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines
Update to 1.999827

Upstream 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.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Sep 30 13:22:36 2021 UTC (3 years, 6 months ago) by wen
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -3 lines
Update to 1.999825

Upstream changes:
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.

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.

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.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon May 24 19:52:57 2021 UTC (3 years, 10 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -1 lines
*: recursive bump for perl 5.34

Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon Sep 7 11:47:43 2020 UTC (4 years, 7 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -3 lines
p5-Math-BigInt: update to 1.999818.

 * 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().

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.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Aug 31 18:10:13 2020 UTC (4 years, 7 months ago) by wiz
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -2 lines
*: bump PKGREVISION for perl-5.32.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Aug 11 13:21:46 2019 UTC (5 years, 8 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -1 lines
Bump PKGREVISIONs for perl 5.30.0

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Jun 30 20:16:18 2019 UTC (5 years, 9 months ago) by nia
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2 lines
Update packages using a search.cpan.org HOMEPAGE to metacpan.org.

The former now redirects to the latter.

This covers the most simple cases where http://search.cpan.org/dist/name
can be changed to https://metacpan.org/release/name.

Reviewed by hand to hopefully make sure no unwanted changes sneak in.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sat Jan 12 04:35:20 2019 UTC (6 years, 3 months ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -2 lines
Update to 1.999816

Upstream 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.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Oct 20 14:05:32 2018 UTC (6 years, 6 months ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -3 lines
Update to 1.999815

Upstream changes:
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.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Wed Aug 22 09:45:37 2018 UTC (6 years, 8 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +2 -1 lines
Recursive bump for perl5-5.28.0

Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed May 2 12:29:22 2018 UTC (6 years, 11 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -3 lines
p5-Math-BigInt: update to 1.999813.

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.

1.999812 2018-04-17

 * Fix CPAN RT #120351 regarding bpow(). Add test.

 * Fix CPAN RT #120717 regarding tests now that '.' is not in @INC by default.

 * Fix CPAN RT #122756 regarding testing for 64 bit integer support.

 * Fix case when both accuracy and precision are set, resulting in a NaN. This
   closes CPAN RT #124790.

 * Fix typo in one of the change log entries for version 1.999811.

 * Clearify documentation of rounding modes.

 * Update the documentation of configuration parameters.

 * Fix rounding and accuracy in bpi(). Extra digits in intermediate computation
   were not used, causing the last digits to be inaccurate. In addition, the
   rounding was incorrect in some cases.

 * Use config() as a method, rather than a function. Also use config("xyz")
   rather than config()->{xyz}.

 * Correct more of the problems with rounding in the constructors. If rounding
   arguments are given as arguments to the constructor, the constructor should
   assign those values to the instance. If no rounding arguments are given, and
   the constructor is called as a class method, the class rounding variables
   should be assigned to the instance. Added test file
   t/author-constructors-a-p-r.t to replace t/author-constructors-a-p.t, but
   lots of tests are failing and (for now) commented out.

 * Remove statements used for debugging.

 * Fix typos.

 * Cleaner log/exp-related code in Math::BigFloat.

 * Remove unused variables.

 * Add test file t/release-portability.t.

 * Add test file t/release-whitespaces.t.

 * Convert test file t/02pod.t to t/release-pod.t and t/03podcov.t to
   t/release-pod-coverage.t.

 * Reformat CHANGES to match the specification in CPAN::Changes::Spec and
   CPAN::Meta::Spec.

 * Expand tabs to spaces and clean up whitepace.

 * Include tests that were previously commented out.

 * Use $LIB as the variable name for backend math library.

 * Import "carp" and "croak" from the Carp module.

 * Math::BigInt isa Exporter, so Math::BigInt should require Exporter.
   Math::BigFloat has Math::BigInt in @ISA, so it doesn't need to require
   Exporter.

 * Don't load Test::More when it isn't really needed. This speeds up processing
   of author test files when they are skipped.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Jun 5 14:24:10 2017 UTC (7 years, 10 months ago) by ryoon
Branches: MAIN
CVS tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -1 lines
Recursive revbump from lang/perl5 5.26.0

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat May 13 00:52:04 2017 UTC (7 years, 11 months ago) by wen
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Update to 1.999811

Upstream 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.

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.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Feb 11 11:06:22 2017 UTC (8 years, 2 months ago) by mef
Branches: MAIN
CVS tags: pkgsrc-2017Q1-base, pkgsrc-2017Q1
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -2 lines
Updated math/p5-Math-BigInt to 1.999809
---------------------------------------
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.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Jan 18 12:59:16 2017 UTC (8 years, 3 months ago) by wen
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
Update to 1.999808

Upstream 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).

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.

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.

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.

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.

2016-12-03 v1.999803 pjacklam

 * Remove BENCHMARK file. The information was obsolete.

 * Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL

 * Reorder CHANGES file (this file) so the newest entries appear at the top.

 * Fix error in test information text in various author test files.

 * Remove author information in LICENSE file.

 * Inform that the TODO file is not up to date.

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. A constructor
   isn't modifying any existing object. This applies to both Math::BigInt and
   Math::BigFloat.

 * Improve bgcd() and blcm(). This applies to both Math::BigInt and
   Math::BigFloat.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Nov 28 12:29:48 2016 UTC (8 years, 4 months ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -2 lines
Update to 1.999801

Upstream changes:
2016-11-23 v1.999801 pjacklam

 * Fix, hopefully once and for all, the longstanding problem of handling undef
   as an operand to mathematical methods. The only method that accepts undef as
   an operand is blog(), where the second operand might be undef, as in
   $x->blog() or $x->blog($b), where $b is undef. The undef signifies that
   Euler's number should be used as the base. With this fix, we should be able
   to get Math::BigInt::Lite working again.

 * Add least common multiple method _lcm() to Math::BigInt::Lib, and add
   corresponding test file t/author-lib-arithmetic-binary-_lcm.t and test data
   file t/author-lib-arithmetic-binary-_lcm.dat.

 * Remove internal function __lcm() which has become redundant now that _lcm()
   is in the library.

 * Make it possible to use bgcd() and blcm() as class methods, since other
   methods can be used as class methods. This applies to both Math::BigInt and
   Math::BigFloat.

 * Fix blcm() with negative input. The LCM should always be non-negative. This
   applies to both Math::BigInt and Math::BigFloat.

 * Add tests for bgcd() and blcm() in t/bigintpm.t and t/bigfltpm.t.

 * Fix tests for blcm() assuming that LCM(0,0) should be a NaN. LCM(0,0) is 0
   by convention.

 * Prefer Class->config('option') over Class->config()->{option}. However, this
   does not seem to be working for all options. It seems that this won't work
   properly until we move the global variables into the OO interface.

 * Explicitly specify the library in all test files that are shared between
   Math-BigInt and the library distributions (FaatCalc, GMP, Pari, ...) with,
   e.g., "use Math::BigInt only => 'Calc';". This way, it will fail immediately
   if the specified library can't be loaded rather than using the fallback
   library.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu Nov 17 15:28:50 2016 UTC (8 years, 5 months ago) by wen
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Update to 1.999800

Upstream 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).

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.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Aug 8 23:51:38 2016 UTC (8 years, 8 months ago) by wen
Branches: MAIN
CVS tags: pkgsrc-2016Q3-base, pkgsrc-2016Q3
Import Math-BigInt-1.999726 as math/p5-Math-BigInt.

Math::BigInt provides support for arbitrary precision integers.
Overloading is also provided for Perl operators.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>