Remove mpzpi demo

This commit is contained in:
Andrew M. Kuchling 2004-08-31 13:42:11 +00:00
parent a7313d0543
commit 6a507a104d
2 changed files with 0 additions and 35 deletions

View File

@ -14,7 +14,6 @@ markov.py Markov chain simulation of words or characters
mboxconvvert.py Convert MH or MMDF mailboxes to unix mailbox format mboxconvvert.py Convert MH or MMDF mailboxes to unix mailbox format
mkrcs.py Fix symlinks named RCS into parallel tree mkrcs.py Fix symlinks named RCS into parallel tree
morse.py Produce morse code (audible or on AIFF file) morse.py Produce morse code (audible or on AIFF file)
mpzpi.py test mpz -- print digits of pi (compare pi.py)
pi.py Print all digits of pi -- given enough time and memory pi.py Print all digits of pi -- given enough time and memory
pp.py Emulate some Perl command line options pp.py Emulate some Perl command line options
primes.py Print prime numbers primes.py Print prime numbers

View File

@ -1,34 +0,0 @@
#! /usr/bin/env python
# Print digits of pi forever.
#
# The algorithm, using Python's 'long' integers ("bignums"), works
# with continued fractions, and was conceived by Lambert Meertens.
#
# See also the ABC Programmer's Handbook, by Geurts, Meertens & Pemberton,
# 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
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(repr(int(d)))
# Flush so the output is seen immediately
sys.stdout.flush()
main()