imp/primegen.nim

11 lines
372 B
Nim
Raw Normal View History

iterator primegen(limit: int = high(BiggestInt)): int:
"""
Generates primes < limit almost lazily by a segmented sieve of Eratosthenes.
Examples:
>>> primegen().take(20)
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71]
>>> primegen(73).toSeq()
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71]
"""