我想在广泛的跨平台应用程序中开始使用boost :: random。 由于规范强制要求boost :: mt19937的具体实现,我非常感兴趣。
但是,我很难过地了解到增强版本没有相同的保证,并且可能因平台而异。
这意味着如果我想在不同的机器上同步RNG,我可能无法像教程所显示的那样使用boost分布,而且正如设计师所希望的那样。
尽管有警告,我仍然在看boost :: uniform_smallint。这是提升标题:
http://www.boost.org/doc/libs/1_55_0/boost/random/uniform_smallint.hpp
关键实现细节似乎在boost标题中完整显示。实际上是否仍有一种方法可以使计算在某个平台上具有不同的值?我真的应该害怕使用它吗?
如果由于图书馆的警告我无法安全地使用它,那么我最好的选择是什么?我是否应该直接在rng输出上使用%并希望boost :: mt19937的质量能够弥补它?