./math/p5-Math-BigInt, Arbitrary size integer math perl package

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.003003nb1, Package name: p5-Math-BigInt-2.003003nb1, Maintainer: pkgsrc-users

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


Required to run:
[lang/perl5]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 2908.746 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-16 13:08:07 by Thomas Klausner | Files touched by this commit (2504)
Log message:
*: recursive bump for perl 5.40
   2024-07-29 06:53:34 by Wen Heping | Files touched by this commit (2)
Log message:
Update to 2.003003

Upstream changes:
2.003003 2024-05-27

* Fix CPAN RT #153736 regarding bnok() with large input values.
   2024-05-27 10:47:47 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
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.
   2023-07-06 11:43:03 by Thomas Klausner | Files touched by this commit (2483)
Log message:
*: recursive bump for perl 5.38
   2022-08-02 10:50:15 by Adrian Steinmann | Files touched by this commit (1) | Package updated
Log message:
math/p5-Math-BigInt: reset PKGREVISION after update
   2022-08-02 07:35:57 by Adrian Steinmann | Files touched by this commit (2) | Package updated
Log message:
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.
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-11-12 05:27:17 by Wen Heping | Files touched by this commit (2)
Log message:
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.