2017-09-03 8 views
-1

정말 제로 분할 오류가 있습니다. 나는 코드를Cython Float Division Error : 제로 나눗셈 (숫자가 너무 크거나 너무 작습니까?)

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 

을 제공합니다. 이 숫자가 이중 데이터 유형에 비해 너무 크거나 작습니까? 파이썬 셸에서이 계산을 테스트했는데 오류가 없습니다. 도움 및/또는 제안에 미리 감사드립니다.

답변

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

즉 변경 10 10.0

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