From 6d424277b05a993dc49a8d5ec45ef967d8f6242c Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Mon, 26 Dec 2022 13:00:23 -0500 Subject: [PATCH] +Micro --- Python/micropi.py | 28 ++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 Python/micropi.py diff --git a/Python/micropi.py b/Python/micropi.py new file mode 100755 index 0000000..e522e2f --- /dev/null +++ b/Python/micropi.py @@ -0,0 +1,28 @@ +# +# micropi.py +# Neil Gershenfeld 12/26/22 +# calculation of pi by a MicroPython sum +# pi = 3.14159265358979323846 +# + +import time,machine + +NPTS = 1000000 + +@micropython.native +def calc(): + a = 0.5 + b = 0.75 + c = 0.25 + pi = 0 + for i in range(1,(NPTS+1)): + pi += a/((i-b)*(i-c)) + return pi + +machine.freq(250000000) +start_time = time.time() +pi = calc() +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)) diff --git a/README.md b/README.md index 65f6a3c..dd092ef 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ |0.001|prior|Sun SPARCStation 1|C|prior| |0.001|prior|DEC VAX 8650|C|prior| |0.0007|prior|Intel 486|C|prior| -|0.00021|[pi.py](Python/pi.py)|MicroPython, 250 MHz|RP2040|December, 2022| +|0.00031|[pi.py](Python/micropi.py)|MicroPython, 250 MHz|RP2040|December, 2022| |0.0002|[pi.ino](Arduino/pi.ino)|Arduino, floats|ATSAMD21E|December, 2020| |0.0001|[pi.ino](Arduino/pi.ino)|Arduino, floats|ATtiny1614|December, 2020| |0.00003|prior|Sun 3/60|C|prior| -- GitLab