MCPcopy Create free account
hub / github.com/TheAlgorithms/TypeScript / primeGenerator

Function primeGenerator

maths/primes.ts:37–59  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

35 * Inspired by https://gist.github.com/e-nikolov/cd94db0de2a6b70da144124ae93a6458
36 */
37export function* primeGenerator() {
38 type NumberGen = Generator<number, void, any>
39
40 function* filter(input: NumberGen, prime: number): NumberGen {
41 while (true) {
42 const { done, value } = input.next()
43 if (done) break
44 if (value % prime !== 0) yield value
45 }
46 }
47
48 let chain: NumberGen = (function* () {
49 let i = 2
50 while (true) yield i++
51 })()
52
53 while (true) {
54 const { done, value } = chain.next()
55 if (done) break
56 yield value
57 chain = filter(chain, value)
58 }
59}
60
61/**
62 * @function isPrime

Callers 1

primes.test.tsFile · 0.90

Calls 1

filterFunction · 0.85

Tested by

no test coverage detected