#
# pim.py
# (c) Neil Gershenfeld 2/10/08
# calculation of pi by an array sum
# pi = 3.14159265358979323846 
#

from numpy import *
import time

NPTS = 1000000
a = 0.5
b = 0.75
c = 0.25
pi = zeros(NPTS+1,dtype=float64)
pi[0] = 0
start_time = time.time()
for i in range(1,(NPTS+1)):
   pi[i] = pi[i-1] + a/((i-b)*(i-c))
end_time = time.time()
mflops = NPTS*5.0/(1.0e6*(end_time-start_time))
print "NPTS = %d, pi = %f"%(NPTS,pi[NPTS])
print "time = %f, estimated MFlops = %f"%(end_time-start_time,mflops)
