【发布时间】:2017-05-01 16:54:07
【问题描述】:
我试图对 glibc 的double sqrt(double x) 函数的软件实现有一个很好的理解。代码没有很好的记录。
谁能引导我了解那里使用的方法。我至少需要它的名称,以便我可以查找它并尝试将其投影到代码上。
【问题讨论】:
我试图对 glibc 的double sqrt(double x) 函数的软件实现有一个很好的理解。代码没有很好的记录。
谁能引导我了解那里使用的方法。我至少需要它的名称,以便我可以查找它并尝试将其投影到代码上。
【问题讨论】:
搜索“9.99999999859990725855365213134618E sqrt”给了我这个页面:
https://cboard.cprogramming.com/c-programming/119879-sqrt-pow-functions.html
上面写着:
这是牛顿方法和一些小技巧的结合, 利用 IEEE 浮点表示。它不是 真的很难比牛顿聪明。这家伙是天才,但他 生活在 300 多年前。
所以牛顿的平方根方法可能是一个好的开始。
【讨论】: