// vim: set ts=8 sts=4 et sw=4 tw=99: | |
function randomFloat () { | |
// note that in fuzz-testing, this can used as the size of a buffer to allocate. | |
// so it shouldn't return astronomic values. The maximum value 10000000 is already quite big. | |
var fac = 1.0; | |
var r = Math.random(); | |
if (r < 0.25) | |
fac = 10; | |
else if (r < 0.7) | |
fac = 10000000; | |
else if (r < 0.8) | |
fac = NaN; | |
return -0.5*fac + Math.random() * fac; | |
} | |
for (var i = 0; i < 100000; i++) | |
randomFloat(); | |