Calculates plots for Tupper's Self-Referential Formula.
Project description
Tupper's Self-Referential Formula plotter
This Python package calculates and plots Tupper's Self-Referential Formula.
I've written about the formula and this project at Tupper’s Self-Referential Formula in Python.
The video that influenced this whole thing is here: https://www.youtube.com/watch?v=_s5RFgd59ao
█ █ █ ██ █ █ █ █ █ █ █ ██ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
██ █ █ █ █ ██ █ █ █ █ █ █ ██ ████ ███ ███ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ ███ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ ██ █ █ █ █ █ █ █ █ ██ █ █
███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ██ █ ██ ███ █ █ █ █ ███ ███ █ ███ ███ █ █ █ █ █
███ █ █ █ █ █ █ █ █ █ █ █ ████ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
██ █ █ █ █ █ ██ ███ █ █ █ ██ █ ████ ████ █ █
█ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █
███ █ █ █ █ █ █ █ █
█ █ █ █ █ █
███ █ ███ ███ █ ███
Requirements
- Python 3
Installation
pip3 install tupper
Console usage
python3 -m tupper
Optional arguments:
--help-- show usage instructions.--k <number>-- the value of k to plot.--true <string>-- the string to print for truthy points.--false <string>-- the string to print for falsy points.--export <filename>-- export the (x, y) coordinates and their truthy solution to a CSV file.
If you don't specify k then k =
9609393799189588849716729621278527547150043396601293066515055192717028023952664
2468964284217435071812126715378277062335599323728087414430789132596394133772348
7857735749823926629715517173716995165232890538221612403238855866184013235585136
0488286933379024914542292886670810961844960917051834540678277315517054053816273
8096760256562501698148208341878316384911559022561000365235137034387446184837873
7238198224849863465033159410054974700593138339226497249461751545728366702369745
461014655997933798537483143786841806593422227898388722980000748404719
Code usage
Solver class
To solve ad-hoc (x, y) points, import the Solver class and call the solve(x, y) function:
from tupper import Solver
# ...
s = Solver()
b = s.solve(x, y)
x() and y() functions are provided for yielding the coordinates of a graph:
from tupper import Solver
# ...
s = Solver()
k = 960939379918958...
for y in s.y(k):
for x in s.x():
b = s.solve(x, y)
StringPlotter class
StringPlotter exposes two functions for rendering graphs as text.
row() yields the characters for any given row:
from tupper import StringPlotter
# ...
sp = StringPlotter(true_mark="x", false_mark=" ")
k = 960939379918958...
for c in sp.row(k):
print(c, end="")
graph() yields the characters for the entire graph, including newlines at the end of each row:
from tupper import StringPlotter
# ...
sp = StringPlotter(true_mark="x", false_mark=" ")
k = 960939379918958...
for c in sp.graph(k):
print(c, end="")
Test data
The test_data directory contains CSV files for testing the calculation.
Each file contains three columns:
- The
xcoordinate. - The
ycoordinate. - The expected
true/falsesolution.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tupper-0.10.1.tar.gz.
File metadata
- Download URL: tupper-0.10.1.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
817c46616eab3be06b81d342796a422d4f1564e3a59036e1cf10371960ac2d93
|
|
| MD5 |
43996acb338765738dd5e933d7cf6eb2
|
|
| BLAKE2b-256 |
4bb69ea9933ef31f9544b55d23666f768a401a60d1836dc0c57b5c8e910d507a
|
File details
Details for the file tupper-0.10.1-py3-none-any.whl.
File metadata
- Download URL: tupper-0.10.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c267fdaeef61f52f004d30160bacd5da3f4bd70f090b65abf30671e834fbd7
|
|
| MD5 |
3fd2adc00a7293629da315ac265f06ef
|
|
| BLAKE2b-256 |
b9c2a47f062ac37d0ffb05956a9fd062e38ea52279944d77e26b9e9e707d1fdf
|