]> git.proxmox.com Git - ceph.git/blob - ceph/src/civetweb/src/third_party/duktape-1.3.0/examples/guide/prime.js
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / civetweb / src / third_party / duktape-1.3.0 / examples / guide / prime.js
1 // prime.js
2
3 // Pure Ecmascript version of low level helper
4 function primeCheckEcmascript(val, limit) {
5 for (var i = 2; i <= limit; i++) {
6 if ((val % i) == 0) { return false; }
7 }
8 return true;
9 }
10
11 // Select available helper at load time
12 var primeCheckHelper = (this.primeCheckNative || primeCheckEcmascript);
13
14 // Check 'val' for primality
15 function primeCheck(val) {
16 if (val == 1 || val == 2) { return true; }
17 var limit = Math.ceil(Math.sqrt(val));
18 while (limit * limit < val) { limit += 1; }
19 return primeCheckHelper(val, limit);
20 }
21
22 // Find primes below one million ending in '9999'.
23 function primeTest() {
24 var res = [];
25
26 print('Have native helper: ' + (primeCheckHelper !== primeCheckEcmascript));
27 for (var i = 1; i < 1000000; i++) {
28 if (primeCheck(i) && (i % 10000) == 9999) { res.push(i); }
29 }
30 print(res.join(' '));
31 }
32