Take the choice: |
m = 231 |
a = 1103515245 |
c = 12345 |
Implemented in C as (64 bit) |
newran = [a*oldran+c] & MASK |
floatran = newran/2147483648.0 |
oldran = newran |
floatran is uniformly distributed in [0,1] |
MASK has lower 31 bits = 1and all higher bits = 0 |
This intuitively says that lower order bits of a complex multiplication are "essentially" random |