A shuffling algorithm used in a class of Random Number generators.
References
Knuth, D. E. §3.2 and 3.3 in
The Art of Computer Programming, Vol. 2: Seminumerical Algorithms, 2nd ed. Reading, MA: Addison-Wesley, 1981.
Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; and Vetterling, W. T.
Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England:
Cambridge University Press, pp. 270-271, 1992.