Commit 6ce15a1d authored by Angel Abad's avatar Angel Abad

New upstream version 1.999806

parent 727899d5
2016-12-13 v1.999806 pjacklam
* Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199
and #119225).
* In the TODO file, remove stuff that has been implemented.
2016-12-11 v1.999805 pjacklam
* Fix Makefile.PL so that this module installs over the core version.
* Add more tests for _nok() (binomial coefficient "n over k"). These new tests
revealed some problems with some of the backend libraries when _nok() was
given very large arguments.
* Remove t/Math/BigFloat/#Subclass.pm#, which is an Emacs temporary file
included by accident.
2016-12-07 v1.999804 pjacklam
* Implement as_bytes(), as requested (CPAN RT 119096). Also implement the
......
......@@ -154,7 +154,6 @@ t/from_oct-mbi.t
t/inf_nan.t
t/isa.t
t/lib_load.t
t/Math/BigFloat/#Subclass.pm#
t/Math/BigFloat/Subclass.pm
t/Math/BigInt/BareCalc.pm
t/Math/BigInt/Lib/Minimal.pm
......
......@@ -39,6 +39,6 @@
}
},
"release_status" : "stable",
"version" : "1.999804",
"version" : "1.999806",
"x_serialization_backend" : "JSON::PP version 2.27400"
}
......@@ -21,5 +21,5 @@ requires:
Math::Complex: '1.39'
Test::More: '0.94'
perl: '5.006001'
version: '1.999804'
version: '1.999806'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
......@@ -4,7 +4,7 @@ use strict;
use warnings;
use ExtUtils::MakeMaker;
WriteMakefile
my %WriteMakefileArgs =
(
'NAME' => 'Math::BigInt',
'VERSION_FROM' => 'lib/Math/BigInt.pm',
......@@ -21,3 +21,10 @@ WriteMakefile
'INC' => '', # e.g., '-I/usr/include/other'
'SIGN' => 1,
);
# Install over the core version? (Cf. CPAN RT #119199 and #119225.)
$WriteMakefileArgs{INSTALLDIRS} = 'perl'
if $] < 5.012;
WriteMakefile(%WriteMakefileArgs);
......@@ -15,32 +15,31 @@ not run its Makefile.PL or Build.PL.
Hash: SHA1
SHA1 20104176cd4b0623c201cdb2c9583056898b2afc BUGS
SHA1 755acfd201a20351030f77c0ff7aeb42d89a1423 CHANGES
SHA1 9604e18fb4a9e0ee0680a79fce863a4693ef8f61 CHANGES
SHA1 a40e6f05bfd2a3e0542cf9e4971b1d48100eb2fd CREDITS
SHA1 8d0b726d78afa344fb12508e1b027079699570e4 GOALS
SHA1 fe61299e80a1dca48fbaa33f0869e3238ec07c70 HISTORY
SHA1 d7c83d8f89b92a3262a01eb2778d39402e77263a LICENSE
SHA1 536b20c8fbe593c8f73ad08000210b4d4731e0b2 MANIFEST
SHA1 53f2a7c22586a49c546df9451d2d0f49609032e8 MANIFEST
SHA1 86df44fbe1ea7a68897113f0e327d0f0c25b91e3 MANIFEST.SKIP
SHA1 23cd038049ce1aa81bb94580d2bd6aa1cda9a738 META.json
SHA1 d73bcf645a934a9f62c2eeb1d47f4c69ce6fe570 META.yml
SHA1 a3ec4bde20bcafcc16ffcbe577befa0728a61176 Makefile.PL
SHA1 509161885a213b2e494eea24c550f2fae833c926 META.json
SHA1 e369bd2c9ec330fa00a38cb69e69797292e1030a META.yml
SHA1 55e09f0b292300534fde912aa515f9f414d20e85 Makefile.PL
SHA1 4e2191d1724e699862efc5350f480c8e02755112 NEW
SHA1 813c62e6d3edd18b7b634765ecbd75b2cd6389a0 README
SHA1 eda34055882182d059d20179b445be7a2940e8cf TODO
SHA1 bf92a92718fe3dae1b24983b48064e638b23609f TODO
SHA1 a8ffc7d3270e481c9d24603a74ba2c0f46cae0e3 examples/1000.txt
SHA1 3295c03031e6a50199c1acc743a3f3276e6ae59d examples/bigprimes.pl
SHA1 989bfc0ad145d0f42b1eb65e83d9de018a7ee150 examples/prime.pl
SHA1 079e7420478cf71f866bd1c2dc2dcccdeaac807a lib/Math/BigFloat.pm
SHA1 b834f100857766fc45cdcdf7965718bb6380eeb7 lib/Math/BigInt.pm
SHA1 494567e1b03193567255d009d2e0b344350b68de lib/Math/BigInt/Calc.pm
SHA1 01d0274ae39942d61835151011f0844546240510 lib/Math/BigInt/CalcEmu.pm
SHA1 c2e87a3682c56c6160681d5c2b851188ab419d66 lib/Math/BigInt/Lib.pm
SHA1 f1f5be516500618d9af0ad6fa60a35aaa6f93018 lib/Math/BigFloat.pm
SHA1 2d300507ad672672871b62c4f890bf46dd9c3661 lib/Math/BigInt.pm
SHA1 d8c1142e9165d9fecaf0c6e2cb0d7a57bd79f48f lib/Math/BigInt/Calc.pm
SHA1 717fda8e93edf84bd4cd3ecec50aa266402c1bf5 lib/Math/BigInt/CalcEmu.pm
SHA1 a02462755869b599bb3b9386a477df47b0ee7e30 lib/Math/BigInt/Lib.pm
SHA1 385cc7ed3bf3e6290640b9880445ca9a3dea629e t/00sig.t
SHA1 062a7e33e6697b19e002cdb11f3c648fe6669139 t/01load.t
SHA1 b2ed9206ca5b69ec3b8bbf850bf4b6dfde518e7e t/02pod.t
SHA1 47c879490e1a6229d0464805679c67660af7b4b3 t/03podcov.t
SHA1 a323fbde83f97abdedc14ff923a2ecabb1333e2d t/Math/BigFloat/#Subclass.pm#
SHA1 a323fbde83f97abdedc14ff923a2ecabb1333e2d t/Math/BigFloat/Subclass.pm
SHA1 079c95d9ecb1e4c0a863c60d66c15c407b162ad9 t/Math/BigInt/BareCalc.pm
SHA1 e8bff535d485feb97b03fe8217f3446a28d82fe8 t/Math/BigInt/Lib/Minimal.pm
......@@ -73,8 +72,8 @@ SHA1 18871aee9027f01272891d94efb6107eea4770bb t/author-lib-arithmetic-binary-_mo
SHA1 593f9d7c94d5646bdfcdd8725bdac14764be45d0 t/author-lib-arithmetic-binary-_modinv.t
SHA1 71492c41e07d6781da14071a7906e779ee458640 t/author-lib-arithmetic-binary-_mul.dat
SHA1 578f0a5ce2e95b138debf0b424b69116622b0076 t/author-lib-arithmetic-binary-_mul.t
SHA1 25d26339d29ab2546d6a0d75b2623aa41d85765a t/author-lib-arithmetic-binary-_nok.dat
SHA1 f01d84e484b9934e7c535fcea884e792327de7a3 t/author-lib-arithmetic-binary-_nok.t
SHA1 9881f81ca938c4e7a5e70def24e94c70d9e8120c t/author-lib-arithmetic-binary-_nok.dat
SHA1 da4b6c07bb777449b5fa8ce8cec67fa192f49638 t/author-lib-arithmetic-binary-_nok.t
SHA1 797a6ecadf6da4c6613fa19959f24cdf3f9663f6 t/author-lib-arithmetic-binary-_pow.t
SHA1 dd7fe3081c7b34d812bd2d63bd0a379336a6fb2f t/author-lib-arithmetic-binary-_root.dat
SHA1 0970c90d08317cc230ac985ff95432e624bd3aea t/author-lib-arithmetic-binary-_root.t
......@@ -162,7 +161,7 @@ SHA1 8d5692fa1ab8b84bb816f83c0d51c409de8f13b5 t/bsstr-mbf.t
SHA1 c97164e3ae794f8d2f141be42e5f7af4f2dd674b t/bsstr-mbi.t
SHA1 dcaf0d82455c9a814da942383cbceb2da7ad3a4c t/calling-class-methods.t
SHA1 63e873c5cdcccfb338fb9220d33904027865e9cf t/calling-instance-methods.t
SHA1 cf6abcd1fbd6ae1deafc2fd8bc3f3cb4b92d1db0 t/calling.t
SHA1 9821593fcc9ae5db1f1bb1697edfec8f2b01ed81 t/calling.t
SHA1 c403d1c64ae6c3b803fc8cd0d10a1df15219057f t/config.t
SHA1 af01ecfb6f43bb518c67185eb063c196e2dbdc48 t/const_mbf.t
SHA1 17eb15c35392945a5b3ed2b711f7d166fca294de t/constant.t
......@@ -221,11 +220,11 @@ SHA1 6f8e43710067bed0b0872fafdeb751c9a68732c4 t/use_mbfw.t
SHA1 33e23e08da0a2ee6861350a81e843a2522b4966b t/with_sub.t
-----BEGIN PGP SIGNATURE-----
iQEcBAEBAgAGBQJYSSwKAAoJEGcmPl2fr166TWsH/1Ek+LykUlHo73bU3sSjhAtT
So6HcE3mIe+fUCgJ6wS5gnnvLJSf1tLCES5O38k9R7Vi/Z60M7pJQRpnvUIOhJf7
TV/gFeMJPlpy86hxQXFqRkiPa/QK/yK2o8pD4kFsc3iKcSuRcDaYlq8+7sDdOpsa
8lwbm/zinXNM4PPwo0PyUM0SXCLuAN0B/55fkWpAXJe/JZJ1KhpcEXpO23i/Yjfc
mpyn1uw4n/zptyU2b354wobfIUwB6ZCU4pRsLQaz14U4sYL9lSaGCKRsYCnbekEc
T5e0p0DHqPMz0pA8ZvRSSFAr9b0RL2AQr6SxgxnJc/CLm70JdyAtyGxC/zhHM1U=
=D6DA
iQEcBAEBAgAGBQJYUE1GAAoJEGcmPl2fr166w0AH+wTUtp7gNDsw7YfKVOhbpD1Z
zIXFPODInAJipgvxkECpblzLf+it4hlQGkpvmbpzaqPdvhH6zWje88j6JfjgNM8S
w4HMsxZ22xryY0JCa6QveAgfbIPFMAjURB5MKbZJZUYExeF6r6LecL4xbLhZnnv2
4+Onlt9YN8FnTqQ12AS7+Sd5btqBKfudlZE/HhXZ3+JG11jC2qZihisLfFTUglmH
L78/RXne/nrQKH38p+M+SOXtLnivfwMGc+lnOwYcCqakDn5xC7WRpAk+YhchgaPd
VwhNJgguaCcZcE1a+zmvcztVohZvqTUOAw4/HZ+2OwkUS1lDEMN9u6tonL6sLkw=
=P/ot
-----END PGP SIGNATURE-----
......@@ -18,7 +18,6 @@ Math::BigFloat:
* blog() is still quite slow for non-integer results. See if we can reuse the
integer calculation somehow
* finish broot() by using different algorithm
* hexadecimal integers work, but what about '0xABC.DEF'? Really needed?
Math::BigInt:
* finish 'upgrade'
......@@ -33,12 +32,12 @@ Math::BigInt:
rounding parameters, so that $x->foo($y,$a,$p,$r) may return $x without a
set $a or $p, thus failing later on:
use Test;
BEGIN { plan tests => 1; }
use Math::BigInt;
$x = Math::BigInt->bone();
$x->bsqrt(3,0,'odd'); # $x = 0, but _a is not 3!
ok ($x + '12345','12300'); # fails (12346 instead of 12300)
use Test;
BEGIN { plan tests => 1; }
use Math::BigInt;
$x = Math::BigInt->bone();
$x->bsqrt(3,0,'odd'); # $x = 0, but _a is not 3!
ok ($x + '12345','12300'); # fails (12346 instead of 12300)
The shortcuts in code that return $x->bzero() or similar things need to
do $x->bzero($a,$p); and this needs tests.
......@@ -58,5 +57,3 @@ Math::BigInt::Calc:
Please send me test-reports, your experiences with this and your ideas - I love
to hear about my work!
Tels <http://bloodgate.com/>
......@@ -19,7 +19,7 @@ use warnings;
use Carp ();
use Math::BigInt ();
our $VERSION = '1.999804';
our $VERSION = '1.999806';
require Exporter;
our @ISA = qw/Math::BigInt/;
......
......@@ -20,7 +20,7 @@ use warnings;
use Carp ();
our $VERSION = '1.999804';
our $VERSION = '1.999806';
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(objectify bgcd blcm);
......
......@@ -7,7 +7,7 @@ use warnings;
use Carp;
use Math::BigInt::Lib;
our $VERSION = '1.999804';
our $VERSION = '1.999806';
our @ISA = ('Math::BigInt::Lib');
......
......@@ -4,7 +4,7 @@ use 5.006001;
use strict;
use warnings;
our $VERSION = '1.999804';
our $VERSION = '1.999806';
package Math::BigInt;
......
......@@ -4,7 +4,7 @@ use 5.006001;
use strict;
use warnings;
our $VERSION = '1.999804';
our $VERSION = '1.999806';
use Carp;
......@@ -588,9 +588,9 @@ sub _fac {
}
sub _log_int {
# calculate integer log of $x to base $base
# calculate integer log of $x to base $base
# ref to array, ref to array - return ref to array
my ($class, $x, $base) = @_;
# X == 0 => NaN
......
#!perl
# for testing subclassing Math::BigFloat
package Math::BigFloat::Subclass;
require 5.006;
use strict;
use warnings;
use Exporter;
use Math::BigFloat 1.38;
our ($accuracy, $precision, $round_mode, $div_scale);
our @ISA = qw(Exporter Math::BigFloat);
our $VERSION = "0.06";
use overload; # inherit overload from BigInt
# Globals
$accuracy = $precision = undef;
$round_mode = 'even';
$div_scale = 40;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $value = shift;
my $a = $accuracy; $a = $_[0] if defined $_[0];
my $p = $precision; $p = $_[1] if defined $_[1];
# Store the floating point value
my $self = Math::BigFloat->new($value, $a, $p, $round_mode);
bless $self, $class;
$self->{'_custom'} = 1; # make sure this never goes away
return $self;
}
BEGIN {
*objectify = \&Math::BigInt::objectify;
# to allow Math::BigFloat::Subclass::bgcd( ... ) style calls
*bgcd = \&Math::BigFloat::bgcd;
*blcm = \&Math::BigFloat::blcm;
}
1;
This diff is collapsed.
......@@ -11,7 +11,7 @@ BEGIN {
use strict;
use warnings;
use Test::More tests => 81205;
use Test::More tests => 82645;
###############################################################################
# Read and load configuration file and backend library.
......
......@@ -6,7 +6,7 @@ use strict;
use warnings;
use lib 't';
my $VERSION = '1.999804'; # adjust manually to match latest release
my $VERSION = '1.999806'; # adjust manually to match latest release
use Test::More tests => 5;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment