Perl 5 version 26.3 documentation

Math::BigInt::FastCalc

NAME

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

SYNOPSIS

  1. # to use it with Math::BigInt
  2. use Math::BigInt lib => 'FastCalc';
  3. # to use it with Math::BigFloat
  4. use Math::BigFloat lib => 'FastCalc';
  5. # to use it with Math::BigRat
  6. use Math::BigRat lib => 'FastCalc';

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 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:

  1. 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:

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

STORAGE

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

METHODS

The following functions are now implemented in FastCalc.xs:

  1. _is_odd _is_even _is_one _is_zero
  2. _is_two _is_ten
  3. _zero _one _two _ten
  4. _acmp _len
  5. _inc _dec
  6. __strip_zeros _copy

BUGS

Please report any bugs or feature requests to bug-math-bigint-fastcalc at rt.cpan.org , or through the web interface at https://rt.cpan.org/Ticket/Create.html?Queue=Math-BigInt-FastCalc (requires login). We will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

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

  1. perldoc Math::BigInt::FastCalc

You can also look for information at:

LICENSE

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

AUTHORS

Original math code by Mark Biggar, rewritten by Tels http://bloodgate.com/ in late 2000. 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 <pjacklam@online.no> 2010-2016.

SEE ALSO

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.