【发布时间】:2014-06-20 13:14:47
【问题描述】:
在 C 库 math.h 中,有一个非常高效的 sincos 函数,因为它计算正弦和余弦的时间更接近于对 sin() 或 cos() 的一次调用,而不是总时间调用两者。
C++标准库中有这样的功能吗?
【问题讨论】:
-
其实我已经有了自己的 sincos SSE 优化函数,但是在这里我正在编写一个示例插件,我希望使用标准库以外的任何其他库来使其尽可能简单
-
GCC 处于低优化水平 (
-O1),通常-Ofast会为您执行此操作。 godbolt.org/z/jCiTDo -
我会分析
std::exp(I * angle),或者查看它生成的代码 - 希望是(可能是内部的)优化的sincos函数。无论如何,它不会比分别调用sin和cos更糟糕,并且应该避免在尝试通过三角身份从另一个推导时出现数值不稳定性。
标签: c++ math libstdc++ trigonometry