我有我编写的遗留 C++ 代码来生成均匀随机数和高斯分布。它实现了 George Marsaglia 博士的算法,速度极快。(我正在使用它们为蒙特卡洛高维积分生成大量样本。)
我认为重新分解生成器和分发以使用新的 C++11 std::random 方案是一个好主意。
任何人都可以向我指出一个教程或一个很好的 std::random 参考,其中包括如何扩展它的必要信息?示例代码将是理想的。
更新。感谢大家的帮助。我现在已经为 Visual C++ 2010 附带的 std::normal_distribution 编写了一个替代品。在我的机器上,当由默认引擎提供时,替代品的速度提高了 26%。我有点失望,差异不是更大,但是,嘿,那是我的问题。:-)