GC constraint solving should be parallel
[WebKit-https.git] / PerformanceTests / LongSpider / access-nsieve.js
1 // The Great Computer Language Shootout
2 // http://shootout.alioth.debian.org/
3 //
4 // modified by Isaac Gouy
5
6 function pad(number,width){
7    var s = number.toString();
8    var prefixWidth = width - s.length;
9    if (prefixWidth>0){
10       for (var i=1; i<=prefixWidth; i++) s = " " + s;
11    }
12    return s;
13 }
14
15 function nsieve(m, isPrime){
16    var i, k, count;
17
18    for (i=2; i<=m; i++) { isPrime[i] = true; }
19    count = 0;
20
21    for (i=2; i<=m; i++){
22       if (isPrime[i]) {
23          for (k=i+i; k<=m; k+=i) isPrime[k] = false;
24          count++;
25       }
26    }
27    return count;
28 }
29
30 function sieve() {
31     var sum = 0;
32     for (var i = 1; i <= 10; i++ ) {
33         var m = (1<<i)*10000;
34         var flags = Array(m+1);
35         sum += nsieve(m, flags);
36     }
37     return sum;
38 }
39
40 var result = sieve();
41
42 var expected = 1430116;
43 if (result != expected)
44     throw "ERROR: bad result: expected " + expected + " but got " + result;
45
46