Hello community,
here is the log from the commit of package perl-Math-BigInt for
openSUSE:Factory checked in at 2019-10-24 23:11:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Math-BigInt (Old)
and /work/SRC/openSUSE:Factory/.perl-Math-BigInt.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Math-BigInt"
Thu Oct 24 23:11:29 2019 rev:35 rq:742705 version:1.999818
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Math-BigInt/perl-Math-BigInt.changes
2019-10-18 14:36:02.623831508 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Math-BigInt.new.2990/perl-Math-BigInt.changes
2019-10-24 23:11:31.600687723 +0200
@@ -1,0 +2,13 @@
+Tue Oct 22 17:06:52 UTC 2019 - <[email protected]>
+
+- updated to 1.999818
+ see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
+
+ 1.999818 2019-10-20
+
+ * Fix CPAN RT #130736 regarding numify() on a Math::BigFloat with a large
+ number of digits and an equally large, but negative, exponent.
+
+ * Fix a problem in to_ieee754() due to rounding in bpow().
+
+-------------------------------------------------------------------
Old:
----
Math-BigInt-1.999817.tar.gz
New:
----
Math-BigInt-1.999818.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Math-BigInt.spec ++++++
--- /var/tmp/diff_new_pack.ewOPe9/_old 2019-10-24 23:11:32.048688246 +0200
+++ /var/tmp/diff_new_pack.ewOPe9/_new 2019-10-24 23:11:32.052688250 +0200
@@ -17,7 +17,7 @@
Name: perl-Math-BigInt
-Version: 1.999817
+Version: 1.999818
Release: 0
%define cpan_name Math-BigInt
Summary: Arbitrary size integer/float math package
@@ -48,7 +48,7 @@
%prep
%setup -q -n %{cpan_name}-%{version}
-find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -name "*.sh" -print0 | xargs
-0 chmod 644
%build
perl Makefile.PL INSTALLDIRS=vendor
++++++ Math-BigInt-1.999817.tar.gz -> Math-BigInt-1.999818.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/CHANGES
new/Math-BigInt-1.999818/CHANGES
--- old/Math-BigInt-1.999817/CHANGES 2019-10-11 12:05:36.000000000 +0200
+++ new/Math-BigInt-1.999818/CHANGES 2019-10-20 14:37:48.000000000 +0200
@@ -1,3 +1,10 @@
+1.999818 2019-10-20
+
+ * Fix CPAN RT #130736 regarding numify() on a Math::BigFloat with a large
+ number of digits and an equally large, but negative, exponent.
+
+ * Fix a problem in to_ieee754() due to rounding in bpow().
+
1.999817 2019-10-11
* Avoid non-integers in intermediate computations in Math::BigInt::Calc. This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/META.json
new/Math-BigInt-1.999818/META.json
--- old/Math-BigInt-1.999817/META.json 2019-10-11 14:21:13.000000000 +0200
+++ new/Math-BigInt-1.999818/META.json 2019-10-21 08:15:29.000000000 +0200
@@ -48,6 +48,6 @@
"web" : "https://github.com/pjacklam/p5-Math-BigInt"
}
},
- "version" : "1.999817",
+ "version" : "1.999818",
"x_serialization_backend" : "JSON::PP version 4.04"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/META.yml
new/Math-BigInt-1.999818/META.yml
--- old/Math-BigInt-1.999817/META.yml 2019-10-11 14:21:00.000000000 +0200
+++ new/Math-BigInt-1.999818/META.yml 2019-10-21 08:15:16.000000000 +0200
@@ -22,5 +22,5 @@
perl: '5.006001'
resources:
repository: https://github.com/pjacklam/p5-Math-BigInt.git
-version: '1.999817'
+version: '1.999818'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/SIGNATURE
new/Math-BigInt-1.999818/SIGNATURE
--- old/Math-BigInt-1.999817/SIGNATURE 2019-10-11 14:22:57.000000000 +0200
+++ new/Math-BigInt-1.999818/SIGNATURE 2019-10-21 08:16:56.000000000 +0200
@@ -15,15 +15,15 @@
Hash: SHA1
SHA256 961f8c23b6fc94cb9766265257dd548b190087df0c71dfd7d994bc649af5f002 BUGS
-SHA256 4e0dac49160f455be727204ce357cc99257344d0aa71facda818d7b8ee26366e CHANGES
+SHA256 998efd2d6d6f3065c5f6a0238003e600755ff1b6dddc2e420784a7a8edd4f583 CHANGES
SHA256 7d84c6e69ee6c3ab6301314d2fa4bc233f24bd36a4a546b2cfd05a078bda98b7 CREDITS
SHA256 fd8f78318c23adef95971cc01ee0e79d68f52f60b761ba28129c8509fff46954 GOALS
SHA256 28e80ee628ff111dd34a2a26af921693c9c823caadab30c848e4c4f4fc00830f HISTORY
SHA256 b857edab549ac6893e2df5e1ec768ee46b62bcf1607a55e876f4d23f079eacce LICENSE
SHA256 54eb204034f673ab90c1e08900442690f4e70ed806d0f4ad4a8e6b1865f38456
MANIFEST
SHA256 fd352b3de716fa7d2f78989956f906e8d80c073e4ba9d029610ab0e94071a7ab
MANIFEST.SKIP
-SHA256 8429e3b0db8fbeb06050ea20de258e12d970be124061181c984792df1d633166
META.json
-SHA256 3bfc617e96a9f5854b9cd58c05fdc24c1da25d87661d30ae0238c073be01c139
META.yml
+SHA256 40875bf462060acf21520321ef941aa2953e36dba72519db98383db8ce5847e5
META.json
+SHA256 f7b18c1b09db966f6f6e547aa709acf8b642e637a15d46220ad2f579bc8756e2
META.yml
SHA256 e81e9dfc87d8ca1808107d58d255a9a674b931ac97ffec8b3f4dbb1f361cf864
Makefile.PL
SHA256 99f7f7df45a00c9f19ad38edec8c5dad5f5977c2b1a14ac3bb491ac193db1f7d NEW
SHA256 9672f35169c70213ef469a42d2e1c36ae1889492be9d0a010458cecfb32b30fb README
@@ -31,10 +31,10 @@
SHA256 77a80748e329a042faaa91eb0b44a493dfdfd726fec854a1a376c8404324b485
examples/1000.txt
SHA256 702e323f59be58db758a3fa70ffe5fb80d392043bb855b0f172dd748809435df
examples/bigprimes.pl
SHA256 81a3ff3476038ec839c12a2b3548898055112bebc81fbf3513ee5efd6adfd0bd
examples/prime.pl
-SHA256 b18d6c7a83dd31dcccb2aaec1dcf5de8ee5a277f30dc023d63aeb8ee2faf70bf
lib/Math/BigFloat.pm
-SHA256 7ae22605cc5cba0f8abdca2c530c3a2bda7ffbdb2d8b6d97166d261289a7c350
lib/Math/BigInt.pm
-SHA256 f7c8797917cee520dab9d7821a88b0d0783262eadd6a0c10122a0cbd962d8dd1
lib/Math/BigInt/Calc.pm
-SHA256 629d9e3be7f0b0c5f2dcf2353d9fe151d9068f0d84a2c843d0216a33f7f824d4
lib/Math/BigInt/Lib.pm
+SHA256 7ad595a24c18e5e83c8f98f24bf452611dd5b78829af56df1236fcbe4e7b849d
lib/Math/BigFloat.pm
+SHA256 41ec57f420ae6a9da9cc9536585581d8163e790efade6bcd2339facc0a81e14a
lib/Math/BigInt.pm
+SHA256 d6833448f33582bcc736558b07e5a72541780cdc740e3e8a2e09e84a3b536e23
lib/Math/BigInt/Calc.pm
+SHA256 f97917769970f72ab0e72f96580ee9cee76a0a3ba1622cda1b033ff4ad1bfefe
lib/Math/BigInt/Lib.pm
SHA256 e887b97b1d39e2e8ff68cf06009bc5ee55f16bfdeaf53a1c18712a510f67568c
t/00sig.t
SHA256 6f9c71cbc2ae1e95ee6d79b14f9eeafd8c078e6d37176d99bdc2e5d56f55105a
t/01load.t
SHA256 4e5136c0d8fb9e26fb6e1bd67e7584129fe5b22963e6c093f80b3025ab91fd8c
t/Math/BigFloat/Subclass.pm
@@ -192,7 +192,7 @@
SHA256 38c1d2a0a433b1acbe87197d3a4190f41c9bfcb6c2c3fc4993fa5fe8b6c4a1fd
t/buparrow-mbi.t
SHA256 e2c09c47741fd90166f6ef6cf7b005a8885a5cd6c0722d27400c27e3dd379025
t/calling-class-methods.t
SHA256 b7f05b9466942c619ac567115fa4e86b1acdb5346a0c84961e284e91ff97dff2
t/calling-instance-methods.t
-SHA256 06496d9978663e2b6483f5d2801d6cfec48cc39c6bc7109a02a810509c0183aa
t/calling.t
+SHA256 7be07a2d84bd8c5377396d7133e67dd69f34578bab48886829edf69593989f79
t/calling.t
SHA256 483d91ee8d0d81d5d709e4c342e87255b8052dd094d8d16aae3294d4ef90847a
t/config.t
SHA256 29cc3af8923a486253b05425e1c98c49efbf9f6713a4e405ed72a4186884d661
t/const_mbf.t
SHA256 defccbdddf2b3fc71916a9bc96e6ebef145a691ef42753c18250a65d4f32ef27
t/constant.t
@@ -245,7 +245,7 @@
SHA256 8e8c71a7ccf9bc6dc9609c7ca903da77042ebfe3c0a7690fff1dcce4b25c4cea
t/sub_mbi.t
SHA256 932bcf630d86b0359977abaf428a03aaf99ed5b27177ee577d2019e2daa69af5
t/sub_mif.t
SHA256 5c5c2e2e2a892f354ce9dc0eb535aa358847dc9755ca88046422840c7ad4b1fd
t/to_base-mbi.t
-SHA256 d21983d3e77d7ce41c7bbda870529cfa66f3cbe59d2fdffc8c8b408f9d6d5093
t/to_ieee754-mbf.t
+SHA256 dbd8dab19748ccbd9503595edc9924659aa4aa01d5a89a21b0a2fc3401c6af4e
t/to_ieee754-mbf.t
SHA256 70dffe7af607a575b8a3ddf23010a0e018d5bdee354a5088a0774ae0857f73e7
t/trap.t
SHA256 e8dd4c9c533e149a31e44924f407bd95c8622479c8c142d4721d6dd1c48f13e2
t/upgrade.inc
SHA256 e0eca917d33f44df431666066d5b30c03e4dc9376caa0ded9ae2d0bfc21fd178
t/upgrade.t
@@ -260,11 +260,11 @@
SHA256 3cd6390f7a8c8a849ad47933d29e6d6a8ee4f5f9e6a48f5d55eb155d258e7668
t/with_sub.t
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBAgAGBQJdoHPwAAoJEGcmPl2fr166+8UIAJgQJPbVKHz83z+347sktwzY
-FW91JU/4MjsS/wfYKLztYSX+Uvee1BZpdWLegtlyE7F/lCy4C7HCpPvEYcAwY2AJ
-tQseY0rsAhPmgVaFQPE1S5opuiKlNh8vugKl2hn4ionDnD90ioMA7bt0vB3m+9J+
-4pbFNNWnl7v1qd1mgNZ/a0Wzc8n+aXj5RhH0pv3kgU2LrGNlmrUyhqOQhrqO+DrL
-1VMG0le9YoSuc2e8XY7OypSTnClMPwAtmEGURwnvAB4sj5pom65IU0ZTZfK/HBpr
-kH5EkXNledfnvie9+CNm2IgC/jShJ3ICM8vauWaKdadGBWpiXVFGuGi/ekMQeqw=
-=KdGH
+iQEcBAEBAgAGBQJdrU0yAAoJEGcmPl2fr166930IALsOeCMctw46mVieFyYE+egF
+ZoyZBuZJ1NZMxPt8uByV+XJCy2Dqnrr6sqq/bnIPw1DBtNzbSspbKXnrQj2VeDJv
+1zG3Q44w1U8VUPlxSLqBhIMUF0/6+hYLqbkmRl44+N+3883oOVRNQwPyKljX2LTO
+JE+ihYe8n54UOe/5+NYI97kr+2O7qWEJgWK+uW7mD/8ERbYzAoa7gx0eKaLteW8X
+tjjMRqNwrsEGfpje4zlxKC1dvlCpCwyVhZy+8bzk1kwcS53KQsEfshYmLaCgvral
+CEH5ZefUcaaal0i2gwzhPeGjvulSOOBRfUX6fD9MUSD3b98S4l5GtrSHHwvnpM8=
+=BvIm
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/lib/Math/BigFloat.pm
new/Math-BigInt-1.999818/lib/Math/BigFloat.pm
--- old/Math-BigInt-1.999817/lib/Math/BigFloat.pm 2019-10-10
12:57:59.000000000 +0200
+++ new/Math-BigInt-1.999818/lib/Math/BigFloat.pm 2019-10-20
14:42:17.000000000 +0200
@@ -19,7 +19,7 @@
use Carp qw< carp croak >;
use Math::BigInt ();
-our $VERSION = '1.999817';
+our $VERSION = '1.999818';
require Exporter;
our @ISA = qw/Math::BigInt/;
@@ -4448,13 +4448,17 @@
$sign = 1 if $x -> is_neg();
- # Get the mantissa and exponent in base $b.
+ # Now we need to compute the mantissa and exponent in base $b.
my $binv = $class -> new("0.5");
my $b = $class -> new(2);
my $one = $class -> bone();
- $expo = $class -> bzero();
+ # We start off by initializing the exponent to zero and the
+ # mantissa to the input value. Then we increase the mantissa and
+ # decrease the exponent, or vice versa, until the mantissa is in
+ # the desired range or we hit one of the limits for the exponent.
+
$mant = $x -> copy() -> babs();
# We need to find the base 2 exponent. First make an estimate of
@@ -4471,15 +4475,30 @@
my ($m, $e) = $x -> nparts();
my $ms = $m -> numify();
my $es = $e -> numify();
- $expo = (log(abs($ms))/log(10) + $es) * log(10)/log(2);
- $expo = int($expo);
- if ($expo > $emax) {
- $expo = $emax;
- } elsif ($expo < $emin) {
- $expo = $emin;
+
+ my $expo_est = (log(abs($ms))/log(10) + $es) * log(10)/log(2);
+ $expo_est = int($expo_est);
+
+ # Limit the exponent.
+
+ if ($expo_est > $emax) {
+ $expo_est = $emax;
+ } elsif ($expo_est < $emin) {
+ $expo_est = $emin;
+ }
+
+ # Don't multiply by a number raised to a negative exponent. This
+ # will cause a division, whose result is truncated to some fixed
+ # number of digits. Instead, multiply by the inverse number raised
+ # to a positive exponent.
+
+ $expo = $class -> new($expo_est);
+ if ($expo_est > 0) {
+ $mant -> bmul($binv -> copy() -> bpow($expo));
+ } elsif ($expo_est < 0) {
+ my $expo_abs = $expo -> copy() -> bneg();
+ $mant -> bmul($b -> copy() -> bpow($expo_abs));
}
- $expo = $class -> new($expo);
- $mant -> bmul($binv -> copy() -> bpow($expo));
# Final adjustment.
@@ -4597,7 +4616,7 @@
}
# Create a string and let Perl's atoi()/atof() handle the rest.
- return 0 + $x -> bsstr();
+ return 0 + $x -> bnstr();
}
###############################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/lib/Math/BigInt/Calc.pm
new/Math-BigInt-1.999818/lib/Math/BigInt/Calc.pm
--- old/Math-BigInt-1.999817/lib/Math/BigInt/Calc.pm 2019-10-10
12:58:03.000000000 +0200
+++ new/Math-BigInt-1.999818/lib/Math/BigInt/Calc.pm 2019-10-20
14:42:19.000000000 +0200
@@ -7,7 +7,7 @@
use Carp qw< carp croak >;
use Math::BigInt::Lib;
-our $VERSION = '1.999817';
+our $VERSION = '1.999818';
our @ISA = ('Math::BigInt::Lib');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/lib/Math/BigInt/Lib.pm
new/Math-BigInt-1.999818/lib/Math/BigInt/Lib.pm
--- old/Math-BigInt-1.999817/lib/Math/BigInt/Lib.pm 2019-10-10
12:58:06.000000000 +0200
+++ new/Math-BigInt-1.999818/lib/Math/BigInt/Lib.pm 2019-10-20
14:42:20.000000000 +0200
@@ -4,7 +4,7 @@
use strict;
use warnings;
-our $VERSION = '1.999817';
+our $VERSION = '1.999818';
use Carp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/lib/Math/BigInt.pm
new/Math-BigInt-1.999818/lib/Math/BigInt.pm
--- old/Math-BigInt-1.999817/lib/Math/BigInt.pm 2019-10-10 12:58:02.000000000
+0200
+++ new/Math-BigInt-1.999818/lib/Math/BigInt.pm 2019-10-20 14:42:18.000000000
+0200
@@ -22,7 +22,7 @@
use Carp qw< carp croak >;
-our $VERSION = '1.999817';
+our $VERSION = '1.999818';
require Exporter;
our @ISA = qw(Exporter);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/t/calling.t
new/Math-BigInt-1.999818/t/calling.t
--- old/Math-BigInt-1.999817/t/calling.t 2019-10-10 12:58:08.000000000
+0200
+++ new/Math-BigInt-1.999818/t/calling.t 2019-10-20 14:42:21.000000000
+0200
@@ -6,7 +6,7 @@
use warnings;
use lib 't';
-my $VERSION = '1.999817'; # adjust manually to match latest release
+my $VERSION = '1.999818'; # adjust manually to match latest release
use Test::More tests => 5;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Math-BigInt-1.999817/t/to_ieee754-mbf.t
new/Math-BigInt-1.999818/t/to_ieee754-mbf.t
--- old/Math-BigInt-1.999817/t/to_ieee754-mbf.t 2019-09-29 10:56:01.000000000
+0200
+++ new/Math-BigInt-1.999818/t/to_ieee754-mbf.t 2019-10-19 19:53:39.000000000
+0200
@@ -187,7 +187,7 @@
my $bytes = pack "B*", $bin;
my $hex = unpack "H*", $bytes;
- note("\n", $entry -> {dsc}, " (k = $k)\n\n");
+ note("\n", $entry -> {dsc}, " (k = $k): ", $entry -> {asc}, "\n\n");
my $x = Math::BigFloat -> new($entry -> {mbf});