Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 如何为pcg随机数生成器设定种子?_Random_Random Seed - Fatal编程技术网

Random 如何为pcg随机数生成器设定种子?

Random 如何为pcg随机数生成器设定种子?,random,random-seed,Random,Random Seed,在这种情况下,我认为他们只有一种方式是最佳/首选实践: pcg32 rng(pcg_extras::seed_seq_from<std::random_device>{}); pcg32 rng(pcg_extras::seed_seq_from{}); 或 //使用真实随机值(如果可用)进行种子设定 pcg_extras::seed_seq_来自seed_来源; //做一个随机数引擎 pcg32 rng(种子源); 然而,在我的机器上运行它每次只能产生相同的种子。如果我只是键

在这种情况下,我认为他们只有一种方式是最佳/首选实践:

pcg32 rng(pcg_extras::seed_seq_from<std::random_device>{});
pcg32 rng(pcg_extras::seed_seq_from{});

//使用真实随机值(如果可用)进行种子设定
pcg_extras::seed_seq_来自seed_来源;
//做一个随机数引擎
pcg32 rng(种子源);

然而,在我的机器上运行它每次只能产生相同的种子。如果我只是键入某个整数作为种子,也不会有什么好结果。如果以这种方式尝试不起作用,那么什么是一种好的种子生成方法?

pcg_extras::seed_seq_from应该是推荐的方法,但它将实际种子生成委托给模板参数中指定的生成器

MinGW的
std::random\u设备的实现已中断。因此,此时,如果您想以MinGW为目标,则不能使用
std::random\u设备

一些可能的替代方案:

  • boost::随机_设备
  • ,作者为PCG,M.E.O'Neill
  • ,作为std::random_设备的替代品(免责声明:这是我自己的库)
有关在中播种的详细信息

// Seed with a real random value, if available
pcg_extras::seed_seq_from<std::random_device> seed_source;

// Make a random number engine 
pcg32 rng(seed_source);