Skip to content
/ primality Public

🎲🎰🎱 Primality is an open source PyPi package that saves you time while working with prime numbers in Python 3.8+! (+1K downloads)

License

Notifications You must be signed in to change notification settings

nbcl/primality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Primality

PyPI PyPI - Downloads

Primality helps you easily find, test and work with prime numbers in Python.

primality.is_prime(516349073509121311)
>> True

primality.nth_prime(9999)
>> 104729

primality.prange(10)
>> [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

primality.between(10,19)
>> [11, 13, 17, 19]

primality.next_prime(3)
>> 5

primality.prev_prime(1000)
>> 997

primality.rand_prime(10, 50, RandomStrategy.RANDOM_LIB)
>> 17

Installation

Use the package manager pip to install Primality.

pip install primality

Implementation

Primality officially supports Python 3.8+.

from primality import primality

Documentation

For usage documentation and examples, please check out our wiki and docs.

Theory

The current version uses the Miller primality test(1) with known strong pseudoprime bases(2) to provide deterministic testing for integers between 2 and 264 - 1(3). For more details, please read THEORY.md

  1. Miller, G. (1976), "Riemann's Hypothesis and Tests for Primality", Journal of Computer and System Sciences.

  2. Zhang, Z and Tang, M. (2003), "Finding strong pseudoprimes to several bases. II", Mathematics of Computation.

  3. McCraine, J. (1997), "Sequence A014233 (Smallest odd number for which Miller-Rabin primality test on bases <= n-th prime does not reveal compositeness)". The On-Line Encyclopedia of Integer Sequences, OEIS Foundation.

Contributing

Contributions are welcome. Please remember to read CONTRIBUTING.md if it's your first time interacting with this project.

About

🎲🎰🎱 Primality is an open source PyPi package that saves you time while working with prime numbers in Python 3.8+! (+1K downloads)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages