gpt4 book ai didi

python - 我在哪里可以检查 Python 的数学函数?

转载 作者:IT老高 更新时间:2023-10-28 20:42:05 25 4
gpt4 key购买 nike

我想看看 Python 计算平方根的方式,所以我试图找到 math.sqrt() 的定义,但在任何地方都找不到。我查看了 _math.cmathmodule.c 和其他地方。

我知道 python 使用 C 的数学函数,但这些函数是在 Python 发行版中的某个地方,还是它们链接到其他地方的代码?我正在使用 Mac OS X。

math.sqrt()中的算法在哪里?

最佳答案

这取决于实现。 CPython 使用标准 C 库中的数学函数。 Jython 最有可能使用 Java 的数学方法。以此类推。

实际上,Python 与数学函数的实际实现无关。这些与 IEEE 754 更相关,后者几乎专门用于表示当今计算机中的 float 。

无论如何,就 CPython 而言,它的 math 模块只是 C 函数的一个薄包装器(prooflink,在页面底部)。 C 函数作为标准 C 库的一部分实现。它通常包含在操作系统发行版中,并且很可能以二进制形式分发,没有来源。另请注意,许多微处理器对其中一些操作都有专门的指令,您的编译器很可能会使用这些指令,而不是跳转到 C 库中的实现。

我无法告诉您系统上标准 C 库中使用的确切算法。解释了一些可能的算法here .

在 OS X 的特定情况下,数学函数存在于 libSystem.dylib 中,不幸的是它不是开源的(只有 stub code available on Apple's Open Source site )。但是,如果您有兴趣,可以拆卸它 - 在当前系统上,例如尝试

otool -tvV /usr/lib/system/libsystem_m.dylib

关于python - 我在哪里可以检查 Python 的数学函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476189/

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