Python Forever Pi Number Function, Math Formula?

156 Views Asked by At

As you know, there are too many ways to calculate pi (156 ways). I found this code on the internet. What formula did writer of this code used? I searched too much but I couldn't find it. I can't understand the code without the math formula.

def calcPi():
    q, r, t, k, n, l = 1, 0, 1, 1, 3, 3
    while True:
        if 4*q+r-t < n*t:
            yield n
            nr = 10*(r-n*t)
            n  = ((10*(3*q+r))//t)-10*n
            q  *= 10
            r  = nr
        else:
            nr = (2*q+r)*l
            nn = (q*(7*k)+2+(r*l))//(t*l)
            q  *= k
            t  *= l
            l  += 2
            k += 1
            n  = nn
            r  = nr

import sys
pi_digits = calcPi()
for d in pi_digits:
    sys.stdout.write(str(d))