Marsaglia, George, et al. “Fast Generation of Discrete Random Variables”. Journal of Statistical Software, vol. 11, no. 3, July 2004, pp. 1-11, doi:10.18637/jss.v011.i03.