Home | History | Annotate | Download | only in sunspider-0.9
      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     for (var i = 1; i <= 3; i++ ) {
     32         var m = (1<<i)*10000;
     33         var flags = Array(m+1);
     34         nsieve(m, flags);
     35     }
     36 }
     37 
     38 sieve();
     39