// prime.js // Pure Ecmascript version of low level helper function primeCheckEcmascript(val, limit) { for (var i = 2; i <= limit; i++) { if ((val % i) == 0) { return false; } } return true; } // Select available helper at load time var primeCheckHelper = (this.primeCheckNative || primeCheckEcmascript); // Check 'val' for primality function primeCheck(val) { if (val == 1 || val == 2) { return true; } var limit = Math.ceil(Math.sqrt(val)); while (limit * limit < val) { limit += 1; } return primeCheckHelper(val, limit); } function primeTest() { var res = []; print('Have native helper: ' + (primeCheckHelper !== primeCheckEcmascript) + '\n'); for (var i = 2; i <= 1000; i++) { if (primeCheck(i)) { res.push(i); } } print(res.join(' ')); } print = this.send || conn.write print('HTTP/1.0 200 OK\r\nContent-Type: text/plain\r\n\r\n'); primeTest();