M

M0

 


M1

 


M2

 


M3

 


M4

 


M5

π calculation using a Machin-like arctangent formula

#!/usr/bin/python3
from decimal import Decimal, getcontext
import sys
digits = int(sys.argv[1]) if len(sys.argv) > 1 else 50
getcontext().prec = digits + 5  # a few extra digits to avoid rounding errors

def arctan(x):
    """Compute arctan(1/x) using the Taylor series."""
    x = Decimal(x)
    x2 = x * x
    term = Decimal(1) / x
    total = term
    n = 1
    sign = -1
    while True:
        term = term / x2
        delta = term / (2 * n + 1)
        if delta == 0:
            break
        total += sign * delta
        sign *= -1
        n += 1
    return total

pi = 16 * arctan(5) - 4 * arctan(239)
pi = +pi  # unary plus applies current context precision
print(f"Pi to {digits} digits:\n{str(pi)[:digits+2]}")

M6

 

Today is piday Here’s a bash script I saved as “pi” somewhere in $PTH

#!/bin/bash
echo “scale=$1;a(1)*4” | bc -l

I demonstrate it this way:

$ for i in {1..20}; do pi $i; done

2.8
3.12
3.140
3.1412
3.14156
3.141592
3.1415924
3.14159264
3.141592652
3.1415926532
3.14159265356
3.141592653588
3.1415926535896
3.14159265358976
3.141592653589792
3.1415926535897932
3.14159265358979320
3.141592653589793236
3.1415926535897932384
3.14159265358979323844


M7

 


M8

 


M9

 


MA

 


MB

Nicole de Boer (Ezri Dax)

 


MC

 


MD

 


ME

 


MF


MG

 


MH

 


MI

 


MJ

 


MK

 


ML

 


MM

Diablo Reservoir (Thunder Arm), Highway 20, Ross Dam. North Cascades National Park

 


MN

 


MO

 


MP

 


MQ

Screenshot


MR

 


MS

 


MT

 


MU

 


MV

 


MW

 


MX

 


MY

 


MZ