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 Craig-Wood.
History
0.1.2 (2020-01-27)
- 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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pigen-0.1.5-py2.py3-none-any.whl (5.4 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size pigen-0.1.5.tar.gz (6.3 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for pigen-0.1.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caae9359d886a74ba8f1f200df860a0891b67da22a8b625904467bc05f0ba3ae |
|
MD5 | da90501743c46be32c4488db20f2bb8b |
|
BLAKE2-256 | 753071b8f4e02eb910a02f72351a4cbdd64f39d567f2eaf6a9cfbafdd0309246 |