首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:用Numba签名

Python:用Numba签名
EN

Stack Overflow用户
提问于 2021-02-15 09:02:03
回答 1查看 333关注 0票数 2

我有一个函数在做一些计算,并且在某个时候调用另一个函数。例如,主要功能如下:

代码语言:javascript
复制
import numba

@numba.njit(some signature here)
def my_funct():
    ...
    value = cosd(angle)

因为函数cosd在另一个用numba.njit修饰的函数中,所以它也必须被装饰,在我的例子中是这样的:

代码语言:javascript
复制
from numba import float64

@numba.njit(float64(float64))
def cosd(angle):
    return np.cos(np.radians(angle))

我现在的问题是,在另一个函数中,输入值angle是一个数组,相关的输出也是一个数组。我知道我可以用@numba.njit(float64[:](float64[:]))来修饰我的函数,但是这样做,函数就不再接受标量了。我如何才能告诉numba输入类似于Union[float64, float64[:]]?当然,这也适用于输出。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-22 11:26:58

我终于自己找到了答案。解决方案是创建一个签名列表,因此,在我的示例中,应该是:

代码语言:javascript
复制
from numba import float64

@njit([float64(float64), float64[:](float64[:])])
def cosd(angle):
    return np.cos(np.radians(angle))

我希望这会对其他人有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66205186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档