Skip to content

Commit e807da8

Browse files
committed
Update to use python ints and int/long unification.
1 parent 73b94da commit e807da8

1 file changed

Lines changed: 16 additions & 18 deletions

File tree

Demo/scripts/mpzpi.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,25 @@
88
# published by Prentice-Hall (UK) Ltd., 1990.
99

1010
import sys
11-
from mpz import mpz
1211

1312
def main():
14-
mpzone, mpztwo, mpzten = mpz(1), mpz(2), mpz(10)
15-
k, a, b, a1, b1 = mpz(2), mpz(4), mpz(1), mpz(12), mpz(4)
16-
while 1:
17-
# Next approximation
18-
p, q, k = k*k, mpztwo*k+mpzone, k+mpzone
19-
a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
20-
# Print common digits
21-
d, d1 = a/b, a1/b1
22-
while d == d1:
23-
output(d)
24-
a, a1 = mpzten*(a%b), mpzten*(a1%b1)
25-
d, d1 = a/b, a1/b1
13+
k, a, b, a1, b1 = 2, 4, 1, 12, 4
14+
while 1:
15+
# Next approximation
16+
p, q, k = k*k, 2*k+1, k+1
17+
a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
18+
# Print common digits
19+
d, d1 = a/b, a1/b1
20+
while d == d1:
21+
output(d)
22+
a, a1 = 10*(a%b), 10*(a1%b1)
23+
d, d1 = a/b, a1/b1
2624

2725
def output(d):
28-
# Use write() to avoid spaces between the digits
29-
# Use int(d) to avoid a trailing L after each digit
30-
sys.stdout.write(`int(d)`)
31-
# Flush so the output is seen immediately
32-
sys.stdout.flush()
26+
# Use write() to avoid spaces between the digits
27+
# Use int(d) to avoid a trailing L after each digit
28+
sys.stdout.write(`int(d)`)
29+
# Flush so the output is seen immediately
30+
sys.stdout.flush()
3331

3432
main()

0 commit comments

Comments
 (0)