我实现了Madhava-Leibniz系列来计算Python中的pi,然后在Cython中提高速度.Python版本:
from __future__ import division
pi = 0
l = 1
x = True
while True:
if x:
pi += 4/l
else:
pi -= 4/l
x = not x
l += 2
print str(pi)
Run Code Online (Sandbox Code Playgroud)
Cython版本:
cdef float pi = 0.0
cdef float l = 1.0
cdef unsigned short x = True
while True:
if x:
pi += 4.0/l
else:
pi -= 4.0/l
x = not x
l += 2
print str(pi)
Run Code Online (Sandbox Code Playgroud)
当我停止Python版本时,它已正确计算pi为3.141592.Cython版本最终以3.141597结束,有一些我不记得的数字(我的终端崩溃),但是不正确.为什么Cython版本的计算不正确?
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |