Skip to content

Perl (XS) module implementing prime number utilities, including sieves

License

Notifications You must be signed in to change notification settings

hurchalla/Math-Prime-Util

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math::Prime::Util version 0.73

A module for number theory in Perl.  This includes prime sieving, primality
tests, primality proofs, integer factoring, counts / bounds / approximations
for primes, nth primes, and twin primes, random prime generation,
and much more.

The default sieving and factoring are intended to be the fastest on CPAN.
Current measurements show it is faster than:
  Math::Prime::XS
  Math::Prime::FastSieve
  Math::Factor::XS
  Math::Big
  Math::Big::Factors
  Math::Factoring
  Math::Primality
  Math::Prime::TiedArray
  Crypt::Primes
  Math::ModInt::ChineseRemainder
For non-bignums, it is typically faster than Math::Pari (and doesn't
require Pari to be installed).  With Math::Prime::Util::GMP installed
it is usually faster than Math::Pari for bigints.


SYNOPSIS

  use Math::Prime::Util qw/primes/;

  # Get a big array reference of many primes
  my $aref = primes( 100_000_000 );

  # All the primes between 5k and 10k inclusive in a regular array
  my @primes = @{ primes( 5_000, 10_000 ) };

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.
Since the routines are meant to be used from Perl, the data types will match
the ones used with the Perl you are installing for.  This means a 32-bit Perl
running on a 64-bit machine will result in a 32-bit library.


DEPENDENCIES

Perl 5.6.2 or later (5.8 or later is preferred).

Bytes::Random::Secure::Tiny 1.002 or later.


COPYRIGHT AND LICENCE

Copyright (C) 2011-2021 by Dana Jacobsen <[email protected]>

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

About

Perl (XS) module implementing prime number utilities, including sieves

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 64.9%
  • C 28.3%
  • XS 6.5%
  • C++ 0.1%
  • CMake 0.1%
  • Python 0.1%