gpt4 book ai didi

c++ - 正弦和余弦哪个更有效? Sin 和 Cos 还是 Sin 和 Sqrt?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:38 35 4
gpt4 key购买 nike

不幸的是,标准 C++ 库没有对 sincos 的单一调用,这为这个问题提供了空间。

第一个问题:

如果我想计算 sin 和 cos,计算 sin 和 cos 更便宜,还是先计算 sin 再计算 sqrt(1-sin^2) 以获得 cos?

第二个问题:

intel 数学内核库为标准数学函数计算提供了非常好的函数,因此存在函数 vdSinCos() 以非常优化的方式解决问题,但 intel 编译器不是免费的。 Linux 发行版中是否有任何开源库(C、C++、Fortran)可用,它们具有我可以简单地链接到它们并获得最佳实现的那些功能?

注意:我不想深入探讨指令调用,因为并非所有 CPU 都支持它们。我想链接到一个通用库,它可以在任何 CPU 上为我完成这项工作。

谢谢。

最佳答案

GNU C 库有 a sincos() function ,它将利用大多数现代指令集所具有的“FSINCOS”指令。我会说那是你最好的选择;它应该与英特尔库方法一样快。

如果您不这样做,我会选择“sqrt(1-sin(x)^2)”路线。到目前为止,在我看过的每个处理器架构文档中,FSQRT 指令都比 FSIN 函数快得多。

关于c++ - 正弦和余弦哪个更有效? Sin 和 Cos 还是 Sin 和 Sqrt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18793975/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com