A collection of Pi generators.
Project description
PiGen : Generators For Digits of Pi
Overview
A small collection of generators and functions for digits of pi. Maybe you’ve an art or math project and need to generate a few thousand to a few million digits of pi? This will help with that.
Generators
Spigot’s Algorithm  pigen.spigot_pi
spigot_pi is a generator function.
Useful when you only need a single digit at a time.
Not as fast as frac_pi but a classic…
from pigen import spigot_pi as spi
pi_gen = spi()
for _ in range(100): # Let's iterate through the first 100 digits of pi.
digit = next(pi_gen)
# do something with digit
Fractional Continuation  pigen.frac_pi
frac_pi is a generator function.
Useful when you only need a single digit at a time.
Fastest single digit generator currently in the package.
You can pass your own lambda functions for other well behaved irrational numbers!
You can specify the base for output as well, i.e., decimal, hex, etc.
from pigen import frac_pi as fpi
pi_gen = fpi()
for _ in range(100): # Let's iterate through the first 100 digits of pi.
digit = next(pi_gen)
# do something with digit
# We can pass lambdas to get different transcendental numbers.
# The golden ratio
phi_gen = fpi(lambda a: 1, lambda b: 1, base=10)
for _ in range(1000): # Let's iterate through the first 1000 digits of phi.
digit = next(phi_gen)
# do something with digit
Chudnovsky’s Binary Search  pigen.chudnovsky_pi
chudnovsky_pi is a regular function.
Useful if you need many digits at once.
The absolute fastest across the board. If you need a million
digits or more, this has got you covered.
You need only pass the number of digits you’d like to generate.
Makes heavy use of gmpy2 and the associated libs. Very fast but you may need to install other platform specific dependencies.
from pigen import chudnovsky_pi as cpibs
n = 1000000
n_pi_digits = cpi(n) # An integer `n` digits long containing digits of pi
Other
Free software: MIT license
TODO
CLI
Examples
Credits
The Chudnovsky’s BS Algorithm was pulled and updated from an example by Nick CraigWood.
History
0.1.2 (20200127)
First release on PyPI.
Completely removed slower Chudnovsky function. It didn’t generate the correct sequence.
Project details
Release history Release notifications  RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pigen0.1.5py2.py3noneany.whl
Algorithm  Hash digest  

SHA256  caae9359d886a74ba8f1f200df860a0891b67da22a8b625904467bc05f0ba3ae 

MD5  da90501743c46be32c4488db20f2bb8b 

BLAKE2b256  753071b8f4e02eb910a02f72351a4cbdd64f39d567f2eaf6a9cfbafdd0309246 