Prime functions & generators

Functions involving prime numbers.

boring_math.number_theory.is_prime(n: int, /) → bool

is_prime

Test if argument is a prime number, uses Wilson’s Theorem.

param n:

Integer to check if prime.

returns:

True only if n is prime.

Warning

Not as performant as maintainer had hoped. Implementation subject to change.

boring_math.number_theory.primes(start: int = 2, end: int | None = None) → Iterator[int]

primes

Generate all primes p where start <= p <= end.

param start:

First value to check, defaults to 2.

param end:

Optional last value to check.

yields:

All primes between start and end inclusive.

Warning

If end is not given, returned iterator is infinite.

boring_math.number_theory.primes_capped(start: int, end: int) → Iterator[int]

primes capped

Generate all primes start <= p <= end.

param start:

First value to check.

param start:

Last value to check.

yields:

All primes p where start <= p <= end.

boring_math.number_theory.primes_wilson(start: int = 2) → Iterator[int]

primes via Wilson’s theorem

Prime number generation using Wilson’s Theorem.

param start:

First value to check, defaults to 2.

yields:

Prime numbers starting inclusively from start.

Note

Wilson’s Theorem: ∀(n>1) n is prime if and only if (n-1)! % n ≡ -1