Source | m | (multiplier) a | (increment) c | output bits of seed in rand() /Random(L) |
---|---|---|---|---|
Numerical Recipes | 232 | 1664525 | 1013904223 | |
Borland C/C++ | 232 | 22695477 | 1 | bits 30..16 in rand(), 30..0 inlrand() |
glibc (used by GCC)[5] | 231 | 1103515245 | 12345 | bits 30..0 |
ANSI C: Watcom, Digital Mars, CodeWarrior, IBM VisualAgeC/C++ [6] | 231 | 1103515245 | 12345 | bits 30..16 |
C99, C11: Suggestion in the ISO/IEC 9899 [7] | 232 | 1103515245 | 12345 | bits 30..16 |
Borland Delphi, Virtual Pascal | 232 | 134775813 | 1 | bits 63..32 of (seed * L) |
Microsoft Visual/Quick C/C++ | 232 | 214013 (343FD16) | 2531011 (269EC316) | bits 30..16 |
Microsoft Visual Basic (6 and earlier)[8] | 224 | 1140671485 (43FD43FD16) | 12820163 (C39EC316) | |
RtlUniform from Native API[9] | 231 ? 1 | 2147483629 (7FFFFFED16) | 2147483587 (7FFFFFC316) | |
Apple CarbonLib, C++11's minstd_rand0 [10] |
231 ? 1 | 16807 | 0 | see MINSTD |
C++11's minstd_rand [10] |
231 ? 1 | 48271 | 0 | see MINSTD |
MMIX by Donald Knuth | 264 | 6364136223846793005 | 1442695040888963407 | |
Newlib, Musl | 264 | 6364136223846793005 | 1 | bits 63...32 |
VMS's MTH$RANDOM,[11] old versions of glibc | 232 | 69069 | 1 | |
Java's java.util.Random, POSIX [ln]rand48, glibc[ln]rand48[_r] | 248 | 25214903917 (5DEECE66D16) | 11 | bits 47...16 |
POSIX[12] [jm]rand48, glibc [mj]rand48[_r] | 248 | 25214903917 (5DEECE66D16) | 11 | bits 47...15 |
POSIX [de]rand48, glibc [de]rand48[_r] | 248 | 25214903917 (5DEECE66D16) | 11 | bits 47...0 |
Formerly common: RANDU [4] | 231 | 65539 | 0 |