Is there any requirement on how many random bits Math.random
is supposed to produce? I did some tests on Chrome and Firefox's implementations, converting the results to hex to examine the bits, and Firefox 27.0.1 gives results like
0x1.de619579d56f3p-1
0x1.ef1ada9306decp-2
0x1.df3b75e208ce6p-1
whereas Chrome Version 33.0.1750.154 m gives
0x1.1190f39c00000p-2
0x1.b959e3b600000p-1
0x1.90f614b400000p-2
which is godawful in comparison. It appears to be a 32-bit result, whereas Firefox's values seem to use 53 random bits.