Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/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
用于扩展c++;11随机发生器和分布 < >我有我写的生成统一随机数和高斯分布的遗留C++代码。它实现了George Marsaglia博士的算法,速度非常快。(我用它们生成了无数样本,用于蒙特卡罗高维积分。)_C++_Visual Studio 2010_Random_Stl_C++11 - Fatal编程技术网

用于扩展c++;11随机发生器和分布 < >我有我写的生成统一随机数和高斯分布的遗留C++代码。它实现了George Marsaglia博士的算法,速度非常快。(我用它们生成了无数样本,用于蒙特卡罗高维积分。)

用于扩展c++;11随机发生器和分布 < >我有我写的生成统一随机数和高斯分布的遗留C++代码。它实现了George Marsaglia博士的算法,速度非常快。(我用它们生成了无数样本,用于蒙特卡罗高维积分。),c++,visual-studio-2010,random,stl,c++11,C++,Visual Studio 2010,Random,Stl,C++11,我认为重新考虑生成器和分布以使用新的C++11 std::random方案是一个好主意 有人能给我指一个std::random的教程或很好的参考资料,其中包括如何扩展它的必要信息吗?示例代码将是理想的 更新。谢谢大家的帮助。我现在已经写了一个替换的STD::用Visual C++ 2010来传递的正常数分布。在我的机器上,当由默认发动机供电时,更换速度快26%。我有点失望,差别并没有更大,但嘿,这是我的问题。:-) 阅读boost库源代码可以学到很多东西,因为C++11中的许多建议都是从boos

我认为重新考虑生成器和分布以使用新的C++11 std::random方案是一个好主意

有人能给我指一个std::random的教程或很好的参考资料,其中包括如何扩展它的必要信息吗?示例代码将是理想的


更新。谢谢大家的帮助。我现在已经写了一个替换的STD::用Visual C++ 2010来传递的正常数分布。在我的机器上,当由默认发动机供电时,更换速度快26%。我有点失望,差别并没有更大,但嘿,这是我的问题。:-)

阅读boost库源代码可以学到很多东西,因为C++11中的许多建议都是从boost中采纳的

在此处查看示例rng引擎的界面:

我将从实现MIX max种子和操作函数()功能开始,看它是否作为C++ 11有效引擎,P> >是最新的C++标准草案(这是后C++ 11,但是C++ 11的一个极好的快照)。 C++11 random中的所有内容:26.5随机数生成[rand]

26.5.1.4随机数引擎要求[rand.req.eng]具有统一随机数生成器需要满足的所有要求

26.5.1.6随机数分布要求[rand.req.dist]具有高斯分布需要满足的所有要求

26.5.8.5.1类模板正态分布[rand.dist.norm.normal]是描述标准定义的高斯分布的部分

C++11
非常类似于STL,因为它为随机数生成器(容器)和随机分布(算法)设置了需求,然后客户机可以将两者混合并匹配。这是一个非常酷的设计

对不起,我不知道有什么好的教程。C++标准是一个很好的参考,也是一个糟糕的教程。然而,你显然在随机数领域受过良好的教育。假设你知道一两个关于C++的东西,C++标准可能不会太坏。 如果您想仔细阅读
的源代码(例如),可以使用它们的开源实现。一个例子是。他们所要求的是,如果您重用他们的任何代码,您将保留他们的版权声明

编辑


您是唯一有资格编写本教程的人。:-)

也许是什么?这里有一个.See作为参考。@Kerrek SB:正如我在问题中所说的,我想这样做的原因是Marsaglia博士的算法非常快。@Kerrek SB:我知道生成器和分布的作用。我想重构其中一个,使之与std::random兼容。不管为什么。感谢您的帮助。本标准第§26.5.1.3节和第§26.5.1.4节规定了随机数引擎的要求。分配要求见§26.5.1.6。您可以在这里找到一个标准的草稿文档:我希望能够阅读libc++的代码。我不会使用它,但它可能对解决问题有价值。我在网页上查看,似乎没有简单的方法获取包含文件。(我被困在Windows的土地上)呸。我找到了浏览libc++的地方。