Fast Prime number generator for math problems like project Euler.
var primesUnderThousand = PrimeCache.PrimeGenerator.GeneratePrimes()
.TakeWhile(x => x < 1000)
.ToList();
primesUnderThousand.ForEach(Console.WriteLine);
let hundredthPrime = PrimeCache.PrimeGenerator.GeneratePrimes () |> Seq.item 99
- GeneratePrimes(), returns a IEnumerable of all prime numbers less than 3037000500.
- GetCachedPrimes(), returns a cached version of GeneratePrimes(), which is keeps calculated primes in memory instead of re-generating them when GetCachedPrimes() is called more than once.
- Generator(IEnumerable primes) : initializes prime generator with pre-computed primes
- Generator() : calls Generator(new[] { 2 })