What function do you suggest? (It should be possible to implement on 32-64bit systems, in Haskell, in languages with only multi-precision integers, in languages like Ada that give errors on overflows, and in Java without unsigned integers).

The Computer Shootout site uses this one:


int nextRandom() nothrow {
    enum int IM = 139968, IA = 3877, IC = 29573;
    __gshared static int last = 42;
    return last = (last * IA + IC) % IM;
}

void main() {
    import std.stdio;

    foreach (i; 0 .. 100) {
        nextRandom.writeln;
    }
}


Bye,
bearophile

Reply via email to