我最近遇到了在C++ 11中生成随机数的新方法,但无法消化我读到的关于它的论文(什么是引擎,数学术语如分布,"所有生成的整数同样可能 ").
所以任何人都可以解释
您可以在一个有关随机数生成的常见问题解答中调用它.
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()不是一种选择,因为它更糟糕.有什么我可以做的来简化这个吗?如果它会产生影响,我认为我可以在统计随机性方面遭受损失.预先生成(在执行之前)一个随机数列表,然后加载到线程堆栈是一个选项吗?