Wolfgang Hörmann. The generation of binomial random variates., 1992.


Forman S. Action. Numerical Methods That Work. Harper & Row, New York, NY, USA, second printing edition, 1990.


George Marsaglia and Wai Wan Tsang. A simple method for generating gamma variables. ACM Transactions on Mathematical Software, 26(3):363–372, September 2000. URL:, doi:10.1145/358407.358414.


Cornelius Lanczos. A precision approximation of the gamma function. Journal of the Society for Industrial and Applied Mathematics, Series B: Numerical Analysis, 1:86–96, 1964. doi:10,1137/0701008.


G. Marsaglia and T. A. Bray. A convenient method for generating normal variables. SIAM Review, 6(3):260–264, 1964.


Donald Ervin Knuth. The Art of Computer Programming, Volume 2. Addison Wesley, third edition edition, 1997. ISBN 978-0-201-89684-8.


Walter Gautschi. A computational procedure for incomplete gamma functions. ACM Transactions on Mathematical Software, 5(4):466–481, December 1979. URL:, doi:10.1145/355853.355863.


Robert M Corless, G. Gonnet, D. E. Hare, D. Jeffrey, and D. Knuth. On the lambert w function. Advances in Computational Mathematics, 5:329–359, 1996. URL:


Toshio Fukushima. Precise and fast computation of lambert w-functions without transcendental function evaluations. Journal of Computational and Applied Mathematics, 244:77–83, 05 2013. doi:10.1016/


Makoto Matsumoto and Takuji Nishimura. Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul., 8(1):3–30, jan 1998. URL:, doi:10.1145/272991.272995.


Takuji Nishimura. Tables of 64-bit mersenne twisters. ACM Trans. Model. Comput. Simul., 10(4):348–357, oct 2000. URL:, doi:10.1145/369534.369540.


Mutsuo Saito and Makoto Matsumoto. Simd-oriented fast mersenne twister (sfmt). 2017. URL:


David Blackman and Sebastiano Vigna. Scrambled linear pseudorandom number generators., 2019.