Skip to content

Commit

Permalink
Update README with brief summary and mark all TODO items done or won'…
Browse files Browse the repository at this point in the history
…t do
  • Loading branch information
klmcwhirter committed Jan 13, 2025
1 parent 1e907e1 commit 2d2a6f1
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@ But the fact that they saw this side-effect of their research into aspects of *s
Good job, men!

### Summary

This project was a crazy amount of fun. I dug deep into many things from WebAssembly, Bluefin and devcontainers, to testing wasm from zig build, to the math involved with the various algorithms to generate digits of π.

I found while profiling the Python code that it is certainly the right language to evaluate these kinds of series with simple syntax. In at least one of them (Gosper's), the individual terms were getting to ~4,000 integer digits long! Wow. I had no idea.

And while I did not get to 1,000,000 digits of π with the Saha / Sinha algorithm, I learned a lot - including pochhammer mark (rising factorial) - something to which I had not been exposed before. A very cool byproduct of physics research, but too computationally complex for me to go much further than a couple thousand digits for a hobby project.

I greatly appreciate the fact that they shared that side-effect of the research they were doing. And I sincerely hope the weird reaction from the press that they experienced will not prevent them from sharing unexpected mathematical advancements in the future. Physicists and mathematicians working together - awesome!

### [HL Design](./TODO.md)
* Developed using [devcontainer](https://code.visualstudio.com/docs/devcontainers/containers) on:

Expand Down
10 changes: 5 additions & 5 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@
* [X] Make tests work again
* [X] document wasmtime dependency and -Dwasi & -fwasmtime options to run tests
* [x] Add histogram page - select algo: baseline, gosper and sinha_saha, random, ten_digits
* [!] add Sinha / Saha Python impl
* [!] generate zig source module
* [X] add Sinha / Saha Python impl
* [X] generate zig source module
* [-] ~~add SinhaSaha λ = 10 to 100 to PiAlogorithms - the value of λ is tighly coupled to the number of terms and precision - no good way to do this easily~~
* [ ] finalize wasm module(s) and/or component(s) needed
* [ ] test deploy to Raspberry Pi 4b - **ENABLE_TESTS=0 must be set in compose.yml - especially for zigbuild; wasmtime is only available for x86_64**
* [X] finalize wasm module(s) and/or component(s) needed
* [-] ~~test deploy to Raspberry Pi 4b - **ENABLE_TESTS=0 must be set in compose.yml - especially for zigbuild; wasmtime is only available for x86_64**~~


## UI Ideas
* [X] show digits with input from different PiAlgorithms
* [-] ~~select different values for λ (lambda) parameter - paper says 10 to 100; but is that the correct range for million digits of pi?~~
* ~~this [Numberphiles video](https://youtu.be/nXexsSWrc1Q?t=672) show values of λ < 10 are more likely to closely approximate pi.~~
* [X] show histogram with 1_000_000 digits for suuported formula
* [X] show histogram with 1_000_000 digits for supported formulae
* [-] ~~for Sinha / Saha series with different values for λ (lambda) parameter~~
* [X] show comparison of digit accuracy - what should be the source of truth? see pi1000000.txt as baseline
* [X] pct match in console.log
Expand Down

0 comments on commit 2d2a6f1

Please sign in to comment.