Cython Float Division Error: Zero Division (Numbers too big or too small?)

Cython Float Division Error: Zero Division (Numbers too big or too small?)

我有一个非常奇怪的零除法错误。我有代码

from numpy import pi
cdef double a0 = 0.02
cdef double c = 2.998e8
cdef double me = 9e-31
cdef double s = 50.0
cdef L = 800e-9
cdef q = 1.602e-19  
cdef double E1=(a0*c*me*s*L*sqrt(pi))/(q*(1.602*10**(-13))*sqrt(2.0)) #some code

然而它给出了

ZeroDivisionError: float division

尽管他们都是双打。对于 double 数据类型,这些数字是太大还是太小?我在pythonshell中测试了这个计算,没有错误。 预先感谢 and/or 建议的帮助。

cdef double E1=(a0*c*me*s*L*sqrt(pi))/(q*(1.602*10**(-13))*sqrt(2.0)) #some code

cdef double E1=(a0*c*me*s*L*sqrt(pi))/(q*(1.602*10.0**(-13))*sqrt(2.0)) #some code

即将 10 更改为 10.0