我有一个for循环:
for (i=0; i<N; i++) a[i] = rand()
但这太慢了,BLAS / vDSP / vecLib /等可供我使用。我正在寻找一个函数来创建一个随机数组;它似乎应该被包括在内。
除了这个函数的名称,我还要感谢一些好的vDSP / vecLib / etc文档。我找到了some documentation,但这并不好 - 只是函数的一般描述。
答案 0 :(得分:1)
dlarnv
执行您所描述的内容。它使用随机(均匀或正常)值填充double
数组,并包含在vecLib中。
答案 1 :(得分:0)
快速且分布均匀的随机数生成器可用于多种用途,因此我相信你可以找到一些很棒的。我首先看一下Mersenne Twister,以及针对SIMD优化的特定实现,例如this。
速度的下一步将来自基于GPU或DSP的算法,但我目前还不知道公共领域中的任何算法。