Generate, visualize, and analyze pseudo-random sequences.
Middle-Square heavily relies on this structure length.
Upload a dataset to run tests independently. Ensure data is in a single numeric column.
Hey there! 👋 Welcome to the PRNG Toolkit, built by Benedict Pepper. I originally developed this tool as a testing hub for my university Modeling and Simulation course, where it laid the foundation for a robust Queueing System Simulator.
Whether you're a student learning about algorithms, or just getting your feet wet in computer science, this tool is designed to help you understand how computers generate "randomness". Computers can't actually roll dice, so they use math formulas to create pseudo-random numbers. But how do we know if these numbers are "good enough"? That's where statistical testing comes in! The interface is built to test out these algorithms and teach you step-by-step how to verify their quality.
The gold standard for randomness, used by default in Python and Excel. It uses complex bitwise matrices to achieve a massive period length of exactly $2^{19937}-1$. Which means it will generate numbers for almost an eternity before repeating!
Period: 2^19937-1A highly modern, statistically brilliant algorithm. It utilizes the fast arithmetic of LCG generators below, but scrambles the output unpredictably using an XSH-RR permutation layer to ensure perfect statistical tests.
Recommended for simulationsOne of the oldest PRNG formulas. It relies on a simple mathematical formula where the new number ($X_{n+1}$) is calculated using three fixed parameters: a multiplier ($a$), an increment ($c$), and a modulus limit ($m$).
$$ X_{n+1} = (a \times X_n + c) \pmod{m} $$Devised by John von Neumann in 1949! You square the initial seed number, extract the middle digits, and repeat. It's great to learn about generation cycles, but has terrible periods and often collapses to zero very quickly.
Status: Educational onlyHypothesis testing determines if a sequence differs significantly from "true randomness". The Null Hypothesis ($H_0$) always makes the optimistic assumption that the generated numbers are truly random.
Through our statistical measurements, we calculate a probability threshold (the P-Value). If this result drops below our strict threshold (commonly $\alpha = 0.05$ or $0.01$), we Reject $H_0$, which effectively means the sequence is flawed, predictable, and formally fails the random audit.