gpt4 book ai didi

math - 指数如何计算?

转载 作者:行者123 更新时间:2023-12-04 09:57:19 29 4
gpt4 key购买 nike

我正在尝试确定我的一种算法的渐进运行时间,该算法使用指数,但是我不确定如何以编程方式计算指数。

我专门在寻找用于 double 浮点数的pow()算法。

最佳答案

我有机会了解fdlibm的实现。注释描述了所使用的算法:

 *                    n
* Method: Let x = 2 * (1+f)
* 1. Compute and return log2(x) in two pieces:
* log2(x) = w1 + w2,
* where w1 has 53-24 = 29 bit trailing zeros.
* 2. Perform y*log2(x) = n+y' by simulating muti-precision
* arithmetic, where |y'|<=0.5.
* 3. Return x**y = 2**n*exp(y'*log2)

然后列出所有已处理的特殊情况(0、1,inf,nan)。

在所有特殊情况下,代码中最密集的部分都涉及 log22**计算。在这两个循环中都没有循环。因此,尽管浮点图元很复杂,但它看起来像一个渐近恒定时间算法。

欢迎浮点专家(我不是其中的一员)发表评论。 :-)

关于math - 指数如何计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/164964/

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