跨平台可重现数字生成器

abe*_*ier 5 c++ random boost-random c++98

我需要一个“随机”数字生成器,对于Windows,Mac,Linux,iOS和Android上的给定种子,其生成的结果相同。现在我想std::randboost::random_int_generatorboost::mt19937,但遗憾的是,结果是Windows和Mac之间的不同。

有谁知道在所有平台上都能可靠运行的(C ++)实现吗?

编辑1:

更具体地说,boost::mt19937在Windows和Mac上的数字之间存在差异,这表明在Windows上还会生成(2)个其他数字块。看起来真的很奇怪,因为大多数数字都是相同的,这些块仅出现在Windows上。

编辑2:

boost::mt19937在所有平台上都能可靠运行。我们的问题不是那里的错误。

abe*_*ier 2

不同的数字产生了我们使用的一段glm代码。他们使用不确定的参数评估顺序,这对于几乎随机的目的来说是很好的,但当你想要确定性的数字时(显然)就不行了。因此,我们根据我们的目的更正了代码,并成功boost::mt19937在 Windows、Mac、Linux、Android 和 iOS 上使用。

对困惑感到抱歉。