相关疑难解决方法(0)

C++ 11中的随机数生成:如何生成,它是如何工作的?

我最近遇到了在C++ 11中生成随机数的新方法,但无法消化我读到的关于它的论文(什么是引擎,数学术语如分布,"所有生成的整数同样可能 ").

所以任何人都可以解释

  • 这些是什么?
  • 他们的意思是什么?
  • 怎么生成?
  • 它们是如何工作的?
  • 等等

您可以在一个有关随机数生成的常见问题解答中调用它.

c++ random c++11

91
推荐指数
2
解决办法
7万
查看次数

C++超快速线程安全rand功能

void NetClass::Modulate(vector <synapse> & synapses )
{
    int size = synapses.size();
    int split = 200 * 0.5;

    for(int w=0; w < size; w++)
        if(synapses[w].active)
            synapses[w].rmod = ((rand_r(seedp) % 200 - split ) / 1000.0);
}
Run Code Online (Sandbox Code Playgroud)

该功能rand_r(seedp)严重瓶颈我的计划.具体来说,它在串行运行时减慢了3倍,在16核运行时减慢了4.4倍.rand()不是一种选择,因为它更糟糕.有什么我可以做的来简化这个吗?如果它会产生影响,我认为我可以在统计随机性方面遭受损失.预先生成(在执行之前)一个随机数列表,然后加载到线程堆栈是一个选项吗?

c++ random optimization multithreading

12
推荐指数
3
解决办法
5462
查看次数

标签 统计

c++ ×2

random ×2

c++11 ×1

multithreading ×1

optimization ×1