6

Accelerate Framework の vDSP 関数では、すべての関数で結果ベクトルを入力する必要があります。元の入力ベクトルが不要になった場合、入力ベクトル (または入力ベクトルの 1 つ) を結果ベクトルとして渡すのは正しいですか?

私が意味するものの例:

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 操作の中には、1 つ以上の引数を使用したインプレース操作をサポートしていないものがあります。これは、vDSP リファレンス ガイドに記載されています。

于 2012-08-27T14:24:49.577 に答える