From 7f63ccdf89d3157a44fb5c77827d3d2d4cc46e69 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Fri, 7 Feb 2020 22:26:24 -0500
Subject: [PATCH] wip

---
 Python/numbapip.py | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100755 Python/numbapip.py

diff --git a/Python/numbapip.py b/Python/numbapip.py
new file mode 100755
index 0000000..6b8735f
--- /dev/null
+++ b/Python/numbapip.py
@@ -0,0 +1,27 @@
+#
+# numbapip.py
+# Neil Gershenfeld 2/6/20
+# calculation of pi by a Numba parallel sum
+# pi = 3.14159265358979323846 
+#
+
+import time
+from numba import njit,prange
+
+NPTS = 1000000000
+@njit(parallel=True)
+def calc():
+   a = 0.5
+   b = 0.75
+   c = 0.25
+   pi = 0
+   for i in prange(1,(NPTS+1)):
+      pi += a/((i-b)*(i-c))
+   return pi
+pi = calc() # first call to compile the function
+start_time = time.time()
+pi = calc() # second call uses the cached compilation
+end_time = time.time()
+mflops = NPTS*5.0/(1.0e6*(end_time-start_time))
+print("NPTS = %d, pi = %f"%(NPTS,pi))
+print("time = %f, estimated MFlops = %f"%(end_time-start_time,mflops))
-- 
GitLab