我需要一个好的随机数生成器,用于我用C编写的程序。如果你感兴趣的话,它是一个分形火焰发生器。尽管我过去使用相同的算法取得了成功,但我的图像非常粗糙。我终于意识到,差异是我使用的随机数发生器。令人难以置信的是,它产生了巨大的差异。我希望更好的随机数发生器可能会产生更好的结果。答案可以是代码示例的形式,也可以是预先存在的随机数库的链接。最重要的要求:
答案 0 :(得分:12)
这似乎是Mersenne Twister
的一个很好的用例答案 1 :(得分:7)
如果您正在寻找一种非常快速,质量上乘的算法,您应该考虑xorshift128+
或xorshift1024*
。它们几乎和LCG一样快(根据我的比较,它们比简单的在线LCG慢30%),质量比LCG好得多。
您可以在此处找到他们的代码和比较:http://xorshift.di.unimi.it/