Random.StateSourceThe functions from module State manipulate the current state of the random generator explicitly. This allows using one or several deterministic PRNGs, even in a multi-threaded program, without interference from other parts of the program.
Note that Random.get_state from the standard library is not exposed, because it misleadingly makes a copy of random state, which is not typically the desired outcome for accessing the shared state.
Obtaining multiple generators with good independence properties is nontrivial; see the Splittable_random library for that.
This gives access to the default random state, allowing user code to share (and thereby mutate) the random state used by the main functions in Random.
Creates a new state and initializes it with a system-dependent low-entropy seed.
These functions are the same as the basic functions, except that they use (and update) the given PRNG state instead of the default one.