我想一起计算一个值的正弦和正弦值(例如创建一个旋转矩阵).当然我可以一个接一个地分别计算它们a = cos(x); b = sin(x);,但我想知道在需要两个值时是否有更快的方法.
编辑:
总结到目前为止的答案:
弗拉德说,有asm命令FSINCOS计算它们(几乎与FSIN单独呼叫同时)
像Chi注意到的那样,这种优化有时已经由编译器完成(当使用优化标志时).
咖啡厅指出,其功能sincos和sincosf可能是可用的,并且可以通过只包括直接调用math.h
讨论使用查找表的 tanascius方法存在争议.(但是在我的计算机和基准测试场景中,它运行速度比sincos32位浮点几乎相同的速度快3倍.)
Joel Goodwin与一种极其快速近似技术的有趣方法相关联,具有相当好的准确性(对我来说,这比查表更快)