我正在使用加速框架来优化我的DSP代码。有几次,我想将一个数组(或数组的一部分)的内容复制到另一个数组中。
我似乎找不到合适的函数来做这件事,所以我一直在做一些愚蠢的事情,那就是将数组乘以1(或加0),然后以这种方式获得副本。
float one = 1;
float sourceArray = new float[arrayLength];
/////....sourceArray is filled up with data
float destArray = new float[arrayLength];
vDSP_vsmul(sourceArray, 1, &one, destArray, 1, arrayLength);
一定有更好的方法来做到这一点!?谢谢!
发布于 2013-02-05 07:50:44
memcpy怎么样?
#include <string.h>
memcpy(destArray, sourceArray, arrayLength * sizeof(float));
发布于 2013-02-05 13:18:09
如果您愿意使用Accelerate的BLAS部分,Jeff Biggus将cblas_scopy()
评为比memcpy()
更快。
发布于 2013-02-05 10:11:30
我可以想出比vDSP_vsmul()
更糟糕的方法;你也可以做vvcopysign()
。
https://stackoverflow.com/questions/14697748
复制相似问题