js/src/jit-test/tests/sunspider/check-access-nsieve.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // The Great Computer Language Shootout
     2 // http://shootout.alioth.debian.org/
     3 //
     4 // modified by Isaac Gouy
     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 }
    15 function nsieve(m, isPrime){
    16    var i, k, count;
    18    for (i=2; i<=m; i++) { isPrime[i] = true; }
    19    count = 0;
    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 }
    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 }
    39 sieve();
    40 assertEq(ret, 14302)

mercurial