| //@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py |
| function foo(a, b, c, d) { |
| var result = a; |
| if (a < 0) |
| throw "what!"; |
| else if (a < 1) { |
| for (var i = b; i < c; ++i) |
| result += d[i]; |
| } else if (a < 2) { |
| for (var i = b + 1; i < c - 1; ++i) |
| result += d[i] * a; |
| } else if (a < 3) { |
| for (var i = b + 2; i < c - 2; ++i) |
| result += d[i] * b; |
| } else if (a < 4) { |
| for (var i = b + 3; i < c - 3; ++i) |
| result += d[i] * c; |
| } else |
| throw "huh?"; |
| return result; |
| } |
| |
| var array = []; |
| for (var i = 0; i < 20; ++i) |
| array.push(i); |
| |
| var limit = 20000; |
| var phases = 4; |
| var result = 0; |
| for (var i = 0; i < limit; ++i) { |
| var phase = (i * phases / limit) | 0; |
| result += foo(i % (phase + 1), ((i % array.length) / 2) | 0, array.length - (((i % array.length) / 2) | 0), array); |
| } |
| |
| if (result != 3072367) |
| throw "Bad result: " + result; |
| |
| |