python jit报错_Python Numba@jit“降低错误”?

博主在编写一个涉及复数计算的程序时,使用了Numba库的@jit修饰符来加速计算。然而,当尝试将@jit应用到'mindistance'函数时,出现了错误。错误信息提示Numba不支持该函数中的某些操作。博主寻求帮助以理解为何Numba无法编译'mindistance'函数,并希望找到解决方案。
摘要由CSDN通过智能技术生成

我一直在做一个涉及复数计算的程序,我使用的三个函数是:import turtle

import cmath

import numpy as np

from numba import jit

@jit

def quadratics(arange=[0,10],brange=[0,100],crange=[0,100], step=2):

l = []

for a in range(arange[0],arange[1]+1,step):

for b in range(brange[0],brange[1]+1,step):

for c in range(crange[0],crange[1]+1,step):

if a != 0:

l.append((-b+cmath.sqrt(b**2-4*a*c))/(2*a))

l.append((-b-cmath.sqrt(b**2-4*a*c))/(2*a))

return l

def mindistance(point, roots):

return min(np.array([(point.real-i.real)**2+(point.imag-i.imag)**2 for i in roots]))

@jit

def drawing_matrix(imsz=500,xrange=[-5,5],yrange=[-5,5],poly=2,acc=0.01):

l = np.zeros((imsz, imsz))

roots = quadratics()

for x in range(0, imsz):

for y in range(0, imsz):

c = complex((x/imsz)*(xrange[1]-xrange[0])+xrange[0],(y/imsz)*(yrange[1]-yrange[0])+yrange[0])

if mindistance(c, roots) <= acc:

l[x,y] = 1

return l

现在,我一直在使用Numba来加速@jit修饰符,除了mindistance(),它还可以。如果我将@jit修饰符放在该函数上(这将非常有用,因为它在程序运行期间被调用了数千次),它将生成以以下结尾的最全面的错误消息:

^{pr2}$

这是第19行(如def mindistance())。你能告诉我为什么麻巴不喜欢这个功能吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值