uhh happy pi day 2024~ i think i posted this too early lmao you know how this goes by now: https://turbowarp.org/926652006 everyone makes pi calculators but no one makes e calculators. this project fixes that. collection of a new big-int library I've been working on along with a pi calculator, e calculator, and sqrt 2 calculator, arguably some of the most important constants in math. ===usage=== choose which constant and input the number of digits to be calculated. after its finished, click or press space to show the result. if the result has more than 1000 digits, use the up and down arrow buttons to scroll, or the yellow dot to jump to a specific digit. the green arrow can be used to export the digits through the list. === calculation records with this project === 25,000,000 digits of pi in 1h14m3.217s (using Turbowarp) 1,000,000 digits of e in 33s ===technical stuff=== the infinite series used for pi and e are evaluated with binary splitting, which is an efficient way to sum infinite series. sqrt 2 uses newtons method to compute. http://www.numberworld.org/y-cruncher/internals/binary-splitting.html in order to calculate all of the terms used for the infinite series properly, this project has to handle numbers of many thousands of digits in size. this project represents numbers in lists, where each list item acts as a "digit" of the number in base 10,000,000 (7 decimal digits). then its possible to perform basic math operations like addition/subtraction by using algorithms you likely learned in school that do it digit by digit. however, the basic algorithm for long multiplication is too slow to deal with massive numbers. to get around this, there are faster, FFT based multiplication algorithms implemented that get the job done faster. karatsuba algorithm also works but in practice it gets overtaken in speed by the FFT after 1000 digits or so. long division is a slow operation, so this project divides numbers by computing the reciprocal and doing multiplication. dividing 2 numbers A/B can be done by computing 1/B with a fast algorithm like newtons method, then multiply that by A to get the result. a similar technique is used to get the inverse square root of a number. see http://www.numberworld.org/y-cruncher/algorithms.html the name is a spin off of y-cruncher, another pi calculation program http://www.numberworld.org/y-cruncher/