操作10 **( - 9)在python中正确,但在Cython中错误

时间:2015-05-13 13:03:45

标签: python cython

非常基本的问题: 在我的python 2.7代码中,我的情况大致如下:

b=5.0*10**(-9)
a=9
print(a)
c=a/(1.0*b)

代码在python / spyder(64位)中运行,但在Cython中失败,因为浮点除以0.打印的数字为0.当我定义时

b=0.000000005

分工也很好,打印的数字也是。错误是什么?

1 个答案:

答案 0 :(得分:5)

我可以使用cython 0.22重现您的错误,我认为此错误与cython-users处的此thread有关。

在计算cython时似乎10**-9遇到了麻烦。如果您改用10**-9.0,一切正常。

请注意,您可以通过5.0*10**(-9)替换5e-9来消除错误并美化代码段。

然而,这似乎是cython中的错误而不是代码库中的错误。