如果我想开始用 C++ 构建PRNG,什么是最适合这项工作的积木?
是否有任何具有可预测行为(带有种子)和伪随机的标准化和可移植库?
当你说“便携”时,我假设你想要给定相同种子的相同随机数序列,无论它们是为哪个平台编译的。伪随机数生成器应该提供相同的序列,只要它们基于相同的算法。我认为boost::random是你最好的选择,它是一个很好的随机数生成器(比rand
在许多情况下更好),具有跨平台的可预测行为。
C++11 提供了大量可移植的随机数生成器。这是由费米实验室的人推动的,他们对亚原子粒子相互作用进行重型模拟,通常涉及通过网络将工作分配给许多计算机。