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); 


Reply via email to