diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm index 2cc49f41f60..6920f5637af 100644 --- a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm @@ -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.40'; +our @ISA = qw< Math::BigInt::Calc >; + +our $VERSION = '0.5005'; ############################################################################## # 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 |