marcoconsiglio / phprimes-generator
A PHP primes number generator originally created by Pol Dellaiera.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/marcoconsiglio/phprimes-generator
Requires (Dev)
- phpunit/phpunit: ^12.5
This package is auto-updated.
Last update: 2026-01-06 16:23:12 UTC
README
PHPrimes Generator
A PHP primes number generator originally created by Pol Dellaiera in its drupol/primes-bench repo.
Installation
composer require marcoconsiglio/phprimes-generator
Usage
OptimusPrime is the library endpoint to use the Prime3 class which is the best performing prime number generator written by Pol Dellaiera.
Keep in mind that:
- the generator in question continues forever, so it is highly recommended to set a limit (by default it is the first 500 prime numbers);
- random access is not possible, like in
$primes[$i]; - if you rewind the iterator, it start over again.
use MarcoConsiglio\PHPrimesGenerator\OptimusPrime; // Generate the first 5 prime numbers. $primes = new OptimusPrime(5)->generate(); // For older PHP versions use this // $primes = (new OptimusPrime(5))->generate(); foreach($primes as $number) { echo $number.PHP_EOL; }
2
3
5
7
11
Integer safe iterator
The OptimusPrime class uses an integer safe iterator which throws exception MaximumIntegerIteratorValueReached when PHP_INT_MAX + 1 value is reached.
use MarcoConsiglio\PHPrimesGenerator\OptimusPrime; try { $primes = new OptimusPrime(PHP_MAX_INT)->generate(); foreach($primes as $number) { echo $number.PHP_EOL; } } catch (MaximumIntegerIteratorValueReached $e) { echo $e->getMessage(); }
Generate to file
Do you rapidly need primes numbers on a text file? Uncomment the test method OptimusPrimeTest::test_record_primes_numbers_to_file(), set a $limit of your preference and launch the same test method with:
vendor/bin/phpunit --filter=test_record_primes_numbers_to_file
You will find your file in prime_numbers.txt;
API documentation
You can find API documentation in docs/html.