4

ベクトルで代数を実行したり、fft を計算したりしたい場合は、加速フレームワークが便利です。しかし、何か不足していない限り、ベクトル内の値のコサイン (またはその他の三角関数) を計算したい場合は、加速でそれを行う方法はありません。また、vecLib は iPhone では使用できないとマークされており、vDSP には平方根、対数、三角関数などの機能がありません...

私は本当に正しいですか?o_O

私がそうである場合、これらの不足している関数の計算を高速化し、施設の加速を利用するにはどうすればよいですか?


答え:

MrMage が以下で述べたように、vv...Accelerate で利用できる機能のファミリーがあります。これらには、トリガー、ログ、ルートなどが含まれます。ただし、複素数はサポートされていません。MrMageありがとう!

4

2 に答える 2

3

iOS 5.1 のドキュメントによると、少なくともvvsinf(および vecLib の同様の機能) は iOS 5.0 以降で使用できます。これはあなたのニーズを満たすはずだと思います。

于 2012-03-18T11:53:36.067 に答える
0

ドキュメントを読んだところ、Accelerate/vfp.h が iOS に存在し、そこに三角関数があることがわかりました。しかし、私はそれを使ってみたことがないので、私が間違っているという前提で続けます。

高速なトリガーの実装は、あまり巧妙ではないことが判明しました。テイラー展開と呼ばれる数学的なものがあります。

sin(theta+epsilon) = sin(theta) + x*epsilon + small corrections

つまり、シータのキー値について、sin(シータ) と x を記録するルックアップ テーブルを作成できます。次に、上記の式を実行しますが、これは非常に高速です (Accelerate の Fused Add and Multiply を見てください)。

于 2012-03-18T09:56:26.717 に答える