Cython Float Division错误:零分区(数字太大或太小?)

时间:2017-09-03 22:45:47

标签: cython divide-by-zero

我有一个非常奇怪的零分割错误。我有代码

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
尽管他们都是双打的事实。对于双数据类型,这些数字是太大还是小?我在python shell中测试了这个计算,没有错误。 提前感谢您的帮助和/或建议。

1 个答案:

答案 0 :(得分:0)

2017-08-01

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

即改变10到10.0