ダイナミック リンク ライブラリ(DLL)のパフォーマンスを改善したいと考えています。
そのために、 cos()とsin()のルックアップ テーブルを使用したいと考えています。
最大のパフォーマンスが必要なので、cos と sin の計算結果を含む0 から 2PIまでのテーブルを作成したいと考えています。
精度の点で良い結果を得るには、関数ごとに 1 mb のテーブルがサイズと精度の間の良いトレードだと思います。
外部ファイルを使用せずにこれらのテーブルを作成および使用する方法を知りたい (DLL であるため) :すべてを 1 つのファイル内に保持したい。
また、プラグインの開始時に sin 関数と cos 関数を計算したくありません。一度計算して標準ベクトルに入れる必要があります。
しかし、C++ でそれを行うにはどうすればよいでしょうか。
EDIT1: jons34yp のコードは、ベクター ファイルを作成するのに非常に適しています。
小さなベンチマークを行ったところ、優れた精度と優れた速度が必要な場合は、250000 単位のベクトルを実行し、それらの間で線形補間を行うと、7.89E-11 の最大エラー (!) が発生し、すべての近似値の中で最速であることがわかりました。私は試しました(そして、sin()よりも12倍以上高速です(正確には13,296倍高速です)