]> git.proxmox.com Git - ceph.git/blame - ceph/src/civetweb/src/third_party/duktape-1.5.2/examples/guide/prime.js
buildsys: switch source download to quincy
[ceph.git] / ceph / src / civetweb / src / third_party / duktape-1.5.2 / examples / guide / prime.js
CommitLineData
7c673cae
FG
1// prime.js
2
3// Pure Ecmascript version of low level helper
4function 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
12var primeCheckHelper = (this.primeCheckNative || primeCheckEcmascript);
13
14// Check 'val' for primality
15function 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'.
23function 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