It apparently [1] passed the die hard test so it should be pretty solid. Now here comes the warning: one can only prove that PRNG are bad, withstanding the test of time is the best hint fir quality. Random numbers are a tricky subject; if you are using them for your ray tracer a low-discrepancy sequence[2] might prove a better match.
Till [1]http://groups.google.com/group/fa.caml/browse_thread/thread/eb5ba7eef6e43066 [2]http://en.wikipedia.org/wiki/Low-discrepancy_sequence On Tue, Sep 30, 2008 at 2:17 PM, Michał C <[EMAIL PROTECTED]> wrote: > Hello! > > Do You maybe have any idea how good is the standard RNG from random.ml > module? I know that it's quite fast but what about the quality of generated > numbers? > > I've tried implementing various random number generators for the whole > yesterday but I couldn't bypass ocaml's int limitations. Almost everything > bases on unsigned integers (0..2^32-1) so despiting the fact my range is > half of that (using Int32) I'm having troubles when integer overflows... > > I would like to implement combined MWC (multiple with carry) algorithm based > on 2 x 16bit mwc's. I'ts very easy (at last in c/c++ where i can use > unsigned ints), fast and according to what I've read it's generating very > nice random numbers. > > It goes like this: > > z = w= some seeds (big numbers) > > z = 36969 * (z & 65535) + (z >> 16) > w = 18000 * (w & 65535) + (w >> 16) > return ( (z << 16) + (w & 65535) ) // combining two 16 bit > numbers to one 32 bit > > > but i cant think of anything by myself, i mean i could use some "abs" or > something but i doubt it wouldn't ruin the whole algorithm. > > P.S. > some time ago I promised that I will keep you informed how my ray-tracer > will do, here it is: > http://neos1.blogspot.com > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > -- http://till-varoquaux.blogspot.com/
_______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs