]> granicus.if.org Git - python/commitdiff
Update to use python ints and int/long unification.
authorRaymond Hettinger <python@rcn.com>
Wed, 10 Dec 2003 01:58:52 +0000 (01:58 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 10 Dec 2003 01:58:52 +0000 (01:58 +0000)
Demo/scripts/mpzpi.py

index 93c74aa398a47084537a51615f27b6aefc76e8fd..03b90fba30bf9569b9181a85e30fcbdbb05b3ef2 100755 (executable)
@@ -8,27 +8,25 @@
 # published by Prentice-Hall (UK) Ltd., 1990.
 
 import sys
-from mpz import mpz
 
 def main():
-       mpzone, mpztwo, mpzten = mpz(1), mpz(2), mpz(10)
-       k, a, b, a1, b1 = mpz(2), mpz(4), mpz(1), mpz(12), mpz(4)
-       while 1:
-               # Next approximation
-               p, q, k = k*k, mpztwo*k+mpzone, k+mpzone
-               a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
-               # Print common digits
-               d, d1 = a/b, a1/b1
-               while d == d1:
-                       output(d)
-                       a, a1 = mpzten*(a%b), mpzten*(a1%b1)
-                       d, d1 = a/b, a1/b1
+        k, a, b, a1, b1 = 2, 4, 1, 12, 4
+        while 1:
+                # Next approximation
+                p, q, k = k*k, 2*k+1, k+1
+                a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
+                # Print common digits
+                d, d1 = a/b, a1/b1
+                while d == d1:
+                        output(d)
+                        a, a1 = 10*(a%b), 10*(a1%b1)
+                        d, d1 = a/b, a1/b1
 
 def output(d):
-       # Use write() to avoid spaces between the digits
-       # Use int(d) to avoid a trailing L after each digit
-       sys.stdout.write(`int(d)`)
-       # Flush so the output is seen immediately
-       sys.stdout.flush()
+        # Use write() to avoid spaces between the digits
+        # Use int(d) to avoid a trailing L after each digit
+        sys.stdout.write(`int(d)`)
+        # Flush so the output is seen immediately
+        sys.stdout.flush()
 
 main()