Fast functions for dealing with prime numbers, such as testing
whether a number is prime and generating a sequence prime numbers.
Additional functions include finding prime factors and Ruth-Aaron pairs,
finding next and previous prime numbers in the series, finding or estimating
the nth prime, estimating the number of primes less than or equal to an
arbitrary number, computing primorials, prime k-tuples (e.g., twin primes),
finding the greatest common divisor and smallest (least) common multiple,
testing whether two numbers are coprime, and computing Euler's totient
function. Most functions are vectorized for speed and convenience.

Author: Oliver Keyes License:MIT Status: In development

Description

primes is a simple package that does two things; tests for prime numbers, and generates prime numbers. Testing can be done with is_prime, which accepts an integer vector of any length and returns a logical vector of equal length containing, for each element, whether it is prime (TRUE) or not (FALSE). generate_primes generates every prime number between min and max, where min is 0 by default.

Both functions rely on a C++ implementation of Wilson's theorem for testing primality; in theory this is a very slow test, but in practice, due to the restrictions R places around maximum integer sizes, it's fast enough for our needs.