Tag: mersenne twister

如何在C中实现Mersenne Twister随机数生成?

我想使用其中一个Mersenne Twister C库(例如tinymt , mtwist或libbrahe), 因此我可以将它用作 C程序中rand()的种子 。 我无法找到一个关于如何做到这一点的简单简约示例。 我用mtwist包得到了这个,但是通过pjs的评论,我意识到这是错误的做法: #include #include #include “mtwist.h” int main() { uint32_t random_value; random_value = mt_lrand(); srand(random_value); printf(“mtwist random: %d; rand: %d\n”, random_value, rand()); return 0; } (最初我写道,这段代码不能编译,但多亏了Carl Norum的回答,我能够完全编译它。) 谁能给我一个关于如何使用任何Mersenne Twister C库正确生成随机数的简单示例?

如何正确种植mersenne twister RNG?

这实际上并不像我最初想的那么简单。 在没有硬件RNG的情况下,播种Mersenne Twister的最佳方法是什么? 或者我应该说,播种用于生成UUID的Mersenne Twister RNG的可接受方式是什么?