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 - co...@suse.com + +- 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";