develooper Front page | perl.perl5.changes | Postings from November 2021

[Perl/perl5] 6853e8: Update bignum, Math::BigInt,Math::BigInt::FastCal...

Richard Leach via perl5-changes
November 19, 2021 21:40
[Perl/perl5] 6853e8: Update bignum, Math::BigInt,Math::BigInt::FastCal...
Message ID:
  Branch: refs/heads/blead
  Commit: 6853e8af3bcdae27c05a50e71c8ede1ab2b42822
  Author: Richard Leach <>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    M Makefile.SH
    M Porting/
    M cpan/Math-BigInt-FastCalc/lib/Math/BigInt/
    M cpan/Math-BigInt-FastCalc/t/bigintfc.t
    M cpan/Math-BigInt-FastCalc/t/biglog.t
    M cpan/Math-BigInt-FastCalc/t/bigroot.t
    M cpan/Math-BigInt-FastCalc/t/bootstrap.t
    M cpan/Math-BigInt-FastCalc/t/leak.t
    M cpan/Math-BigInt-FastCalc/t/mbi_rand.t
    M cpan/Math-BigInt/lib/Math/
    M cpan/Math-BigInt/lib/Math/
    M cpan/Math-BigInt/lib/Math/BigInt/
    M cpan/Math-BigInt/lib/Math/BigInt/
    M cpan/Math-BigInt/t/Math/BigFloat/
    M cpan/Math-BigInt/t/Math/BigInt/
    M cpan/Math-BigInt/t/Math/BigInt/Lib/
    M cpan/Math-BigInt/t/Math/BigInt/
    A cpan/Math-BigInt/t/_bin_parts_to_lib_parts.t
    A cpan/Math-BigInt/t/_bin_str_to_str_parts.t
    A cpan/Math-BigInt/t/_dec_parts_to_lib_parts.t
    A cpan/Math-BigInt/t/_dec_str_to_str_parts.t
    M cpan/Math-BigInt/t/_e_math.t
    A cpan/Math-BigInt/t/_hex_str_to_str_parts.t
    A cpan/Math-BigInt/t/_oct_str_to_str_parts.t
    M cpan/Math-BigInt/t/
    M cpan/Math-BigInt/t/backermann-mbi.t
    M cpan/Math-BigInt/t/bare_mbf.t
    M cpan/Math-BigInt/t/bare_mbi.t
    M cpan/Math-BigInt/t/bare_mif.t
    M cpan/Math-BigInt/t/bdigitsum-mbi.t
    M cpan/Math-BigInt/t/bdstr-mbf.t
    M cpan/Math-BigInt/t/bdstr-mbi.t
    M cpan/Math-BigInt/t/bestr-mbf.t
    M cpan/Math-BigInt/t/bestr-mbi.t
    M cpan/Math-BigInt/t/bfib-mbi.t
    M cpan/Math-BigInt/t/big_pi_e.t
    M cpan/Math-BigInt/t/
    M cpan/Math-BigInt/t/bigfltpm.t
    M cpan/Math-BigInt/t/bigintc-import.t
    M cpan/Math-BigInt/t/bigintc.t
    M cpan/Math-BigInt/t/
    M cpan/Math-BigInt/t/bigintpm.t
    M cpan/Math-BigInt/t/bigints.t
    M cpan/Math-BigInt/t/biglog.t
    M cpan/Math-BigInt/t/bigroot.t
    M cpan/Math-BigInt/t/blucas-mbi.t
    M cpan/Math-BigInt/t/bnok-mbf.t
    M cpan/Math-BigInt/t/bnok-mbi.t
    M cpan/Math-BigInt/t/bnstr-mbf.t
    M cpan/Math-BigInt/t/bnstr-mbi.t
    A cpan/Math-BigInt/t/bpi-mbf.t
    A cpan/Math-BigInt/t/bpi-mbi.t
    M cpan/Math-BigInt/t/bsstr-mbf.t
    M cpan/Math-BigInt/t/bsstr-mbi.t
    M cpan/Math-BigInt/t/buparrow-mbi.t
    M cpan/Math-BigInt/t/calling-class-methods.t
    A cpan/Math-BigInt/t/calling-constant.t
    M cpan/Math-BigInt/t/calling-instance-methods.t
    A cpan/Math-BigInt/t/calling-lib1.t
    A cpan/Math-BigInt/t/calling-lib2.t
    R cpan/Math-BigInt/t/calling.t
    M cpan/Math-BigInt/t/config.t
    A cpan/Math-BigInt/t/const-mbf.t
    A cpan/Math-BigInt/t/const-mbi.t
    R cpan/Math-BigInt/t/const_mbf.t
    R cpan/Math-BigInt/t/constant.t
    M cpan/Math-BigInt/t/downgrade.t
    M cpan/Math-BigInt/t/dparts-mbf.t
    M cpan/Math-BigInt/t/dparts-mbi.t
    M cpan/Math-BigInt/t/eparts-mbf.t
    M cpan/Math-BigInt/t/eparts-mbi.t
    M cpan/Math-BigInt/t/from_base-mbi.t
    M cpan/Math-BigInt/t/from_base_num-mbi.t
    M cpan/Math-BigInt/t/from_bin-mbf.t
    M cpan/Math-BigInt/t/from_bin-mbi.t
    M cpan/Math-BigInt/t/from_hex-mbf.t
    M cpan/Math-BigInt/t/from_hex-mbi.t
    M cpan/Math-BigInt/t/from_ieee754-mbf.t
    M cpan/Math-BigInt/t/from_oct-mbf.t
    M cpan/Math-BigInt/t/from_oct-mbi.t
    M cpan/Math-BigInt/t/inf_nan.t
    M cpan/Math-BigInt/t/isa.t
    A cpan/Math-BigInt/t/lib_load-mbf-mbi.t
    A cpan/Math-BigInt/t/lib_load-mbi-mbf.t
    R cpan/Math-BigInt/t/lib_load.t
    M cpan/Math-BigInt/t/mbf_ali.t
    M cpan/Math-BigInt/t/mbi_ali.t
    M cpan/Math-BigInt/t/mbi_rand.t
    M cpan/Math-BigInt/t/mbimbf.t
    M cpan/Math-BigInt/t/nan_cmp.t
    M cpan/Math-BigInt/t/new-mbf.t
    A cpan/Math-BigInt/t/new-mbi.t
    M cpan/Math-BigInt/t/new_overloaded.t
    M cpan/Math-BigInt/t/nparts-mbf.t
    M cpan/Math-BigInt/t/nparts-mbi.t
    M cpan/Math-BigInt/t/objectify_mbf.t
    M cpan/Math-BigInt/t/objectify_mbi.t
    M cpan/Math-BigInt/t/req_mbf0.t
    M cpan/Math-BigInt/t/req_mbf1.t
    M cpan/Math-BigInt/t/req_mbfa.t
    M cpan/Math-BigInt/t/req_mbfi.t
    M cpan/Math-BigInt/t/req_mbfn.t
    M cpan/Math-BigInt/t/req_mbfw.t
    M cpan/Math-BigInt/t/require.t
    M cpan/Math-BigInt/t/round.t
    M cpan/Math-BigInt/t/rt-16221.t
    M cpan/Math-BigInt/t/sparts-mbf.t
    M cpan/Math-BigInt/t/sparts-mbi.t
    M cpan/Math-BigInt/t/sub_ali.t
    M cpan/Math-BigInt/t/sub_mbf.t
    M cpan/Math-BigInt/t/sub_mbi.t
    M cpan/Math-BigInt/t/sub_mif.t
    M cpan/Math-BigInt/t/to_base-mbi.t
    M cpan/Math-BigInt/t/to_base_num-mbi.t
    M cpan/Math-BigInt/t/to_ieee754-mbf.t
    M cpan/Math-BigInt/t/trap.t
    M cpan/Math-BigInt/t/
    M cpan/Math-BigInt/t/upgrade.t
    M cpan/Math-BigInt/t/upgrade2.t
    M cpan/Math-BigInt/t/upgradef.t
    M cpan/Math-BigInt/t/use.t
    M cpan/Math-BigInt/t/use_lib1.t
    M cpan/Math-BigInt/t/use_lib2.t
    M cpan/Math-BigInt/t/use_lib3.t
    M cpan/Math-BigInt/t/use_lib4.t
    M cpan/Math-BigInt/t/use_lib5.t
    M cpan/Math-BigInt/t/use_lib6.t
    M cpan/Math-BigInt/t/use_mbfw.t
    M cpan/Math-BigInt/t/with_sub.t
    M cpan/Math-BigRat/lib/Math/
    A cpan/Math-BigRat/t/badd-mbr.t
    M cpan/Math-BigRat/t/big_ap.t
    M cpan/Math-BigRat/t/bigfltrt.t
    M cpan/Math-BigRat/t/bigrat.t
    M cpan/Math-BigRat/t/
    M cpan/Math-BigRat/t/bigratpm.t
    M cpan/Math-BigRat/t/bigratup.t
    A cpan/Math-BigRat/t/binv-mbr.t
    M cpan/Math-BigRat/t/bitwise.t
    M cpan/Math-BigRat/t/bnok-mbr.t
    A cpan/Math-BigRat/t/const-mbr.t
    A cpan/Math-BigRat/t/dparts-mbr.t
    M cpan/Math-BigRat/t/hang.t
    M cpan/Math-BigRat/t/new-mbr.t
    M cpan/Math-BigRat/t/requirer.t
    M cpan/Math-BigRat/t/rt121139.t
    M cpan/Math-BigRat/t/trap.t
    A cpan/bignum/gentest/
    A cpan/bignum/gentest/
    M cpan/bignum/lib/Math/BigFloat/
    M cpan/bignum/lib/Math/BigInt/
    A cpan/bignum/lib/Math/BigRat/
    M cpan/bignum/lib/
    M cpan/bignum/lib/
    M cpan/bignum/lib/
    R cpan/bignum/t/big_e_pi.t
    M cpan/bignum/t/bigexp.t
    M cpan/bignum/t/bigint.t
    M cpan/bignum/t/bignum.t
    M cpan/bignum/t/bigrat.t
    R cpan/bignum/t/bii_e_pi.t
    R cpan/bignum/t/biinfnan.t
    R cpan/bignum/t/bir_e_pi.t
    R cpan/bignum/t/bn_lite.t
    R cpan/bignum/t/bninfnan.t
    R cpan/bignum/t/br_lite.t
    R cpan/bignum/t/brinfnan.t
    A cpan/bignum/t/const-bigint.t
    A cpan/bignum/t/const-bignum.t
    A cpan/bignum/t/const-bigrat.t
    A cpan/bignum/t/e_pi-bigint.t
    A cpan/bignum/t/e_pi-bignum.t
    A cpan/bignum/t/e_pi-bigrat.t
    A cpan/bignum/t/import-bigint.t
    A cpan/bignum/t/import-bignum.t
    A cpan/bignum/t/import-bigrat.t
    M cpan/bignum/t/in_effect.t
    A cpan/bignum/t/infnan-bigint.t
    A cpan/bignum/t/infnan-bignum.t
    A cpan/bignum/t/infnan-bigrat.t
    R cpan/bignum/t/
    M cpan/bignum/t/option_a.t
    M cpan/bignum/t/option_l.t
    M cpan/bignum/t/option_p.t
    M cpan/bignum/t/overrides.t
    M cpan/bignum/t/ratopt_a.t
    A cpan/bignum/t/scope-bigint.t
    A cpan/bignum/t/scope-bignum.t
    A cpan/bignum/t/scope-bigrat.t
    A cpan/bignum/t/scope-nested-const.t
    A cpan/bignum/t/scope-nested-hex-oct.t
    R cpan/bignum/t/scope_f.t
    R cpan/bignum/t/scope_i.t
    R cpan/bignum/t/scope_r.t

  Log Message:
  Update bignum, Math::BigInt, Math::BigInt::FastCalc, and Math::BigRat


