Hello community, here is the log from the commit of package perl-Math-BigInt for openSUSE:Factory checked in at 2015-10-28 17:31:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Math-BigInt (Old) and /work/SRC/openSUSE:Factory/.perl-Math-BigInt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Math-BigInt" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Math-BigInt/perl-Math-BigInt.changes 2015-09-30 05:52:18.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Math-BigInt.new/perl-Math-BigInt.changes 2015-10-28 17:31:14.000000000 +0100 @@ -1,0 +2,6 @@ +Tue Oct 27 10:08:46 UTC 2015 - co...@suse.com + +- updated to 1.999705 + see /usr/share/doc/packages/perl-Math-BigInt/CHANGES + +------------------------------------------------------------------- Old: ---- Math-BigInt-1.999704.tar.gz New: ---- Math-BigInt-1.999705.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Math-BigInt.spec ++++++ --- /var/tmp/diff_new_pack.Cq9RJ4/_old 2015-10-28 17:31:14.000000000 +0100 +++ /var/tmp/diff_new_pack.Cq9RJ4/_new 2015-10-28 17:31:14.000000000 +0100 @@ -17,7 +17,7 @@ Name: perl-Math-BigInt -Version: 1.999704 +Version: 1.999705 Release: 0 %define cpan_name Math-BigInt Summary: Arbitrary size integer/float math package ++++++ Math-BigInt-1.999704.tar.gz -> Math-BigInt-1.999705.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/CHANGES new/Math-BigInt-1.999705/CHANGES --- old/Math-BigInt-1.999704/CHANGES 2015-09-25 15:13:24.000000000 +0200 +++ new/Math-BigInt-1.999705/CHANGES 2015-10-26 14:23:58.000000000 +0100 @@ -1420,18 +1420,25 @@ 2015-09-25 v1.999704 pjacklam - * objectify() in lib/Math/BigInt.pm now uses 'isa' not 'eq' to check object - relationship. This is necessary for correct handling of subclasses. + * objectify() in lib/Math/BigInt.pm now uses 'isa' not 'eq' to check object + relationship. This is necessary for correct handling of subclasses. - * objectify() in lib/Math/BigInt.pm no longer expects as_int(), as_number() - and as_float() to return objects, but allows them to return numbers - formatted as strings. This is used by some other modules on CPAN. + * objectify() in lib/Math/BigInt.pm no longer expects as_int(), as_number() + and as_float() to return objects, but allows them to return numbers + formatted as strings. This is used by some other modules on CPAN. - * Better documentation of as_int() and as_number() in lib/Math/BigInt.pm. + * Better documentation of as_int() and as_number() in lib/Math/BigInt.pm. - * Add documentation for as_float() in lib/Math/BigFloat.pm + * Add documentation for as_float() in lib/Math/BigFloat.pm - * Added test files t/objectify_mbf.t and t/objectify_mbi.t. + * Added test files t/objectify_mbf.t and t/objectify_mbi.t. + +2015-09-25 v1.999705 pjacklam + + * Avoid using "my" in a false conditional. See "Deprecated use of my() in + false conditional" in perldiag(1). + + * Faster algorithm for bpi() when precision is >= 1000. Please send us test-reports, your experiences with this and your ideas - we love to hear about our work! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/META.json new/Math-BigInt-1.999705/META.json --- old/Math-BigInt-1.999704/META.json 2015-09-25 15:20:22.000000000 +0200 +++ new/Math-BigInt-1.999705/META.json 2015-10-26 14:27:03.000000000 +0100 @@ -38,6 +38,6 @@ } }, "release_status" : "stable", - "version" : "1.999704", + "version" : "1.999705", "x_serialization_backend" : "JSON::PP version 2.27300" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/META.yml new/Math-BigInt-1.999705/META.yml --- old/Math-BigInt-1.999704/META.yml 2015-09-25 15:20:19.000000000 +0200 +++ new/Math-BigInt-1.999705/META.yml 2015-10-26 14:27:00.000000000 +0100 @@ -20,5 +20,5 @@ - inc requires: perl: '5.006002' -version: '1.999704' +version: '1.999705' x_serialization_backend: 'CPAN::Meta::YAML version 0.016' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/SIGNATURE new/Math-BigInt-1.999705/SIGNATURE --- old/Math-BigInt-1.999704/SIGNATURE 2015-09-25 15:20:26.000000000 +0200 +++ new/Math-BigInt-1.999705/SIGNATURE 2015-10-26 14:27:08.000000000 +0100 @@ -16,7 +16,7 @@ SHA1 f6ef98e8f3f6a4f670d569f279ef5a3c05c16d0c BENCHMARK SHA1 d681b992c9e027633a59fbd52530805ee4e1621c BUGS -SHA1 8ea50abf4bd86783767a277d9578f06e78fc7e56 CHANGES +SHA1 070dfc5e5b1451e3632ad5afaaf22e09edb5e7ef CHANGES SHA1 f27c8bd98e754f96c9825fa6ce9f1244c93bdbe6 CREDITS SHA1 bc2db74538d3acd53f71b5512a144fe18c253ecd GOALS SHA1 fe61299e80a1dca48fbaa33f0869e3238ec07c70 HISTORY @@ -24,8 +24,8 @@ SHA1 d6a6c30ee6d9ba6b9afab8bbf6a25e1b23c744e0 LICENSE SHA1 183f44987a5dfba10182b1b89f1f92647e388a5f MANIFEST SHA1 86df44fbe1ea7a68897113f0e327d0f0c25b91e3 MANIFEST.SKIP -SHA1 27f71484021cedc3ac0c8d0776279f88610ba004 META.json -SHA1 926b03441e37ae13d3dc24a081fda22d2990b7c5 META.yml +SHA1 c2b7ce2ce2a199cc4fe2973476af791446a8b9b2 META.json +SHA1 e1a84ca18d2afd3e3d8ec616c0bb80b9795d8dad META.yml SHA1 ae1e2767f1988a537d4a64fc84a07587cbca2ef5 Makefile.PL SHA1 4e2191d1724e699862efc5350f480c8e02755112 NEW SHA1 481f5827752d2100914db1eaeb60bf0bbd13529e README @@ -41,10 +41,10 @@ SHA1 2e33e87882d60db3913da6284dd5295e5315e18a inc/Module/Install/Metadata.pm SHA1 c830b819e61bda5eca077c6291293bba61b3b9f2 inc/Module/Install/Win32.pm SHA1 cb52b9d6f88d512d448a6f35ed0af0d1201a134b inc/Module/Install/WriteAll.pm -SHA1 2b4a6499b7f55d6bb33cb942bdf83853d094b404 lib/Math/BigFloat.pm -SHA1 b11a534087024e20f724475d2648d259fc03eb1b lib/Math/BigInt.pm -SHA1 964d54429022e659b55e1b236041bccaa0fc74ba lib/Math/BigInt/Calc.pm -SHA1 70d46d848ba40caa86372df20efd3fac47d0e29c lib/Math/BigInt/CalcEmu.pm +SHA1 362611b1a57afc65286da4358fc4ce8ce316195c lib/Math/BigFloat.pm +SHA1 dd4992a0e806c150939aae3ff2f40570bb078ecc lib/Math/BigInt.pm +SHA1 c36ef4f421489ea7e0d753beb30c530a92f9025b lib/Math/BigInt/Calc.pm +SHA1 1b79938af3f78e339f83a5601390d09fe28902bc lib/Math/BigInt/CalcEmu.pm SHA1 385cc7ed3bf3e6290640b9880445ca9a3dea629e t/00sig.t SHA1 4463fdcebb8421cc2e63f87d678adb47856bf58c t/01load.t SHA1 b2ed9206ca5b69ec3b8bbf850bf4b6dfde518e7e t/02pod.t @@ -114,11 +114,11 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 -iQEcBAEBAgAGBQJWBUoXAAoJEGcmPl2fr166VgEIANnEsYBpwPSRz2gQhWKYyzAs -2c23b3RmyMA3VmnapfjRCpIZkFEmqHo0Pl/QwDBlNN00RN00cZHdwJ9s8dhNSZyJ -rE+Xdi0kc/I6D4EVXSf25AqH7VymZRoJzkX+IPqj7xFw7HmdIKraMwXY7CLsN+Fm -WhcnX6Pbr6D5+C6tNX6yLmjZyTnl7CaqO5Beq49OH23nHTzY2247rowumoH1PpTu -XIOArzhazregnPcb4sV6boqnZtFwosOGZmr8cWT82HGGyFhYhh1rokpYr/08RecI -RBdipu8M2qsbsKTHl0mAhc0AYXp0p8gZW1zGnMX55JH21h9uXZlJw3iLnhYvGTY= -=w70R +iQEcBAEBAgAGBQJWLiopAAoJEGcmPl2fr166jpQH/2c4Vtr1INnlfrwyRJ/99sog +dmFh/w1GjKakuLBnS6pNAQY9reIA3JPIoa0SDwv4D6nvSfrjQXdhBt7xcmh6GAtM +Lns+zSUvFgZD/LCm4JJSq2XOh1Hxrcs/k9IXtVk4xqh/TnkcPeBzOVbDS+9ovB7z +qDGbZ0ZsJ3/NK8Z51808GGGOhl+h+Ps6Kgpzt9IoG4y64f2QKII/FeeBm0bon2Wk +p8KNk+KccwMDEb8QqjnDcwhRFb16cnsA+Cfh2Sa6njGFZWf2bzDtv2yKI/CH6RoT +jyaDTahNmxxlfGd507lshM29nVnvA4ZDr4rwPy3VQNb9O+saD4fqVkG0+20mHQg= +=2XJv -----END PGP SIGNATURE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/lib/Math/BigFloat.pm new/Math-BigInt-1.999705/lib/Math/BigFloat.pm --- old/Math-BigInt-1.999704/lib/Math/BigFloat.pm 2015-09-22 15:22:03.000000000 +0200 +++ new/Math-BigInt-1.999705/lib/Math/BigFloat.pm 2015-10-26 10:07:03.000000000 +0100 @@ -12,7 +12,7 @@ # _a : accuracy # _p : precision -$VERSION = '1.999704'; +$VERSION = '1.999705'; require 5.006002; require Exporter; @@ -1302,7 +1302,7 @@ $over->bmul($u); $factor = $self->new(3); $f = $self->new(2); - my $steps = 0 if DEBUG; + my $steps = 0; $limit = $self->new("1E-". ($scale-1)); while (3 < 5) { @@ -2811,48 +2811,77 @@ my $fallback = defined $n ? 0 : 1; $n = 40 if !defined $n || $n < 1; - # after 黃見利 (Hwang Chien-Lih) (1997) - # pi/4 = 183 * atan(1/239) + 32 * atan(1/1023) – 68 * atan(1/5832) - # + 12 * atan(1/110443) - 12 * atan(1/4841182) - 100 * atan(1/6826318) - - # a few more to prevent rounding errors - $n += 4; - - my ($a,$b) = $self->_atan_inv( $MBI->_new(239),$n); - my ($c,$d) = $self->_atan_inv( $MBI->_new(1023),$n); - my ($e,$f) = $self->_atan_inv( $MBI->_new(5832),$n); - my ($g,$h) = $self->_atan_inv( $MBI->_new(110443),$n); - my ($i,$j) = $self->_atan_inv( $MBI->_new(4841182),$n); - my ($k,$l) = $self->_atan_inv( $MBI->_new(6826318),$n); - - $MBI->_mul($a, $MBI->_new(732)); - $MBI->_mul($c, $MBI->_new(128)); - $MBI->_mul($e, $MBI->_new(272)); - $MBI->_mul($g, $MBI->_new(48)); - $MBI->_mul($i, $MBI->_new(48)); - $MBI->_mul($k, $MBI->_new(400)); - - my $x = $self->bone(); $x->{_m} = $a; my $x_d = $self->bone(); $x_d->{_m} = $b; - my $y = $self->bone(); $y->{_m} = $c; my $y_d = $self->bone(); $y_d->{_m} = $d; - my $z = $self->bone(); $z->{_m} = $e; my $z_d = $self->bone(); $z_d->{_m} = $f; - my $u = $self->bone(); $u->{_m} = $g; my $u_d = $self->bone(); $u_d->{_m} = $h; - my $v = $self->bone(); $v->{_m} = $i; my $v_d = $self->bone(); $v_d->{_m} = $j; - my $w = $self->bone(); $w->{_m} = $k; my $w_d = $self->bone(); $w_d->{_m} = $l; - $x->bdiv($x_d, $n); - $y->bdiv($y_d, $n); - $z->bdiv($z_d, $n); - $u->bdiv($u_d, $n); - $v->bdiv($v_d, $n); - $w->bdiv($w_d, $n); - - delete $x->{_a}; delete $y->{_a}; delete $z->{_a}; - delete $u->{_a}; delete $v->{_a}; delete $w->{_a}; - $x->badd($y)->bsub($z)->badd($u)->bsub($v)->bsub($w); + if ($n < 1000) { - $x->bround($n-4); - delete $x->{_a} if $fallback == 1; - $x; + # after 黃見利 (Hwang Chien-Lih) (1997) + # pi/4 = 183 * atan(1/239) + 32 * atan(1/1023) – 68 * atan(1/5832) + # + 12 * atan(1/110443) - 12 * atan(1/4841182) - 100 * atan(1/6826318) + + # Use a few more digits in the intermediate computations. + + my $nextra = $n < 800 ? 4 : 5; + $n += $nextra; + + my ($a,$b) = $self->_atan_inv( $MBI->_new(239),$n); + my ($c,$d) = $self->_atan_inv( $MBI->_new(1023),$n); + my ($e,$f) = $self->_atan_inv( $MBI->_new(5832),$n); + my ($g,$h) = $self->_atan_inv( $MBI->_new(110443),$n); + my ($i,$j) = $self->_atan_inv( $MBI->_new(4841182),$n); + my ($k,$l) = $self->_atan_inv( $MBI->_new(6826318),$n); + + $MBI->_mul($a, $MBI->_new(732)); + $MBI->_mul($c, $MBI->_new(128)); + $MBI->_mul($e, $MBI->_new(272)); + $MBI->_mul($g, $MBI->_new(48)); + $MBI->_mul($i, $MBI->_new(48)); + $MBI->_mul($k, $MBI->_new(400)); + + my $x = $self->bone(); $x->{_m} = $a; my $x_d = $self->bone(); $x_d->{_m} = $b; + my $y = $self->bone(); $y->{_m} = $c; my $y_d = $self->bone(); $y_d->{_m} = $d; + my $z = $self->bone(); $z->{_m} = $e; my $z_d = $self->bone(); $z_d->{_m} = $f; + my $u = $self->bone(); $u->{_m} = $g; my $u_d = $self->bone(); $u_d->{_m} = $h; + my $v = $self->bone(); $v->{_m} = $i; my $v_d = $self->bone(); $v_d->{_m} = $j; + my $w = $self->bone(); $w->{_m} = $k; my $w_d = $self->bone(); $w_d->{_m} = $l; + $x->bdiv($x_d, $n); + $y->bdiv($y_d, $n); + $z->bdiv($z_d, $n); + $u->bdiv($u_d, $n); + $v->bdiv($v_d, $n); + $w->bdiv($w_d, $n); + + delete $x->{_a}; delete $y->{_a}; delete $z->{_a}; + delete $u->{_a}; delete $v->{_a}; delete $w->{_a}; + $x->badd($y)->bsub($z)->badd($u)->bsub($v)->bsub($w); + + $x->bround($n-$nextra); + delete $x->{_a} if $fallback == 1; + $x; + + } else { + + # For large accuracy, the arctan formulas become very inefficient with + # Math::BigFloat. Switch to Brent-Salamin (aka AGM or Gauss-Legendre). + + # Use a few more digits in the intermediate computations. + my $nextra = 8; + + $HALF = $self -> new($HALF) unless ref($HALF); + my ($an, $bn, $tn, $pn) = ($self -> bone, $HALF -> copy -> bsqrt($n), + $HALF -> copy -> bmul($HALF), $self -> bone); + while ($pn < $n) { + my $prev_an = $an -> copy; + $an -> badd($bn) -> bmul($HALF, $n); + $bn -> bmul($prev_an) -> bsqrt($n); + $prev_an -> bsub($an); + $tn -> bsub($pn * $prev_an * $prev_an); + $pn -> badd($pn); + } + $an -> badd($bn); + $an -> bmul($an, $n) -> bdiv(4 * $tn, $n - $nextra); + delete $an -> {_a} if $fallback == 1; + return $an; } +} sub bcos { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/lib/Math/BigInt/Calc.pm new/Math-BigInt-1.999705/lib/Math/BigInt/Calc.pm --- old/Math-BigInt-1.999704/lib/Math/BigInt/Calc.pm 2015-09-22 15:22:46.000000000 +0200 +++ new/Math-BigInt-1.999705/lib/Math/BigInt/Calc.pm 2015-10-26 10:07:03.000000000 +0100 @@ -4,7 +4,7 @@ use strict; # use warnings; # do not use warnings for older Perls -our $VERSION = '1.999704'; +our $VERSION = '1.999705'; # Package to store unsigned big integers in decimal and do math with them diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/lib/Math/BigInt/CalcEmu.pm new/Math-BigInt-1.999705/lib/Math/BigInt/CalcEmu.pm --- old/Math-BigInt-1.999704/lib/Math/BigInt/CalcEmu.pm 2015-09-22 15:22:46.000000000 +0200 +++ new/Math-BigInt-1.999705/lib/Math/BigInt/CalcEmu.pm 2015-10-26 10:07:03.000000000 +0100 @@ -5,7 +5,7 @@ # use warnings; # do not use warnings for older Perls use vars qw/$VERSION/; -$VERSION = '1.999704'; +$VERSION = '1.999705'; package Math::BigInt; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999704/lib/Math/BigInt.pm new/Math-BigInt-1.999705/lib/Math/BigInt.pm --- old/Math-BigInt-1.999704/lib/Math/BigInt.pm 2015-09-22 15:22:03.000000000 +0200 +++ new/Math-BigInt-1.999705/lib/Math/BigInt.pm 2015-10-26 10:07:03.000000000 +0100 @@ -18,7 +18,7 @@ my $class = "Math::BigInt"; use 5.006002; -$VERSION = '1.999704'; +$VERSION = '1.999705'; @ISA = qw(Exporter); @EXPORT_OK = qw(objectify bgcd blcm);