O'Neill which applies an output permutation function to improve the statistical properties of a modulo-2n linear congruential generator.
[5] A PCG differs from a classical linear congruential generator (LCG) in three ways: It is the variable rotation which eliminates the problem of a short period in the low-order bits that power-of-2 LCGs suffer from.
The constant is an arbitrary odd integer,[6] so it does not need to be stored explicitly; the address of the state variable itself (with the low bit set) can be used.
[7] TestU01's BigCrush examines enough data to detect a period of 235, so even an ideal generator requires 36 bits of state to pass it.
[9] It has been shown that it is practically possible (with a large computation) to recover the seed of the pseudo-random generator given 512 consecutive output bytes.