Skip to main content

Module for working with prime numbers.

Project description

CyPrimes

Module for working with prime numbers written in Cython.

This is just a toy project to try out Cython.

Installation

# pip install cyprimes

To install CyPrimes a C-compiler (GCC, MinGW) is required.

Usage

Function is_prime(number)

This function returns True if the number is prime. Because it uses the C-type unsigned long for number it raises a ValueError if number < 0 or number > cyprimes.max_ulong.

Class Primes(limit)

This class uses the Sieve of Eratosthenes to find all prime numbers up to limit. An instance of this class supports the len function, the in operator, subscription (with integer indexes and slices), has an index method, is iterable, and can be pickled.

Warning

Although this class uses a bitarray for the sieve be carefull not run out of memory:

limit size
100 7 B
1 000 63 B
10 000 625 B
100 000 6 KiB
1 000 000 61 KiB
10 000 000 610 KiB
100 000 000 6 MiB
1 000 000 000 60 MiB
10 000 000 000 596 MiB
100 000 000 000 6 GiB
1 000 000 000 000 58 GiB

History

2020-06-02 (0.4.0)

  • First public release

2020-06-03 (0.4.1)

  • Fix: Primes() and is_prime() now raise TypeErrors if the parameter is not an integer
  • Fix: Primes.reversed() now works corrent

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cyprimes-0.4.1.tar.gz (61.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page