MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1var global_res;
2
3function closure_var(n) {
4 function f(a) {
5 sum++;
6 }
7
8 var j, sum;
9 sum = 0;
10 for (j = 0; j < n; j++) {
11 f(j);
12 f(j);
13 f(j);
14 f(j);
15 }
16 global_res = sum;
17 return n * 4;
18}
19
20// Warm up and then check for NaN
21for (var i = 0; i < 100; i++) {
22 var n = (i < 10) ? (i + 1) : (i * 100);
23 var result = closure_var(n);
24 var expected = n * 4;
25 if (result !== expected) {
26 console.log("FAIL: closure_var(" + n + ") = " + result + ", expected " + expected + " (iter " + i + ")");
27 }
28}
29console.log("done");