Hello community,
here is the log from the commit of package perl-Math-BigInt-GMP for
openSUSE:Factory checked in at 2015-08-27 08:56:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Math-BigInt-GMP (Old)
and /work/SRC/openSUSE:Factory/.perl-Math-BigInt-GMP.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Math-BigInt-GMP"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Math-BigInt-GMP/perl-Math-BigInt-GMP.changes
2015-04-21 10:51:24.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Math-BigInt-GMP.new/perl-Math-BigInt-GMP.changes
2015-08-27 08:56:28.000000000 +0200
@@ -1,0 +2,35 @@
+Sun Aug 23 09:00:03 UTC 2015 - [email protected]
+
+- updated to 1.40
+ see /usr/share/doc/packages/perl-Math-BigInt-GMP/CHANGES
+
+ 2015-08-18 v1.40 pjacklam
+ CHANGES
+ * Add changes for the newest release.
+ * Reorder change entries into descending chronological order.
+ lib/Devel/CheckLib.pm
+ * Update bundled Devel::CheckLib from v1.01 to v1.03.
+ Makefile.PL
+ * Update required version of Math-BigInt to 1.9994.
+ t/01load.t
+ * Improve formatting of module version information.
+ t/bigfltpm.t
+ * Use the correct backend, in this case Math::BigInt::GMP.
+ * Skip test specific for the Math::BigInt::Calc backend.
+ t/bigintpm.inc
+ * Rather than an early exit(), use skip() to skip tests.
+ t/bigintpm.t
+ * Use the correct backend, in this case Math::BigInt::GMP.
+ t/biglog.t
+ * Use the correct backend, in this case Math::BigInt::GMP. This was correct
+ in v1.21, but has been wrong since then.
+ t/bigroot.t
+ * Use the correct backend, in this case Math::BigInt::GMP. This was correct
+ up until v1.32, but has been wrong since then.
+ lib/Math/BigInt/GMP.pm
+ * Increment Math::BigInt::GMP version number to 1.40.
+
+ 2015-08-17 v1.39 pjacklam
+ * Updated test files with those from Math-BigInt-1.9997.
+
+-------------------------------------------------------------------
Old:
----
Math-BigInt-GMP-1.38.tar.gz
New:
----
Math-BigInt-GMP-1.40.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Math-BigInt-GMP.spec ++++++
--- /var/tmp/diff_new_pack.kurrZ9/_old 2015-08-27 08:56:28.000000000 +0200
+++ /var/tmp/diff_new_pack.kurrZ9/_new 2015-08-27 08:56:28.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Math-BigInt-GMP
-Version: 1.38
+Version: 1.40
Release: 0
%define cpan_name Math-BigInt-GMP
Summary: Use the GMP library for Math::BigInt routines
@@ -29,8 +29,8 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Math::BigInt) >= 1.9993
-Requires: perl(Math::BigInt) >= 1.9993
+BuildRequires: perl(Math::BigInt) >= 1.9994
+Requires: perl(Math::BigInt) >= 1.9994
%{perl_requires}
# MANUAL BEGIN
BuildRequires: gmp-devel
@@ -41,7 +41,6 @@
%prep
%setup -q -n %{cpan_name}-%{version}
-find . -type f -print0 | xargs -0 chmod 644
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
++++++ Math-BigInt-GMP-1.38.tar.gz -> Math-BigInt-GMP-1.40.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/CHANGES
new/Math-BigInt-GMP-1.40/CHANGES
--- old/Math-BigInt-GMP-1.38/CHANGES 2014-04-04 13:42:03.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/CHANGES 2015-08-18 21:05:23.000000000 +0200
@@ -1,5 +1,34 @@
Revision history for Perl extension Math::BigInt::GMP.
+2015-08-18 v1.40 pjacklam
+ CHANGES
+ * Add changes for the newest release.
+ * Reorder change entries into descending chronological order.
+ lib/Devel/CheckLib.pm
+ * Update bundled Devel::CheckLib from v1.01 to v1.03.
+ Makefile.PL
+ * Update required version of Math-BigInt to 1.9994.
+ t/01load.t
+ * Improve formatting of module version information.
+ t/bigfltpm.t
+ * Use the correct backend, in this case Math::BigInt::GMP.
+ * Skip test specific for the Math::BigInt::Calc backend.
+ t/bigintpm.inc
+ * Rather than an early exit(), use skip() to skip tests.
+ t/bigintpm.t
+ * Use the correct backend, in this case Math::BigInt::GMP.
+ t/biglog.t
+ * Use the correct backend, in this case Math::BigInt::GMP. This was correct
+ in v1.21, but has been wrong since then.
+ t/bigroot.t
+ * Use the correct backend, in this case Math::BigInt::GMP. This was correct
+ up until v1.32, but has been wrong since then.
+ lib/Math/BigInt/GMP.pm
+ * Increment Math::BigInt::GMP version number to 1.40.
+
+2015-08-17 v1.39 pjacklam
+ * Updated test files with those from Math-BigInt-1.9997.
+
2014-04-03 v1.38 pjacklam
* Updated test files from the Math::BigInt distribution (Peter John Acklam).
* Updated POD (Peter John Acklam)
@@ -98,9 +127,10 @@
* Fix tests with Math::BigInt >= 1.90 and depend on it.
2007-07-31 v1.24 Tels 5530 tests
- * apply patch for warnings about ptr size mismatch under Cygwin (thanx Reini
Urban!)
- * make it work under 5.6.x again by defining SvUOK() (Thanx Marcus
Holland-Moritz
- and Reini Urban!)
+ * apply patch for warnings about ptr size mismatch under Cygwin (thanx
+ Reini Urban!)
+ * make it work under 5.6.x again by defining SvUOK() (Thanx Marcus
+ Holland-Moritz and Reini Urban!)
2007-07-25 v1.23 Tels 5527 tests
* require Math::BigInt 1.87
@@ -162,92 +192,72 @@
* add support for octal
* take over tests from MBI 1.78 and require it
-Older Changelog:
-
-2001-07-22 v1.00 Tels
- * First version (basically working with some quirks)
-
-2001-08-06 v1.01 Tels
-* first release
-* fixed all the bugs in v1.00
-* taken over tests from BigInt v1.40
-
-2001-09-02 v1.02 Tels
-* removed auto-export and added empty import()
-* taken over tests from BigInt v1.42
-
-2001-11-01 v1.03 Tels
-* taken over tests from BigInt v1.45
-* added _mod() for more speed for $x % $y
-
- #!/usr/bin/perl -w
- use lib 'lib';
- #use lib '../Math-BigInt-GMP-1.02/lib';
- use Math::BigInt lib => 'GMP';
- use Benchmark;
- my $digits = 1024;
- my $x = Math::BigInt->new('1' . '0' x $digits);
- my $y = Math::BigInt->new('3' . '0' x ($digits - 2) . '3');
- my $u = Math::BigInt->new('3');
- timethese ( 2000,
- {
- mod_l => sub { $z = $x % $y, },
- mod_s => sub { $z = $x % $u, },
- div_l => sub { ($z,$r) = $x->copy()->bdiv($y), },
- } );
+2005-04-11 v1.18 Tels 5186 tests
+ * _log_int() handles now plain scalars as $base parameter
+ * take over tests from MBI 1.76, require it
- On a 1 Ghz Athlon with v1.45 of BigInt in ops/s:
- v1.02 v1.03
- mod_s 1100 2350
- mod_l 1111 2325
- div_l 1260 1300
+2005-01-01 v1.17 Tels 5182 tests
+ * use XSLoader instead of DynaLoader to save a tiny amount of memory
+ * take over tests from Math::BigInt v1.74
+ * require Math::BigInt v1.74
+ * simplify sub code in XS (left-over artifact from v1.16)
+ * fix a leak in _zeros()
+ * _zeros() is now much faster for odd numbers (O(1) vs. O(N*N))
-2001-11-01 v1.04a Tels (never released)
- * _is_odd()/_is_even() use $two instead of 2: 5600 op/s instead of 4700
+2004-12-09 v1.16 Tels 5112 tests
+ * fixed a leak in _div() (Thanx Tassilo v. Parsival!)
+ * put _div() into XS, making division slightly faster for small numbers
+ * put leak.pl and leaktest into MANIFEST for later checking
-2002-01-26 v1.04 Tels
- * use $zero,$one,$two etc instead of 0,1,2 in some routines
- * tests from Math::BigInt v1.50
- * bypass Math::GMP's overload interface and use Math::GMP::gmp_foo() directly
- * added _gcd() and _fac() for more speed in bgcd() and bfac(), respectively
+2004-11-22 v1.15 Tels 5112 tests
+ * some small cleanups in the Perl code
+ * changed "class" to "Class" to avoid the reserved keyword for MS compiler
+ * do not pull unused parameter "Class" from stack - avoid compiler warnings
+ * put _sub() into XS for more speed and smaller memory footprint
+ * testsuite from MBI v1.73
-2002-02-16 v1.05 Tels
- * tests from Math::BigInt v1.51
- * replaced _core_lib() by config()->{lib}
- * added _and, _or, _xor (using Math::GMP internal methods)
- * switched _fac over to use Math::GMP gmp_fac()
- * added _sqrt() using gmp_sqrt()
- * used div_two and bdiv_two for _div()
- * tests for _div() in list context and _mod
- * added _from_hex()
+2004-02-15 v1.14 Tels 4867 tests
+ * require BigInt v1.70, use tests from it and make API compatible with it
+ * _rsft() and _lsft() modify their argument instead of making a copy,
+ meaning brsft() and blsft() got about 20% faster in BigInt
+ * added a working _zeros() method
+ * added a working _log_int() method
- The speedups in band(), bxor(), bior() and bfac() are at least factor 10 for
- small numbers and quickly raise as the numbers grow ;)
- The speedup for bmod() and bdiv() aren't that dramatic, but still worth it.
+2004-01-10 v1.13 Tels 4759 tests
+ * tests from BigInt v1.68
+ * removed DESTROY from GMP.pm and made GMP.xs destroy => DESTROY
+ * removed _num from GMP.pm and made GMP.xs __stringify => _num
+ * removed _modinv() from GMP.pm and fixed up _modinv in GMP.xs
+ * disabled the borken _log_int() from the XS code
+ * modify $x in place for _dec, _inc, _add, _mod, _mul, _fac, _and, _or,
+ _xor, _sqrt, _root and _sub (sub in non-reversed form), this removes some
+ malloc/free and makes these ops slightly faster
+ (between 10 and 33% in Math::BigInt (!), depending on input and size)
-2002-03-23 v1.06 Tels
- * testsuite from v1.55 - 3874 tests
- * fixed PREREQUISITES to Math::GMP v2.03, BigInt v1.55
- * fixed typos in CHANGES
- * added _from_bin()
+2003-12-11 v1.12 Tels 4677 tests
+ * testsuite from v1.67, especialy revamped bigintg.t
+ * fixed prereq to require BigInt v1.67
+ * added _log_int() to XS code
+ * some routines did only return the result, but not modify $x in place
-2002-07-07 v1.07 Tels
- * testsuite from BigInt v1.60 - 4054 tests
- * fixed PREREQUISITES to BigInt v1.60
+2003-07-04 v1.12b Tels 4491 tests (not released)
+ * testsuite from v1.65
+ * fixed prereq to require BigInt v1.65
-2002-12-12 v1.08 Tels 4069 tests (never released)
- * added implementation of bmodpow() using GMPs mpow_gmp()
- * release signed by key http://bloodgate.com/tels.asc id 93B84C15
+2003-01-08 v1.12a Tels 4109 tests (not released)
+ * removed unused function _mmod from XS code
+ * removed unnecc. if len == 0 check in _as_bin(), _as_hex() etc
+ * replace some RETVAL = malloc() lines with defined to make changing them
+ later much easier
-2002-12-15 v1.10a Tels Never released
- * no longer needs Math::GMP (and Carp), but uses own XS layer
- * is thus faster (saves one perl subroutine layer) and less memory hungry
- (it now uses even less memory than using Calc!)
- new XS lets us cut out a subroutine layer
- * new XS will enable us to implement *all* missing functions like _root(),
- _as_hex(), _as_bin() and _rsft(), _lsft()
- * fixed PREREQ to BigInt v1.65
- * extended tests in bigintg.t to cover more functions
+2003-01-01 v1.11 Tels 4109 tests
+ * rewrote stringify_bin() and stringify_hex() to not allocate scratch buffers
+ Faster, no longer needs malloc()/free() and strlen().
+ Thanx to Sysiphus for pointing this out.
+ * removed _as_hex() and _as_bin() from GMP.pm and moved the logic to GMP.xs
+ * documented in todo to replace all malloc()/free() with New and Safefree()
+ * removed unused cmp_two() function in GMP.xs
+ * removed the unused "$zero = ..."/"$one = ..." in GMP.pm
2002-12-24 v1.10 Tels 4109 tests
* Merry Christmas and a Happy New Year to all!
@@ -268,72 +278,90 @@
mod_s: 3s ( 3.01 usr + 0.00 sys = 3.01 CPU) @ 7088.37/s (n=21336)
* Full (memory and other) benchmarks at http://bloodgate.com/perl/bigint/
-2003-01-01 v1.11 Tels 4109 tests
- * rewrote stringify_bin() and stringify_hex() to not allocate scratch buffers
- Faster, no longer needs malloc()/free() and strlen().
- Thanx to Sysiphus for pointing this out.
- * removed _as_hex() and _as_bin() from GMP.pm and moved the logic to GMP.xs
- * documented in todo to replace all malloc()/free() with New and Safefree()
- * removed unused cmp_two() function in GMP.xs
- * removed the unused "$zero = ..."/"$one = ..." in GMP.pm
+2002-12-15 v1.10a Tels Never released
+ * no longer needs Math::GMP (and Carp), but uses own XS layer
+ * is thus faster (saves one perl subroutine layer) and less memory hungry
+ (it now uses even less memory than using Calc!)
+ new XS lets us cut out a subroutine layer
+ * new XS will enable us to implement *all* missing functions like _root(),
+ _as_hex(), _as_bin() and _rsft(), _lsft()
+ * fixed PREREQ to BigInt v1.65
+ * extended tests in bigintg.t to cover more functions
-2003-01-08 v1.12a Tels 4109 tests (not released)
- * removed unused function _mmod from XS code
- * removed unnecc. if len == 0 check in _as_bin(), _as_hex() etc
- * replace some RETVAL = malloc() lines with defined to make changing them
- later much easier
+2002-12-12 v1.08 Tels 4069 tests (never released)
+ * added implementation of bmodpow() using GMPs mpow_gmp()
+ * release signed by key http://bloodgate.com/tels.asc id 93B84C15
-2003-07-04 v1.12b Tels 4491 tests (not released)
- * testsuite from v1.65
- * fixed prereq to require BigInt v1.65
+2002-07-07 v1.07 Tels
+ * testsuite from BigInt v1.60 - 4054 tests
+ * fixed PREREQUISITES to BigInt v1.60
-2003-12-11 v1.12 Tels 4677 tests
- * testsuite from v1.67, especialy revamped bigintg.t
- * fixed prereq to require BigInt v1.67
- * added _log_int() to XS code
- * some routines did only return the result, but not modify $x in place
+2002-03-23 v1.06 Tels
+ * testsuite from v1.55 - 3874 tests
+ * fixed PREREQUISITES to Math::GMP v2.03, BigInt v1.55
+ * fixed typos in CHANGES
+ * added _from_bin()
-2004-01-10 v1.13 Tels 4759 tests
- * tests from BigInt v1.68
- * removed DESTROY from GMP.pm and made GMP.xs destroy => DESTROY
- * removed _num from GMP.pm and made GMP.xs __stringify => _num
- * removed _modinv() from GMP.pm and fixed up _modinv in GMP.xs
- * disabled the borken _log_int() from the XS code
- * modify $x in place for _dec, _inc, _add, _mod, _mul, _fac, _and, _or,
- _xor, _sqrt, _root and _sub (sub in non-reversed form), this removes some
- malloc/free and makes these ops slightly faster
- (between 10 and 33% in Math::BigInt (!), depending on input and size)
+2002-02-16 v1.05 Tels
+ * tests from Math::BigInt v1.51
+ * replaced _core_lib() by config()->{lib}
+ * added _and, _or, _xor (using Math::GMP internal methods)
+ * switched _fac over to use Math::GMP gmp_fac()
+ * added _sqrt() using gmp_sqrt()
+ * used div_two and bdiv_two for _div()
+ * tests for _div() in list context and _mod
+ * added _from_hex()
-2004-02-15 v1.14 Tels 4867 tests
- * require BigInt v1.70, use tests from it and make API compatible with it
- * _rsft() and _lsft() modify their argument instead of making a copy,
- meaning brsft() and blsft() got about 20% faster in BigInt
- * added a working _zeros() method
- * added a working _log_int() method
+ The speedups in band(), bxor(), bior() and bfac() are at least factor 10 for
+ small numbers and quickly raise as the numbers grow ;)
+ The speedup for bmod() and bdiv() aren't that dramatic, but still worth it.
-2004-11-22 v1.15 Tels 5112 tests
- * some small cleanups in the Perl code
- * changed "class" to "Class" to avoid the reserved keyword for MS compiler
- * do not pull unused parameter "Class" from stack - avoid compiler warnings
- * put _sub() into XS for more speed and smaller memory footprint
- * testsuite from MBI v1.73
+2002-01-26 v1.04 Tels
+ * use $zero,$one,$two etc instead of 0,1,2 in some routines
+ * tests from Math::BigInt v1.50
+ * bypass Math::GMP's overload interface and use Math::GMP::gmp_foo() directly
+ * added _gcd() and _fac() for more speed in bgcd() and bfac(), respectively
-2004-12-09 v1.16 Tels 5112 tests
- * fixed a leak in _div() (Thanx Tassilo v. Parsival!)
- * put _div() into XS, making division slightly faster for small numbers
- * put leak.pl and leaktest into MANIFEST for later checking
+2001-11-01 v1.04a Tels (never released)
+ * _is_odd()/_is_even() use $two instead of 2: 5600 op/s instead of 4700
-2005-01-01 v1.17 Tels 5182 tests
- * use XSLoader instead of DynaLoader to save a tiny amount of memory
- * take over tests from Math::BigInt v1.74
- * require Math::BigInt v1.74
- * simplify sub code in XS (left-over artifact from v1.16)
- * fix a leak in _zeros()
- * _zeros() is now much faster for odd numbers (O(1) vs. O(N*N))
+2001-11-01 v1.03 Tels
+* taken over tests from BigInt v1.45
+* added _mod() for more speed for $x % $y
-2005-04-11 v1.18 Tels 5186 tests
- * _log_int() handles now plain scalars as $base parameter
- * take over tests from MBI 1.76, require it
+ #!/usr/bin/perl -w
+ use lib 'lib';
+ #use lib '../Math-BigInt-GMP-1.02/lib';
+ use Math::BigInt lib => 'GMP';
+ use Benchmark;
+ my $digits = 1024;
+ my $x = Math::BigInt->new('1' . '0' x $digits);
+ my $y = Math::BigInt->new('3' . '0' x ($digits - 2) . '3');
+ my $u = Math::BigInt->new('3');
+ timethese ( 2000,
+ {
+ mod_l => sub { $z = $x % $y, },
+ mod_s => sub { $z = $x % $u, },
+ div_l => sub { ($z,$r) = $x->copy()->bdiv($y), },
+ } );
+
+ On a 1 Ghz Athlon with v1.45 of BigInt in ops/s:
+ v1.02 v1.03
+ mod_s 1100 2350
+ mod_l 1111 2325
+ div_l 1260 1300
+
+2001-09-02 v1.02 Tels
+* removed auto-export and added empty import()
+* taken over tests from BigInt v1.42
+
+2001-08-06 v1.01 Tels
+* first release
+* fixed all the bugs in v1.00
+* taken over tests from BigInt v1.40
+
+2001-07-22 v1.00 Tels
+ * First version (basically working with some quirks)
Please send me test-reports, your experiences with this and your ideas - I love
to hear about my work!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/META.json
new/Math-BigInt-GMP-1.40/META.json
--- old/Math-BigInt-GMP-1.38/META.json 2014-04-04 13:42:21.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/META.json 2015-08-18 21:08:02.000000000 +0200
@@ -4,7 +4,7 @@
"Tels"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.94, CPAN::Meta::Converter
version 2.140640",
+ "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter
version 2.150005",
"license" : [
"perl_5"
],
@@ -32,11 +32,12 @@
},
"runtime" : {
"requires" : {
- "Math::BigInt" : "1.9993",
+ "Math::BigInt" : "1.9994",
"XSLoader" : "0.02"
}
}
},
"release_status" : "stable",
- "version" : "1.38"
+ "version" : "1.40",
+ "x_serialization_backend" : "JSON::PP version 2.27300"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/META.yml
new/Math-BigInt-GMP-1.40/META.yml
--- old/Math-BigInt-GMP-1.38/META.yml 2014-04-04 13:42:19.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/META.yml 2015-08-18 21:07:57.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.94, CPAN::Meta::Converter version
2.140640'
+generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter
version 2.150005'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -18,6 +18,7 @@
- t
- inc
requires:
- Math::BigInt: '1.9993'
+ Math::BigInt: '1.9994'
XSLoader: '0.02'
-version: '1.38'
+version: '1.40'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.016'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/Makefile.PL
new/Math-BigInt-GMP-1.40/Makefile.PL
--- old/Math-BigInt-GMP-1.38/Makefile.PL 2014-04-04 08:57:54.000000000
+0200
+++ new/Math-BigInt-GMP-1.40/Makefile.PL 2015-08-18 15:43:27.000000000
+0200
@@ -25,7 +25,7 @@
'INSTALLDIRS' => 'site',
'ABSTRACT_FROM' => 'lib/Math/BigInt/GMP.pm',
'PREREQ_PM' => {
- Math::BigInt => 1.9993,
+ Math::BigInt => 1.9994,
XSLoader => 0.02,
},
'LIBS' => ['-lgmp'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/SIGNATURE
new/Math-BigInt-GMP-1.40/SIGNATURE
--- old/Math-BigInt-GMP-1.38/SIGNATURE 2014-04-04 13:42:24.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/SIGNATURE 2015-08-18 21:08:08.000000000 +0200
@@ -1,5 +1,5 @@
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.73.
+signed via the Module::Signature module, version 0.79.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
@@ -15,45 +15,45 @@
Hash: SHA1
SHA1 70d6187d0152848c922dc4360fa6dd3a3dc35c62 BUGS
-SHA1 a3590f9b33b207ebfe55ea375ac754438f5a128b CHANGES
+SHA1 0546ff7d1353b10b9a52ce9a4cc72ca90adcf926 CHANGES
SHA1 dda5ca4f413031e9efcaa1600461d5e2adaa3a40 CREDITS
SHA1 d7497d6d105042817c1734585be04ad2ebec4db2 GMP.xs
SHA1 d6b7be7fb558f2df93e6bc55148bba35cae22ce4 INSTALL
SHA1 d6a6c30ee6d9ba6b9afab8bbf6a25e1b23c744e0 LICENSE
SHA1 f1f5d7799d2a10004d9fde9e929edaca038b8c6b MANIFEST
SHA1 411ab4f05c252f85f12f12e087bae0adc5ba0aad MANIFEST.SKIP
-SHA1 487a110705adf77f7c5b84075fe73308bdcc433c META.json
-SHA1 0e776863fc72946e4be67987a3b7b941165a5a8c META.yml
-SHA1 ab794c91e16a3cf176bf8c2f3f89b083a4035ae2 Makefile.PL
+SHA1 633a0975071bffeae0e39d9b3f242cfae2791cbb META.json
+SHA1 375fcfa4c2df779dbbdb0d953beac9e0932052c2 META.yml
+SHA1 8818cea376d5916ad3423919c5e711ba3431a43e Makefile.PL
SHA1 ddef2225fa80a87f3138f23cb7fdbc8468c1f58f README
SHA1 6c7207c83d636868d3d1f1fc42f3f9e5897cbe85 TODO
SHA1 fd48d0d8750eb949e485d8136b5b424fe73e9775 build/README
SHA1 7bcc4113830721ad6e37a1ea79df94a6987c836d build/leak.pl
SHA1 ac25bda8a6eb9058a9e42a8943c3e11b9fed88dc build/leaktest
-SHA1 58711d6c7095097a2b79697eb29cc361aa12da72 inc/Devel/CheckLib.pm
-SHA1 57afa5ea67d4bb8bf6932ad78a64b83216552cb5 lib/Math/BigInt/GMP.pm
+SHA1 3fd5ca410a064b30c363b1751dd4f94b79d0b0e0 inc/Devel/CheckLib.pm
+SHA1 986e83d55ca58b94375d7029088df7fec16d563c lib/Math/BigInt/GMP.pm
SHA1 6e9557e746e881ab1568cdcec17ff3c4f1508502 t/00sig.t
-SHA1 2b034eaa838015c62ed42cfc23cbc3814ce0a04f t/01load.t
+SHA1 e4418e85f68d3f8a354f0c40ba44c82c82dcf98e t/01load.t
SHA1 02ef05af53cb7378452590324bb21dfe61f44069 t/02pod.t
SHA1 c2891d57a7da799a196ae8b276da940cb3eccead t/03podcov.t
-SHA1 e6bb2aea2f026016848db9ca96507c4ca4e3d265 t/bigfltpm.inc
-SHA1 9537400817c028f2282e3c085796ecbded0ccb66 t/bigfltpm.t
+SHA1 27da8d84b12593dbc8350efa6b43339a05d344ef t/bigfltpm.inc
+SHA1 8afee878703419bb8223e2db959d8a226279125b t/bigfltpm.t
SHA1 26c3ca060f6b7474ad8b2db3c1bae2b98e13adfd t/bigintg.t
-SHA1 d5d419d73cc52371ba3487895fd49f793ffe4d0c t/bigintpm.inc
-SHA1 73ac3701a1116b1831c871153c836f618a60f4d7 t/bigintpm.t
-SHA1 5bdf82ef7085b97caa496bfc71ab1fbfe48ef9e8 t/biglog.t
-SHA1 da260b6e02b220868fc7b4c0f87569299402fbf7 t/bigroot.t
+SHA1 c3c9982e2fcd9a6daa3921d5ee93dbe1b1096c91 t/bigintpm.inc
+SHA1 53ec94ec137b745413dc5f21cb5fa4c43a0c9339 t/bigintpm.t
+SHA1 6a32bb3e0cf8e2d5c862d9749ffa12b7827a233f t/biglog.t
+SHA1 95ccd077cf518e86c329ac5122c2bc8f487e9d2a t/bigroot.t
SHA1 f1bcab94173a57861fcc40ac90eb72f64aafea7f t/storable.t
SHA1 e489ec79ce64d0d943e291a3eaa654298e6e49ab t/threads.t
SHA1 20cf43acc1a728d0ee8245b106937a2a97900266 typemap
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAEBAgAGBQJTPpqeAAoJEGcmPl2fr166OTAIAL9qXmVxJmPQeR5C4zUxAakN
-SNsMlXOJv5jIPLiG9SSMmIYbBWqRn/3iFUY6twrcffdEM1BCsJXPSj2kSOO7Pl+M
-DCOwjtLYIXtltH8Fcutu5j12Z6uL91OoqtGNYk2DFsQhszbyNeRvRBvEclhGQZKH
-d/Ji9c3E1MIrzKHDlASq7h+EsJEdL2a3qPQBTX17f4RkzAXqDGHUt1c0mal05DOm
-xnY+6qBVjotsd3xODBNHeKhLYicWiv6jCFkoEa0HeNveJDMfT3BRMyx2ZUG0+1lV
-1WpF765y7NVZ4Kv0tC20+rlCN0CmN+ICgePD02/x5Y6fqytsMpZGqg2sLEJdnek=
-=nraw
+iQEcBAEBAgAGBQJV04KVAAoJEGcmPl2fr166TTgIAMMYbOVV6YoR6uBmmVk/eqYi
+NWuRu5GdYHn5CG9T3KTlRuaBs5rdZ+HtMNzNiN8cpdtofnoGDyy+3dudjqzbRcZC
+IRDgfKu1+5LjsZvaMBnxvLI1hEUlk2TMVJ47i5Zgl0Q1Oaq4FQK/rwo9glClgEty
+LuU4ghaKAG6lMJ1Pv67gLiVgfGZtabQPaeuRsWqUN0HXBv3iOV+Yn1yCp3d0tAVg
+oAnfZcgdTPgYmkY6K7mV9CDlveQRCJR4uYmCsASguKPHOycJzVqflIvkB30BG0zF
+GvqN66sRXau9ra23h+P52TAZWooXMt8wzttKSjp6ygCRjSs7FuL9o1RPis8iJaQ=
+=Zogv
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/inc/Devel/CheckLib.pm
new/Math-BigInt-GMP-1.40/inc/Devel/CheckLib.pm
--- old/Math-BigInt-GMP-1.38/inc/Devel/CheckLib.pm 2013-07-26
11:54:27.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/inc/Devel/CheckLib.pm 2015-01-04
03:08:55.000000000 +0100
@@ -5,7 +5,7 @@
use 5.00405; #postfix foreach
use strict;
use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.01';
+$VERSION = '1.03';
use Config qw(%Config);
use Text::ParseWords 'quotewords';
@@ -109,7 +109,7 @@
=item LIBS
-a C<ExtUtils::MakeMaker>-style space-seperated list of
+a C<ExtUtils::MakeMaker>-style space-separated list of
libraries (each preceded by '-l') and directories (preceded by '-L').
This can also be supplied on the command-line.
@@ -137,7 +137,7 @@
=item INC
-a C<ExtUtils::MakeMaker>-style space-seperated list of
+a C<ExtUtils::MakeMaker>-style space-separated list of
incpaths, each preceded by '-I'.
This can also be supplied on the command-line.
@@ -365,7 +365,7 @@
# Need to use $keep=1 to work with MSWin32 backslashes and quotes
my $Config_ccflags = $Config{ccflags}; # use copy so ASPerl will compile
my @Config_ldflags = ();
- for my $config_val ( @Config{qw(ldflags perllibs)} ){
+ for my $config_val ( @Config{qw(ldflags)} ){
push @Config_ldflags, $config_val if ( $config_val =~ /\S/ );
}
my @ccflags = grep { length } quotewords('\s+', 1, $Config_ccflags||'');
@@ -374,7 +374,11 @@
my @cc = split(/\s+/, $Config{cc});
return ( [ @cc, @ccflags ], \@ldflags ) if -x $cc[0];
foreach my $path (@paths) {
- my $compiler = File::Spec->catfile($path, $cc[0]) . $Config{_exe};
+ my $compiler = File::Spec->catfile($path, $cc[0]) . ($^O eq 'cygwin' ?
'' : $Config{_exe});
+ return ([ $compiler, @cc[1 .. $#cc], @ccflags ], \@ldflags)
+ if -x $compiler;
+ next if ! length $Config{_exe};
+ $compiler = File::Spec->catfile($path, $cc[0]);
return ([ $compiler, @cc[1 .. $#cc], @ccflags ], \@ldflags)
if -x $compiler;
}
@@ -417,7 +421,7 @@
You must have a C compiler installed. We check for C<$Config{cc}>,
both literally as it is in Config.pm and also in the $PATH.
-It has been tested with varying degrees on rigourousness on:
+It has been tested with varying degrees of rigorousness on:
=over
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/lib/Math/BigInt/GMP.pm
new/Math-BigInt-GMP-1.40/lib/Math/BigInt/GMP.pm
--- old/Math-BigInt-GMP-1.38/lib/Math/BigInt/GMP.pm 2014-04-04
13:13:57.000000000 +0200
+++ new/Math-BigInt-GMP-1.40/lib/Math/BigInt/GMP.pm 2015-08-18
21:05:15.000000000 +0200
@@ -9,7 +9,7 @@
use vars qw/$VERSION/;
-$VERSION = '1.38';
+$VERSION = '1.40';
use XSLoader;
XSLoader::load "Math::BigInt::GMP", $VERSION;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/01load.t
new/Math-BigInt-GMP-1.40/t/01load.t
--- old/Math-BigInt-GMP-1.38/t/01load.t 2014-03-27 13:09:35.000000000 +0100
+++ new/Math-BigInt-GMP-1.40/t/01load.t 2015-08-18 15:42:08.000000000 +0200
@@ -9,6 +9,15 @@
use_ok('Math::BigInt'); # Math::BigInt is required for the tests
};
-diag("Testing Math::BigInt::GMP $Math::BigInt::GMP::VERSION");
-diag("==> Perl $], $^X");
-diag("==> Math::BigInt $Math::BigInt::VERSION");
+my @mods = ('Math::BigInt::GMP',
+ 'Math::BigInt');
+
+diag("");
+diag("Testing with Perl $], $^X");
+diag("");
+diag(sprintf("%12s %s\n", 'Version', 'Module'));
+diag(sprintf("%12s %s\n", '-------', '------'));
+for my $mod (@mods) {
+ diag(sprintf("%12s %s\n", $mod -> VERSION, $mod));
+}
+diag("");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/bigfltpm.inc
new/Math-BigInt-GMP-1.40/t/bigfltpm.inc
--- old/Math-BigInt-GMP-1.38/t/bigfltpm.inc 2014-03-16 11:36:54.000000000
+0100
+++ new/Math-BigInt-GMP-1.40/t/bigfltpm.inc 2015-08-17 21:13:17.000000000
+0200
@@ -1406,8 +1406,8 @@
&fdiv-list
0:0:NaN,NaN
0:1:0,0
-9:4:2.25,1
-9:5:1.8,4
+9:4:2,1
+9:5:1,4
# bug in v1.74 with bdiv in list context, when $y is 1 or -1
2.1:-1:-2.1,0
2.1:1:2.1,0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/bigfltpm.t
new/Math-BigInt-GMP-1.40/t/bigfltpm.t
--- old/Math-BigInt-GMP-1.38/t/bigfltpm.t 2014-03-16 11:36:54.000000000
+0100
+++ new/Math-BigInt-GMP-1.40/t/bigfltpm.t 2015-08-18 19:56:24.000000000
+0200
@@ -5,12 +5,12 @@
+ 5; # own tests
-use Math::BigInt lib => 'Calc';
+use Math::BigInt lib => 'GMP';
use Math::BigFloat;
use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
$class = "Math::BigFloat";
-$CL = "Math::BigInt::Calc";
+$CL = "Math::BigInt::GMP";
is ($class->config()->{class},$class);
is ($class->config()->{with}, $CL);
@@ -24,6 +24,11 @@
my $e = $c->bdiv(Math::BigFloat->new(3),$d);
is ($e,'0.00267'); # '0.008 / 3 => 0.0027');
-is (ref($e->{_e}->[0]), ''); # 'Not a BigInt');
+
+SKIP: {
+ skip("skipping test which is not for this backend", 1)
+ unless $CL eq 'Math::BigInt::Calc';
+ is (ref($e->{_e}->[0]), ''); # 'Not a BigInt');
+}
require 't/bigfltpm.inc'; # all tests here for sharing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/bigintpm.inc
new/Math-BigInt-GMP-1.40/t/bigintpm.inc
--- old/Math-BigInt-GMP-1.38/t/bigintpm.inc 2014-03-16 11:36:54.000000000
+0100
+++ new/Math-BigInt-GMP-1.40/t/bigintpm.inc 2015-08-18 19:41:05.000000000
+0200
@@ -549,140 +549,144 @@
# the following tests only make sense with Math::BigInt::Calc or BareCalc or
# FastCalc
-exit if $CALC !~ /^Math::BigInt::(|Bare|Fast)Calc$/; # for Pari et al.
+SKIP: {
+ # skip GMP, Pari et al.
+ skip("skipping tests not intended for the backend $CALC", 50)
+ unless $CALC =~ /^Math::BigInt::(Bare|Fast)?Calc$/;
-###############################################################################
-# check proper length of internal arrays
-
-my $bl = $CL->_base_len();
-my $BASE = '9' x $bl;
-my $MAX = $BASE;
-$BASE++;
-
-$x = $class->new($MAX); is_valid($x); # f.i. 9999
-$x += 1; is ($x,$BASE); is_valid($x); # 10000
-$x -= 1; is ($x,$MAX); is_valid($x); # 9999 again
-
-###############################################################################
-# check numify
-
-$x = $class->new($BASE-1); is ($x->numify(),$BASE-1);
-$x = $class->new(-($BASE-1)); is ($x->numify(),-($BASE-1));
+ ###########################################################################
+ # check proper length of internal arrays
-# +0 is to protect from 1e15 vs 100000000 (stupid to_string aaaarglburblll...)
-$x = $class->new($BASE); is ($x->numify()+0,$BASE+0);
-$x = $class->new(-$BASE); is ($x->numify(),-$BASE);
-$x = $class->new( -($BASE*$BASE*1+$BASE*1+1) );
-is ($x->numify(),-($BASE*$BASE*1+$BASE*1+1));
+ my $bl = $CL->_base_len();
+ my $BASE = '9' x $bl;
+ my $MAX = $BASE;
+ $BASE++;
-###############################################################################
-# test bug in _digits with length($c[-1]) where $c[-1] was "00001" instead of 1
-
-$x = $class->new($BASE-2); $x++; $x++; $x++; $x++;
-if ($x > $BASE) { is (1,1) } else { is ("$x < $BASE","$x > $BASE"); }
+ $x = $class->new($MAX); is_valid($x); # f.i. 9999
+ $x += 1; is ($x,$BASE); is_valid($x); # 10000
+ $x -= 1; is ($x,$MAX); is_valid($x); # 9999 again
-$x = $class->new($BASE+3); $x++;
-if ($x > $BASE) { is (1,1) } else { is ("$x > $BASE","$x < $BASE"); }
+ ###########################################################################
+ # check numify
-# test for +0 instead of int():
-$x = $class->new($MAX); is ($x->length(), length($MAX));
+ $x = $class->new($BASE-1); is ($x->numify(),$BASE-1);
+ $x = $class->new(-($BASE-1)); is ($x->numify(),-($BASE-1));
-###############################################################################
-# test bug that $class->digit($string) did not work
+ # +0 is to protect from 1e15 vs 100000000 (stupid to_string
aaaarglburblll...)
+ $x = $class->new($BASE); is ($x->numify()+0,$BASE+0);
+ $x = $class->new(-$BASE); is ($x->numify(),-$BASE);
+ $x = $class->new( -($BASE*$BASE*1+$BASE*1+1) );
+ is ($x->numify(),-($BASE*$BASE*1+$BASE*1+1));
-is ($class->digit(123,2),1);
-
-###############################################################################
-# bug in sub where number with at least 6 trailing zeros after any op failed
+ ###########################################################################
+ # test bug in _digits with length($c[-1]) where $c[-1] was "00001" instead
of 1
-$x = $class->new(123456); $z = $class->new(10000); $z *= 10; $x -= $z;
-is ($z, 100000);
-is ($x, 23456);
+ $x = $class->new($BASE-2); $x++; $x++; $x++; $x++;
+ if ($x > $BASE) { is (1,1) } else { is ("$x < $BASE","$x > $BASE"); }
-###############################################################################
-# bug in shortcut in mul()
+ $x = $class->new($BASE+3); $x++;
+ if ($x > $BASE) { is (1,1) } else { is ("$x > $BASE","$x < $BASE"); }
-# construct a number with a zero-hole of BASE_LEN_SMALL
-{
- my @bl = $CL->_base_len(); my $bl = $bl[5];
-
- $x = '1' x $bl . '0' x $bl . '1' x $bl . '0' x $bl;
- $y = '1' x (2*$bl);
- $x = $class->new($x)->bmul($y);
- # result is 123..$bl . $bl x (3*bl-1) . $bl...321 . '0' x $bl
- $y = ''; my $d = '';
- for (my $i = 1; $i <= $bl; $i++)
- {
- $y .= $i; $d = $i.$d;
- }
- $y .= $bl x (3*$bl-1) . $d . '0' x $bl;
- is ($x,$y);
-
-
- #############################################################################
- # see if mul shortcut for small numbers works
-
- $x = '9' x $bl;
- $x = $class->new($x);
- # 999 * 999 => 998 . 001, 9999*9999 => 9998 . 0001
- is ($x*$x, '9' x ($bl-1) . '8' . '0' x ($bl-1) . '1');
-}
+ # test for +0 instead of int():
+ $x = $class->new($MAX); is ($x->length(), length($MAX));
-###############################################################################
-# bug with rest "-0" in div, causing further div()s to fail
+ ###########################################################################
+ # test bug that $class->digit($string) did not work
-$x = $class->new('-322056000'); ($x,$y) = $x->bdiv('-12882240');
+ is ($class->digit(123,2),1);
-is ($y,'0'); is_valid($y); # $y not '-0'
+ ###########################################################################
+ # bug in sub where number with at least 6 trailing zeros after any op
failed
-###############################################################################
-# bug in $x->bmod($y)
+ $x = $class->new(123456); $z = $class->new(10000); $z *= 10; $x -= $z;
+ is ($z, 100000);
+ is ($x, 23456);
-# if $x < 0 and $y > 0
-$x = $class->new('-629'); is ($x->bmod(5033),4404);
+ ###########################################################################
+ # bug in shortcut in mul()
-###############################################################################
-# bone/binf etc as plain calls (Lite failed them)
+ # construct a number with a zero-hole of BASE_LEN_SMALL
+ {
+ my @bl = $CL->_base_len(); my $bl = $bl[5];
-is ($class->bzero(),0);
-is ($class->bone(),1);
-is ($class->bone('+'),1);
-is ($class->bone('-'),-1);
-is ($class->bnan(),'NaN');
-is ($class->binf(),'inf');
-is ($class->binf('+'),'inf');
-is ($class->binf('-'),'-inf');
-is ($class->binf('-inf'),'-inf');
+ $x = '1' x $bl . '0' x $bl . '1' x $bl . '0' x $bl;
+ $y = '1' x (2*$bl);
+ $x = $class->new($x)->bmul($y);
+ # result is 123..$bl . $bl x (3*bl-1) . $bl...321 . '0' x $bl
+ $y = ''; my $d = '';
+ for (my $i = 1; $i <= $bl; $i++)
+ {
+ $y .= $i; $d = $i.$d;
+ }
+ $y .= $bl x (3*$bl-1) . $d . '0' x $bl;
+ is ($x,$y);
+
+
+ #########################################################################
+ # see if mul shortcut for small numbers works
+
+ $x = '9' x $bl;
+ $x = $class->new($x);
+ # 999 * 999 => 998 . 001, 9999*9999 => 9998 . 0001
+ is ($x*$x, '9' x ($bl-1) . '8' . '0' x ($bl-1) . '1');
+ }
-###############################################################################
-# is_one('-')
+ ###########################################################################
+ # bug with rest "-0" in div, causing further div()s to fail
-is ($class->new(1)->is_one('-'),0);
-is ($class->new(-1)->is_one('-'),1);
-is ($class->new(1)->is_one(),1);
-is ($class->new(-1)->is_one(),0);
+ $x = $class->new('-322056000'); ($x,$y) = $x->bdiv('-12882240');
-###############################################################################
-# [perl #30609] bug with $x -= $x not being 0, but 2*$x
+ is ($y,'0'); is_valid($y); # $y not '-0'
-$x = $class->new(3); $x -= $x; is ($x, 0);
-$x = $class->new(-3); $x -= $x; is ($x, 0);
-$x = $class->new('NaN'); $x -= $x; is ($x->is_nan(), 1);
-$x = $class->new('inf'); $x -= $x; is ($x->is_nan(), 1);
-$x = $class->new('-inf'); $x -= $x; is ($x->is_nan(), 1);
-
-$x = $class->new('NaN'); $x += $x; is ($x->is_nan(), 1);
-$x = $class->new('inf'); $x += $x; is ($x->is_inf(), 1);
-$x = $class->new('-inf'); $x += $x; is ($x->is_inf('-'), 1);
-$x = $class->new(3); $x += $x; is ($x, 6);
-$x = $class->new(-3); $x += $x; is ($x, -6);
-
-$x = $class->new(3); $x *= $x; is ($x, 9);
-$x = $class->new(-3); $x *= $x; is ($x, 9);
-$x = $class->new(3); $x /= $x; is ($x, 1);
-$x = $class->new(-3); $x /= $x; is ($x, 1);
-$x = $class->new(3); $x %= $x; is ($x, 0);
-$x = $class->new(-3); $x %= $x; is ($x, 0);
+ ###########################################################################
+ # bug in $x->bmod($y)
+
+ # if $x < 0 and $y > 0
+ $x = $class->new('-629'); is ($x->bmod(5033),4404);
+
+ ###########################################################################
+ # bone/binf etc as plain calls (Lite failed them)
+
+ is ($class->bzero(),0);
+ is ($class->bone(),1);
+ is ($class->bone('+'),1);
+ is ($class->bone('-'),-1);
+ is ($class->bnan(),'NaN');
+ is ($class->binf(),'inf');
+ is ($class->binf('+'),'inf');
+ is ($class->binf('-'),'-inf');
+ is ($class->binf('-inf'),'-inf');
+
+ ###########################################################################
+ # is_one('-')
+
+ is ($class->new(1)->is_one('-'),0);
+ is ($class->new(-1)->is_one('-'),1);
+ is ($class->new(1)->is_one(),1);
+ is ($class->new(-1)->is_one(),0);
+
+ ###########################################################################
+ # [perl #30609] bug with $x -= $x not being 0, but 2*$x
+
+ $x = $class->new(3); $x -= $x; is ($x, 0);
+ $x = $class->new(-3); $x -= $x; is ($x, 0);
+ $x = $class->new('NaN'); $x -= $x; is ($x->is_nan(), 1);
+ $x = $class->new('inf'); $x -= $x; is ($x->is_nan(), 1);
+ $x = $class->new('-inf'); $x -= $x; is ($x->is_nan(), 1);
+
+ $x = $class->new('NaN'); $x += $x; is ($x->is_nan(), 1);
+ $x = $class->new('inf'); $x += $x; is ($x->is_inf(), 1);
+ $x = $class->new('-inf'); $x += $x; is ($x->is_inf('-'), 1);
+ $x = $class->new(3); $x += $x; is ($x, 6);
+ $x = $class->new(-3); $x += $x; is ($x, -6);
+
+ $x = $class->new(3); $x *= $x; is ($x, 9);
+ $x = $class->new(-3); $x *= $x; is ($x, 9);
+ $x = $class->new(3); $x /= $x; is ($x, 1);
+ $x = $class->new(-3); $x /= $x; is ($x, 1);
+ $x = $class->new(3); $x %= $x; is ($x, 0);
+ $x = $class->new(-3); $x %= $x; is ($x, 0);
+}
###############################################################################
# all tests done
@@ -1135,7 +1139,7 @@
+1:+32:4294967296
+1:+48:281474976710656
+8:-2:NaN
-# excercise base 10
+# exercise base 10
+12345:4:10:123450000
-1234:0:10:-1234
+1234:0:10:1234
@@ -1153,7 +1157,7 @@
+4294967296:+32:1
+281474976710656:+48:1
+2:-2:NaN
-# excercise base 10
+# exercise base 10
-1234:0:10:-1234
+1234:0:10:1234
+200:2:10:2
@@ -1585,7 +1589,7 @@
96969696969696969696969696969678787878626262626262626262626262:484848484848484848484848486666666666666689898989898989898989:199,484848484848484848484848123012121211954972727272727272727451
# bug in v1.76
1267650600228229401496703205375:1267650600228229401496703205376:0,1267650600228229401496703205375
-# excercise shortcut for numbers of the same length in div
+# exercise shortcut for numbers of the same length in div
999999999999999999999999999999999:999999999999999999999999999999999:1,0
999999999999999999999999999999999:888888888888888888888888888888888:1,111111111111111111111111111111111
999999999999999999999999999999999:777777777777777777777777777777777:1,222222222222222222222222222222222
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/bigintpm.t
new/Math-BigInt-GMP-1.40/t/bigintpm.t
--- old/Math-BigInt-GMP-1.38/t/bigintpm.t 2014-03-16 11:36:54.000000000
+0100
+++ new/Math-BigInt-GMP-1.40/t/bigintpm.t 2015-08-18 19:14:04.000000000
+0200
@@ -3,11 +3,11 @@
use strict;
use Test::More tests => 3651 + 6;
-use Math::BigInt lib => 'Calc';
+use Math::BigInt lib => 'GMP';
use vars qw ($scale $class $try $x $y $f @args $ans $ans1 $ans1_str $setup
$CL);
$class = "Math::BigInt";
-$CL = "Math::BigInt::Calc";
+$CL = "Math::BigInt::GMP";
#############################################################################
# from_hex(), from_bin() and from_oct() tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/biglog.t
new/Math-BigInt-GMP-1.40/t/biglog.t
--- old/Math-BigInt-GMP-1.38/t/biglog.t 2014-03-20 16:07:08.000000000 +0100
+++ new/Math-BigInt-GMP-1.40/t/biglog.t 2015-08-18 19:41:46.000000000 +0200
@@ -12,13 +12,15 @@
# versions up to v1.63, and for bsqrt($x) when $x << 1 for instance).
use strict;
-use Test::More tests => 70;
+use Test::More tests => 71;
-use Math::BigFloat;
+use Math::BigFloat only => 'GMP';
use Math::BigInt;
my $cl = "Math::BigInt";
+is (Math::BigInt->config()->{lib}, 'Math::BigInt::GMP', 'GMP loaded');
+
#############################################################################
# test log($n) in BigInt (broken until 1.80)
@@ -46,17 +48,17 @@
# some alarm()?
# this triggers the calculation and caching of ln(2):
-ok ($cl->new(5)->blog(undef,71),
+is ($cl->new(5)->blog(undef,71),
'1.6094379124341003746007593332261876395256013542685177219126478914741790');
# if the cache was correct, we should get this result, fast:
-ok ($cl->new(2)->blog(undef,71),
+is ($cl->new(2)->blog(undef,71),
'0.69314718055994530941723212145817656807550013436025525412068000949339362');
-ok ($cl->new(10)->blog(undef,71),
-'2.3025850929940456840179914546843642076011014886287729760333279009675726');
+is ($cl->new(11)->blog(undef,71),
+'2.3978952727983705440619435779651292998217068539374171752185677091305736');
-ok ($cl->new(21)->blog(undef,71),
+is ($cl->new(21)->blog(undef,71),
'3.0445224377234229965005979803657054342845752874046106401940844835750742');
#############################################################################
@@ -65,52 +67,52 @@
# Don't attempt to run them with older versions. You are warned.
# $x < 0 => NaN
-ok ($cl->new(-2)->blog(), 'NaN');
-ok ($cl->new(-1)->blog(), 'NaN');
-ok ($cl->new(-10)->blog(), 'NaN');
-ok ($cl->new(-2,2)->blog(), 'NaN');
+is ($cl->new(-2)->blog(), 'NaN');
+is ($cl->new(-1)->blog(), 'NaN');
+is ($cl->new(-10)->blog(), 'NaN');
+is ($cl->new(-2,2)->blog(), 'NaN');
my $ten = $cl->new(10)->blog();
# 10 is cached (up to 75 digits)
-ok ($cl->new(10)->blog(), '2.302585092994045684017991454684364207601');
+is ($cl->new(10)->blog(), '2.302585092994045684017991454684364207601');
# 0.1 is using the cached value for log(10), too
-ok ($cl->new(0.1)->blog(), -$ten);
-ok ($cl->new(0.01)->blog(), -$ten * 2);
-ok ($cl->new(0.001)->blog(), -$ten * 3);
-ok ($cl->new(0.0001)->blog(), -$ten * 4);
+is ($cl->new(0.1)->blog(), -$ten);
+is ($cl->new(0.01)->blog(), -$ten * 2);
+is ($cl->new(0.001)->blog(), -$ten * 3);
+is ($cl->new(0.0001)->blog(), -$ten * 4);
# also cached
-ok ($cl->new(2)->blog(), '0.6931471805599453094172321214581765680755');
-ok ($cl->new(4)->blog(), $cl->new(2)->blog * 2);
+is ($cl->new(2)->blog(), '0.6931471805599453094172321214581765680755');
+is ($cl->new(4)->blog(), $cl->new(2)->blog * 2);
# These are still slow, so do them only to 10 digits
-ok ($cl->new('0.2')->blog(undef,10), '-1.609437912');
-ok ($cl->new('0.3')->blog(undef,10), '-1.203972804');
-ok ($cl->new('0.4')->blog(undef,10), '-0.9162907319');
-ok ($cl->new('0.5')->blog(undef,10), '-0.6931471806');
-ok ($cl->new('0.6')->blog(undef,10), '-0.5108256238');
-ok ($cl->new('0.7')->blog(undef,10), '-0.3566749439');
-ok ($cl->new('0.8')->blog(undef,10), '-0.2231435513');
-ok ($cl->new('0.9')->blog(undef,10), '-0.1053605157');
-
-ok ($cl->new('9')->blog(undef,10), '2.197224577');
-
-ok ($cl->new('10')->blog(10,10), '1.000000000');
-ok ($cl->new('20')->blog(20,10), '1.000000000');
-ok ($cl->new('100')->blog(100,10), '1.000000000');
+is ($cl->new('0.2')->blog(undef,10), '-1.609437912');
+is ($cl->new('0.3')->blog(undef,10), '-1.203972804');
+is ($cl->new('0.4')->blog(undef,10), '-0.9162907319');
+is ($cl->new('0.5')->blog(undef,10), '-0.6931471806');
+is ($cl->new('0.6')->blog(undef,10), '-0.5108256238');
+is ($cl->new('0.7')->blog(undef,10), '-0.3566749439');
+is ($cl->new('0.8')->blog(undef,10), '-0.2231435513');
+is ($cl->new('0.9')->blog(undef,10), '-0.1053605157');
+
+is ($cl->new('9')->blog(undef,10), '2.197224577');
+
+is ($cl->new('10')->blog(10,10), '1.000000000');
+is ($cl->new('20')->blog(20,10), '1.000000000');
+is ($cl->new('100')->blog(100,10), '1.000000000');
-ok ($cl->new('100')->blog(10,10), '2.000000000'); # 10 ** 2 == 100
-ok ($cl->new('400')->blog(20,10), '2.000000000'); # 20 ** 2 == 400
+is ($cl->new('100')->blog(10,10), '2.000000000'); # 10 ** 2 == 100
+is ($cl->new('400')->blog(20,10), '2.000000000'); # 20 ** 2 == 400
-ok ($cl->new('4')->blog(2,10), '2.000000000'); # 2 ** 2 == 4
-ok ($cl->new('16')->blog(2,10), '4.000000000'); # 2 ** 4 == 16
+is ($cl->new('4')->blog(2,10), '2.000000000'); # 2 ** 2 == 4
+is ($cl->new('16')->blog(2,10), '4.000000000'); # 2 ** 4 == 16
-ok ($cl->new('1.2')->bpow('0.3',10), '1.056219968');
-ok ($cl->new('10')->bpow('0.6',10), '3.981071706');
+is ($cl->new('1.2')->bpow('0.3',10), '1.056219968');
+is ($cl->new('10')->bpow('0.6',10), '3.981071706');
# blog should handle bigint input
is (Math::BigFloat::blog(Math::BigInt->new(100),10), 2, "blog(100)");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-GMP-1.38/t/bigroot.t
new/Math-BigInt-GMP-1.40/t/bigroot.t
--- old/Math-BigInt-GMP-1.38/t/bigroot.t 2014-03-20 16:07:08.000000000
+0100
+++ new/Math-BigInt-GMP-1.40/t/bigroot.t 2015-08-18 19:33:43.000000000
+0200
@@ -9,11 +9,13 @@
# it at all.
use strict;
-use Test::More tests => 4 * 2;
+use Test::More tests => 1 + 4 * 2;
-use Math::BigFloat;
+use Math::BigFloat only => 'GMP';
use Math::BigInt;
+is (Math::BigInt->config()->{lib}, 'Math::BigInt::GMP', 'GMP loaded');
+
my $cl = "Math::BigFloat";
my $c = "Math::BigInt";