This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Math::BigInt::FastCalc from version 0.5008 to 0.5009
[perl5.git] / cpan / Math-BigInt-FastCalc / lib / Math / BigInt / FastCalc.pm
index 09409b8..4e903bd 100644 (file)
@@ -4,9 +4,11 @@ use 5.006;
 use strict;
 use warnings;
 
-use Math::BigInt::Calc 1.999706;
+use Math::BigInt::Calc 1.999801;
 
-our $VERSION = '0.42';
+our @ISA = qw< Math::BigInt::Calc >;
+
+our $VERSION = '0.5009';
 
 ##############################################################################
 # global constants, flags and accessory
@@ -16,26 +18,8 @@ sub api_version () { 2; }
 
 # use Calc to override the methods that we do not provide in XS
 
-for my $method (qw/
-    str num
-    add sub mul div
-    rsft lsft
-    mod modpow modinv
-    gcd
-    pow root sqrt log_int fac nok
-    digit check
-    from_hex from_bin from_oct as_hex as_bin as_oct
-    zeros base_len
-    xor or and
-    alen 1ex
-    /)
-    {
-    no strict 'refs';
-    *{'Math::BigInt::FastCalc::_' . $method} = \&{'Math::BigInt::Calc::_' . $method};
-    }
-
 require XSLoader;
-XSLoader::load(__PACKAGE__, $VERSION, Math::BigInt::Calc::_base_len());
+XSLoader::load(__PACKAGE__, $VERSION, Math::BigInt::Calc->_base_len());
 
 ##############################################################################
 ##############################################################################
@@ -52,12 +36,23 @@ Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
 
 =head1 SYNOPSIS
 
+    # to use it with Math::BigInt
+    use Math::BigInt lib => 'FastCalc';
+
+    # to use it with Math::BigFloat
+    use Math::BigFloat lib => 'FastCalc';
+
+    # to use it with Math::BigRat
+    use Math::BigRat lib => 'FastCalc';
+
+=head1 DESCRIPTION
+
+Math::BigInt::FastCalc inherits from Math::BigInt::Calc.
+
 Provides support for big integer calculations. Not intended to be used by
 other modules. Other modules which sport the same functions can also be used
 to support Math::BigInt, like L<Math::BigInt::GMP> or L<Math::BigInt::Pari>.
 
-=head1 DESCRIPTION
-
 In order to allow for multiple big integer libraries, Math::BigInt was
 rewritten to use library modules for core math routines. Any module which
 follows the same API as this can be used instead by using the following:
@@ -69,13 +64,10 @@ version like 'Pari'. To use this library:
 
        use Math::BigInt lib => 'FastCalc';
 
-Note that from L<Math::BigInt> v1.76 onwards, FastCalc will be loaded
-automatically, if possible.
-
 =head1 STORAGE
 
-FastCalc works exactly like Calc, in stores the numbers in decimal form,
-chopped into parts.
+Math::BigInt::FastCalc works exactly like Math::BigInt::Calc. Numbers are
+stored in decimal form chopped into parts.
 
 =head1 METHODS
 
@@ -161,11 +153,16 @@ Separated from BigInt and shaped API with the help of John Peacock.
 Fixed, sped-up and enhanced by Tels http://bloodgate.com 2001-2003.
 Further streamlining (api_version 1 etc.) by Tels 2004-2007.
 
-Bug-fixing by Peter John Acklam E<lt>pjacklam@online.noE<gt> 2010-2015.
+Bug-fixing by Peter John Acklam E<lt>pjacklam@online.noE<gt> 2010-2016.
 
 =head1 SEE ALSO
 
-L<Math::BigInt>, L<Math::BigFloat>, and the other backends
-L<Math::BigInt::Calc>, L<Math::BigInt::GMP>, and L<Math::BigInt::Pari>.
+L<Math::BigInt::Lib> for a description of the API.
+
+Alternative libraries L<Math::BigInt::Calc>, L<Math::BigInt::GMP>, and
+L<Math::BigInt::Pari>.
+
+Some of the modules that use these libraries L<Math::BigInt>,
+L<Math::BigFloat>, and L<Math::BigRat>.
 
 =cut