我在scala.util.Random
发现了一些导致我昨天进行不必要调试的内容。
我只需要随机Doubles
,因此使用了scala.util.Random
。对于类似的种子(即整数0 ... N
),我发现对nextDouble()
的第一次调用返回了几乎相同的值;为了我对binned CDF进行抽样的目的,它们相同。
import scala.util.Random
val seed = 1 to 10
val nums = seed.map(u => new Random(u).nextDouble)
结果:
Vector(0.7308781907032909, 0.7311469360199058, 0.731057369148862, 0.7306094602878371, 0.730519863614471, 0.7307886238322471, 0.7306990420600421, 0.7302511331990172, 0.7301615514268123, 0.7304302967434272)
有什么我不了解scala.util.Random
吗?对于不同种子获得几乎相同的值对我来说似乎很奇怪。