6

在 Accelerate Framework 的 vDSP 函数中,所有函数都需要您输入结果向量。如果我不再需要原始输入向量中的任何内容,将输入向量(或输入向量之一)作为结果向量传递是否正确?

我的意思的例子:

vDSP_vsadd(input_vector,1,scalar_addition,input_vector,1,length);

这将采用 input_vector 并将 scalar_addition 添加到所有元素。结果将存储在 input_vector 中。

4

1 回答 1

5

vDSP 中的简单向量操作都可以就地正常工作(只要它们严格就地;例如,您不能&input_vector[length/2]用于输出并期望获得有意义的结果)。事实上,就地使用它们通常会提供更好的性能,因为它可以减少缓存压力。

一些更复杂的 vDSP 操作不支持带有一个或多个参数的就地操作;这应该在 vDSP 参考指南中提及。

于 2012-08-27T14:24:49.577 回答