18 releases

0.3.7 Jun 7, 2024
0.3.6 Jan 3, 2023
0.3.5 Oct 10, 2022
0.3.2 Feb 16, 2022
0.2.4 Jun 30, 2015

#1233 in Math

Download history 5472/week @ 2024-07-29 2757/week @ 2024-08-05 4402/week @ 2024-08-12 3880/week @ 2024-08-19 4496/week @ 2024-08-26 4048/week @ 2024-09-02 3769/week @ 2024-09-09 4436/week @ 2024-09-16 3912/week @ 2024-09-23 4223/week @ 2024-09-30 4402/week @ 2024-10-07 7664/week @ 2024-10-14 6491/week @ 2024-10-21 6469/week @ 2024-10-28 5620/week @ 2024-11-04 4552/week @ 2024-11-11

23,517 downloads per month
Used in 82 crates (5 directly)

MIT/Apache

560KB
8K SLoC

primal

crates.io documentation minimum rustc 1.36

primal puts raw power into prime numbers.

This crates includes

  • optimised prime sieves
  • checking for primality
  • enumerating primes
  • factorising numbers
  • estimating upper and lower bounds for π(n) (the number of primes below n) and pk (the kth prime)

This uses a state-of-the-art cache-friendly Sieve of Eratosthenes to enumerate the primes up to some fixed bound (in a memory efficient manner), and then allows this cached information to be used for things like enumerating and counting primes.

primal takes around 2.8 seconds and less than 3MB of RAM to count the exact number of primes below 1010 (455052511) on the author's laptop (i7-3517U).

Documentation


lib.rs:

Highly optimised prime sieves.

This is designed to be used via the primal crate.

Dependencies