gpt4 book ai didi

python - math.exp() 定义在 python 源代码的哪个位置?

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:31 25 4
gpt4 key购买 nike

我想知道如何在 python 中实现 math.exp() 函数。 math.exp()在Python源码的什么地方定义?

最佳答案

这个有点棘手。

math 模块在 C 模块中实现,mathmodule.c .在该文件的末尾有一个特定的 Python 库结构,它定义了 exp as implemented by math_exp :

static PyMethodDef math_methods[] = {
# ...
{"exp", math_exp, METH_O, math_exp_doc},

但是 math_exp 本身实际上是通过 FUNC1 macro 定义的, 使用 math_1 wrapper function调用C library exp function一些错误处理和类型转换:

FUNC1(exp, exp, 1,
"exp(x)\n\nReturn e raised to the power of x.")

但是,C 函数实现本身完全依赖于平台,在现代硬件上通常在硬件 中处理。您将不得不求助于该函数的软件版本,以找到在 Python 中实现它的起点。

您可以使用 fdlibm 实现作为这样的起点,也许,这里是该库中 C 中的 exp 函数实现的链接:

或者您可以改为引用此实现:

关于python - math.exp() 定义在 python 源代码的哪个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321570/

25 4 0