使用System.Random.Mersenne.Pure64生成[0,1]范围内的随机浮点数

时间:2015-07-20 23:28:43

标签: haskell random mersenne-twister

我不想使用System.Random,因为它明显更慢,我需要生成数百万的随机浮点数。我也不能使用System.Random.MWC,因为它不纯。

我自己尝试写这个,但我的解决方案没有生成统一的范围,所有值都非常接近0。

char[]

我非常确定maxRealFloat函数是正确的,因为它返回correct values for Floats and Doubles according to Wikipedia

1 个答案:

答案 0 :(得分:3)

我意识到自己犯了一个非常愚蠢的错误。 System.Random.Mersenne.Pure64中的函数randomDouble返回一个已经在范围[0,1](documentation does not mention at all)中的双精度,并且我的所有数字都非常小,因为我将它们除以最大双精度。