0.63 2021-10-08

 * This version instroduces no changes to the Perl modules, only the

 * Remove tests that don't work on old Perls and that were actually
   Math::Big(Int|Float|Rat) more than big(int|num|rat).

 * Skip tests that don't work on older versions of Perl.

 * Remove Perl v5.10.0 as dependency. This distribution is compatible
   Perls    back to at least v5.6.1, although some functionality
   (e.g., nesting the pragmas) requires more recent versions of Perl.

0.62 2021-10-03

 * Add support for multiple options in import(), so that one can use,

    use bignum accuracy => 20, lib => "GMP";

 * Make sure the bigrat pragma always returns Math::BigRat objects.

 * Make the "trace" option work as indended, or at least according to
what I
   believe is the intention.

 * Improve documentation. Fix typos, improve wording, add more examples

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

0.60 2021-09-28

 * Separate the bigint, bignum, and bigrat pragmas.

   - The bigint pragma now converts every numeric constant that
represents an
     integer to a Math::BigInt object. Non-integers are converted to
     Math::BigInt NaNs. With the previous behaviour, only some numeric
     constant integers were converted to a Math::BigInt.

   - The bignum pragma now converts every numeric constant to a

   - The bigrat pragma now converts every numeric constant to a

   The pragmas no longer activate upgrading and downgrading. The
