pi.py 429 Bytes
Newer Older
Neil Gershenfeld's avatar
wip    
Neil Gershenfeld committed
1
2
3
4
5
6
7
8
9
#
# pi.py
# Neil Gershenfeld 1/23/17
# calculation of pi by a scalar sum
# pi = 3.14159265358979323846 
#

import time

Neil Gershenfeld's avatar
wip    
Neil Gershenfeld committed
10
NPTS = 100000000
Neil Gershenfeld's avatar
wip    
Neil Gershenfeld committed
11
12
13
14
15
16
17
18
19
a = 0.5
b = 0.75
c = 0.25
pi = 0
start_time = time.time()
for i in range(1,(NPTS+1)):
   pi += a/((i-b)*(i-c))
end_time = time.time()
mflops = NPTS*5.0/(1.0e6*(end_time-start_time))
Neil Gershenfeld's avatar
wip    
Neil Gershenfeld committed
20
21
print("NPTS = %d, pi = %f"%(NPTS,pi))
print("time = %f, estimated MFlops = %f"%(end_time-start_time,mflops))
Neil Gershenfeld's avatar
wip    
Neil Gershenfeld committed
22