我需要一个好的随机数生成器,用于我用 C 语言编写的程序。如果您有兴趣,它是一个分形火焰生成器。我的图像非常粗糙,尽管我过去使用相同的算法取得了成功。我终于意识到,不同之处在于我使用的随机数生成器。令人难以置信的是,它产生了巨大的变化。我希望更好的随机数生成器可能会产生更好的结果。答案可能以代码示例或指向预先存在的随机数库的链接的形式出现。最重要的要求:
- 它应该产生相对高质量的随机数流
- 周期必须超过百亿
- 它应该足够快并且提供良好的性能权衡。
最佳答案
这似乎是 Mersenne Twister 的一个很好的用例
- 它比 rand() 的大多数标准实现更快
- 它有很长的 (2^19937 − 1) 个周期
- 它具有相当高的质量 - 它通过了大多数标准化的随机性测试
- 这是公共(public)领域
关于c - 一个很好的 C 随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14890813/