# Improved Random Number Generator

These are some methods for generating randomness.  
There is:
- A plain copy of processings random() function which is just as fast
- A simple array shuffler
- An integer-RNG which doesn't produce the same number twice in a row
- A method to return a random entry of an array of arbitrary data-type with probability weights (not using Alias)
- A sophisticated RNG to return a random float between 0 and 1 with its selection weighted by a given probability curve defined by vectors

The last part is the coolest, but also very esoteric and WIP.  
This animation shows its function:  
![Probability Curves](https://giers10.uber.space/giers10/improved_rng/raw/commit/da281d92ef036dc7a3b1cee81f1f860e4cce893f/curveprobability.gif)
