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
# 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());
##############################################################################
##############################################################################
=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:
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
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