Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | // vim: set ts=8 sts=4 et sw=4 tw=99: |
michael@0 | 2 | function randomFloat () { |
michael@0 | 3 | // note that in fuzz-testing, this can used as the size of a buffer to allocate. |
michael@0 | 4 | // so it shouldn't return astronomic values. The maximum value 10000000 is already quite big. |
michael@0 | 5 | var fac = 1.0; |
michael@0 | 6 | var r = Math.random(); |
michael@0 | 7 | if (r < 0.25) |
michael@0 | 8 | fac = 10; |
michael@0 | 9 | else if (r < 0.7) |
michael@0 | 10 | fac = 10000000; |
michael@0 | 11 | else if (r < 0.8) |
michael@0 | 12 | fac = NaN; |
michael@0 | 13 | return -0.5*fac + Math.random() * fac; |
michael@0 | 14 | } |
michael@0 | 15 | |
michael@0 | 16 | for (var i = 0; i < 100000; i++) |
michael@0 | 17 | randomFloat(); |
michael@0 | 18 |