upgrading and
   downgrading must now be activated explicitly. The rationale behind
   deactivating it by default is that can cause infinite looping where
   bounce back and forth between different classes. Explicitly
requesting a
   specific class doesn't always work either, because the object might
   automatically upgraded or downgraded to a different class.

   Only one pragma can be used at a time in a given scope. Enabling one
   disables the others in the same scope.

 * Implementat working version of "no bigint", "no bignum", and "no
   Previously, the upgrading and downgrading activated by, e.g., "use
   was not deactivated by "no bigint".

 * Sync behaviour with the Math-BigInt distribution.


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
   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,
   or hexadecimal floating point number.

 * When numeric constants are overloaded (with the ":constant" option)
   Math::BigInt, every numeric constant that represent an integer is
   to an object regardless of how it is written. All finite non-integers
   converted to a NaN.

 * When numeric constants are overloaded (with the ":constant" option)
   Math::BigFloat, every numeric constant is converted to an object
   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
   is successfully loaded, and ignore any further attempts at loading a
   different backend library. This is a solution to the re-occurring
   of using objects using different math libraries.

 * Add missing documentation.

 * Miscellaneous minor improvements.


0.5012 2021-09-28

 * Sync test files with Math-BigInt.

0.5011 2021-09-20

 * Sync test files with Math-BigInt.

 * Add missing documentation.

 * Make the test files only print to the standard error when there is an
   actual error.

 * Miscellaneous changes and updates to author and release test files.


0.2620 2021-10-03

 * Skip tests that don't work on older Perls. Also skip tests that
   floating point numbers.

0.2619 2021-10-01

 * Correct the handling of Inf and NaN in numify().

 * Improve constant overloading. When numeric constants are overloaded
   (with the ":constant" option) in Math::BigRat, every numeric constant
   is converted to an object regardless of how it is written.

0.2618 2021-09-28

 * Add new method binv() for the inverse.

 * Add new method dparts(), which returns the integer part and fraction
   of a number. For example, 9/4 is split into 2 and 1/4. This method is
   equivalent to the Math::BigInt and Math::BigFloat methods with the

 * Improve blog(). Handle cases $x->blog($b) where the numerator of $x
   and/or $b is 1 as special.

 * Sync tests with Math-BigInt.

  Commit: c02b2058115e2dd2f49623e910dfa9d870d131a5
  Author: Richard Leach <>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    M lib/
    M pod/perldelta.pod
    M regen/

  Log Message:
  Merge branch 'blead' of into blead

Compare: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About