3

私は全体を見渡していましたが、関数がそのPI部分をどのように計算または使用するかを見つけることができませんでした。私のプロジェクトでは、PI の小数点以下 34 桁の精度を持つ定義済み定数を使用しています。ただし、これは通常の math.h で定義された PI の定数 (小数点以下 16 桁) をはるかに超えています。

私の質問は、sincospi がその答えを計算するためにどの程度正確な PI を使用しているかということです。math.h の PI 定数を使用しているだけですか?

4

1 に答える 1

3

sincospi() の最大 ulp エラーは、sincos() の最大 ulp エラーと同じです。結果は、正しく丸められた参照から最大 1 ulp 異なります。別の言い方をすれば、結果は無限から 1.5 ulp 未満逸脱します。正確な数学的結果。平均して、結果の 90% 以上が正しく丸められます。すべての CUDA 数学関数で観測された最大誤差は、CUDA C プログラミング ガイドの付録に記載されています。sincospi(x) の精度は、sincos(M_PI*x) によって達成される精度よりも優れています。後者は、関数引数の乗算により追加の丸め誤差が発生するためです。

于 2012-09-14T01:29:22.350 に答える