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
我有一个非常奇怪的零除法错误。我有代码
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