function shouldBe(actual, expected) { | |
if (actual !== expected) | |
throw new Error('bad value: ' + actual); | |
} | |
var array = []; | |
var casted = []; | |
for (var i = 0; i < 1e2; ++i) { | |
array[i] = Math.random(); | |
casted[i] = 0; | |
} | |
function test(array, casted) | |
{ | |
for (var i = 0; i < array.length; i++) | |
casted[i] = Number(array[i] < .5 ? 1 : 0); | |
} | |
noInline(test); | |
function check(array, casted) | |
{ | |
for (var i = 0; i < array.length; i++) | |
shouldBe(casted[i], (array[i] < .5 ? 1 : 0)); | |
} | |
noInline(check); | |
for (var i = 0; i < 1e5; ++i) { | |
test(array, casted); | |
check(array, casted); | |
} |