快速实现三角函数

短版本:我想知道是否有标准的三角函数的实现比包括在math.h中的更快。

长版本:我有一个相当重的数字程序(这是一个物理模拟),需要调用三角函数,大多是sin和cos。目前我只是使用math.h中包含的实现。分析表明,对这些函数的调用的成本超过了我的期望(希望)。

虽然在代码的其他部分有大量的优化空间,有更快的罪和cos可能会给我一些额外的百分比..所以,你们有什么建议吗?
在另一个post,建议使用自制查找表。但也许有替代品?或者在一些库中准备好并经过良好测试的查找解决方案?

这里有一些好的幻灯片,如何做功率系列近似(不是泰勒系列)的trig函数:http://www.research.scea.com/gdc2003/fast-math-functions.html

它面向游戏程序员,这意味着准确性被牺牲的性能,但你应该能够添加另一个或两个到近似值,以获得一些准确性。

关于这一点的好处是,你也应该能够将其扩展到SIMD,以便您可以计算4个值的sin或cos在一个(如果你使用双精度)。

希望有帮助…

http://stackoverflow.com/questions/5777110/fast-implementation-of-trigonometric-functions-for-c

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:快速实现三角函数