Multiplicative congruential pseudo-random number generators