Skip to content

gchilders/Math-Prime-Util-GMP

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Code
This branch is 3 commits ahead, 33 commits behind danaj:master.

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
September 24, 2013 06:37
January 15, 2021 15:25
January 7, 2016 09:09
July 13, 2020 03:00
July 13, 2020 03:00
January 8, 2018 13:47
January 16, 2021 10:26
December 2, 2017 10:27
October 2, 2014 01:48
February 25, 2019 22:46
August 12, 2020 18:02
June 22, 2020 15:41
November 20, 2017 17:55
September 22, 2018 19:12
Math::Prime::Util::GMP version 0.53

A module for number theory in Perl using GMP.  This includes primality tests,
getting primes in a range, factoring, and more.

These use GMP directly, so should be quite fast for bignums.  This module is
mainly intended to be used within Math::Prime::Util, but most functions can
be easily used in independent C programs.  Some, like factoring and primality
proving, have explicit ways of compiling as standalone programs.


SYNOPSIS

  use bigint;
  use Math::Prime::Util::GMP qw/is_prime/;

  my $bignum = 27188762623694447842124996538064039444034480940561898523069471141322552613142248049662205275973369340310432664971214620312500867999795559094898390220747143052478910604268911012707898393728029267456459638286456542290811906119936040794792836567800517712998324001798156031927248728220625109007338679765933511619979774789836912923556217410691909195918721300495567162524824116421834972571058278049256235507898646245768556946276949788343519575161621940362646866507884693948582445313246609982609803440514973664475699712739781845803535392293307648102481184237357244142946254918813030632212409545324607906367812717102049454943;

  say "$bignum is ", is_prime($bignum) ? "prime" : "not prime";

See the POD module documentation for examples and more information on all the
methods included.


INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

You will need a C compiler compatible with the compiler used to build Perl,
and the GMP development system installed.  If you can install or have installed
Math::BigInt::GMP or Math::GMPz then this module should have no issues.

  Fedora:     sudo yum install gmp gmp-devel
  Ubuntu:     sudo apt-get install libgmp3 libgmp3-dev
  Cygwin:     install gmp, libgmp-devel, libgmp3


If you would like to make a standalone executable for ECPP, the easiest method
is to run the xt/create-standalone.sh script, which will create a standalone/
directory with Makefile and README.  You should make sure you have the large
discrimiment set (https://github.com/danaj/Math-Prime-Util-GMP/tree/master/xt/).
You may also simply compile it with:

  gcc -O3 -fomit-frame-pointer -DSTANDALONE -DSTANDALONE_ECPP ecpp.c bls75.c \
       ecm.c simpqs.c prime_iterator.c gmp_main.c small_factor.c utility.c \
       -lgmp -lm  -o ecpp-dj


DEPENDENCIES

Perl 5.6.2 or later.  No modules outside of Core have been used.


COPYRIGHT AND LICENCE

Copyright (C) 2011-2021 by Dana Jacobsen <dana@acm.org>

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

About

Perl prime number module using XS/GMP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.7%
  • Perl 3.7%
  • Other 0.6%