// 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();