NAME
    Math::GMP - High speed arbitrary size integer math

SYNOPSIS
      use Math::GMP;
      my $n = new Math::GMP 2;

      $n = $n ** (256*1024);
      $n = $n - 1;
      print "n is now $n\n";

DESCRIPTION
    Math::GMP is designed to be a drop-in replacement both for
    Math::BigInt and for regular integer arithmetic. Unlike BigInt,
    though, Math::GMP uses the GNU gmp library for all of its
    calculations, as opposed to straight Perl functions. This
    results in a speed increase of anywhere from 5 to 30 times. The
    downside is that this module requires a C compiler to install --
    a small tradeoff in most cases.

    A Math::GMP object can be used just as a normal numeric scalar
    would be -- the module overloads the normal arithmetic operators
    to provide as seamless an interface as possible. However, if you
    need a perfect interface, you can do the following:

      use Math::GMP qw(:constant);

      $n = 2 ** (256 * 1024);
      print "n is $n\n";

    This would fail without the ':constant' since Perl would use
    normal doubles to compute the 250,000 bit number, and thereby
    overflow it into meaninglessness (smaller exponents yield less
    accurate data due to floating point rounding).

BUGS
    As of version 1.0, Math::GMP is mostly compatible with
    Math::BigInt. There are some slight incompatibilities, such as
    output of positive numbers not being prefixed by a '+' sign.
    This is intentional.

    The install process of the gmp library is rather contrived. This
    needs fixing and testing on various platforms.

AUTHOR
    Chip Turner <chip@zfx.com>, based on Math::BigInt by Mark Biggar
    and Ilya Zakharevich.