Skip to content

A PHP primes number generator originally created by Pol Dellaiera

License

Notifications You must be signed in to change notification settings

MarcoConsiglio/phprimes-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub License GitHub Release Static Badge
Static Badge Static Badge Static Badge

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.

About

A PHP primes number generator originally created by Pol Dellaiera

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages