tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

check-access-nsieve.js (770B)


      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 var ret = 0;
     31 function sieve() {
     32    for (var i = 1; i <= 3; i++ ) {
     33        var m = (1<<i)*10000;
     34        var flags = Array(m+1);
     35        ret += nsieve(m, flags);
     36    }
     37 }
     38 
     39 sieve();
     40 assertEq(ret, 14302)