Scroll to navigation

Math::BigInt::FastCalc(3perl) Perl Programmers Reference Guide Math::BigInt::FastCalc(3perl)


Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed


    # 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';


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 Math::BigInt::GMP or Math::BigInt::Pari.

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 => 'libname';

'libname' is either the long name ('Math::BigInt::Pari'), or only the short version like 'Pari'. To use this library:

        use Math::BigInt lib => 'FastCalc';


Math::BigInt::FastCalc works exactly like Math::BigInt::Calc. Numbers are stored in decimal form chopped into parts.


The following functions are now implemented in FastCalc.xs:

        _is_odd         _is_even        _is_one         _is_zero
        _is_two         _is_ten
        _zero           _one            _two            _ten
        _acmp           _len
        _inc            _dec
        __strip_zeros   _copy


Please report any bugs or feature requests to "bug-math-bigint-fastcalc at", or through the web interface at <> (requires login). We will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Math::BigInt::FastCalc

You can also look for information at:


This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.


Original math code by Mark Biggar, rewritten by Tels <> in late 2000. Separated from BigInt and shaped API with the help of John Peacock.

Fixed, sped-up and enhanced by Tels 2001-2003. Further streamlining (api_version 1 etc.) by Tels 2004-2007.

Bug-fixing by Peter John Acklam <> 2010-2016.


Math::BigInt::Lib for a description of the API.

Alternative libraries Math::BigInt::Calc, Math::BigInt::GMP, and Math::BigInt::Pari.

Some of the modules that use these libraries Math::BigInt, Math::BigFloat, and Math::BigRat.

2022-07-04 perl v5.34.0