[JSC] Clean up Object.entries implementation
[WebKit-https.git] / JSTests / microbenchmarks / generator-sunspider-access-nsieve.js
1 // The Great Computer Language Shootout
2 // http://shootout.alioth.debian.org/
3 //
4 // modified by Isaac Gouy
5
6 function *prime(m)
7 {
8    let isPrime = Array(m+1);
9
10    for (let i=2; i<=m; i++) { isPrime[i] = true; }
11
12    for (let i=2; i<=m; i++){
13       if (isPrime[i]) {
14          for (let k=i+i; k<=m; k+=i) isPrime[k] = false;
15          yield i;
16       }
17    }
18 }
19
20 function sieve() {
21     let sum = 0;
22     for (let i = 1; i <= 3; i++ ) {
23         let m = (1<<i)*10000;
24         let count = 0;
25         for (let primeNumber of prime(m)) {
26             count++;
27         }
28         sum += count;
29     }
30     return sum;
31 }
32
33 let result = sieve();
34
35 let expected = 14302;
36 if (result != expected)
37     throw "ERROR: bad result: expected " + expected + " but got " + result;