[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
**Subject**: **Re: The probability of returning zero by math.random is doubled.**
**From**: Mike Pall <mikelu-0809@...>
**Date**: Mon, 22 Sep 2008 14:43:25 +0200

Eero Pajarre wrote:
> On Sat, Sep 20, 2008 at 4:31 PM, Mike Pall <mikelu-0809@mike.de> wrote:
> > I was thinking about using them for the random number generator in
> > LJ2. Since this needs to generate 52 bits for doubles (using the
> > mask and subtract 1.0 trick) and since LJ2 needs 64 bit ints
> > anyway, I've considered using one of these two:
>
> I hope you also keep the possibility to use the standard random number
> generation. I appreciate the fact that programs running using JIT get
> 100% similar results compared to non-JIT programs.
Far from it! The 'standard' random number generator in Lua just
calls rand() from libc. This means you'll get 100% different
results for different platforms or different library versions.
It's not thread-safe either. To add insult to injury, on some
platforms you'll get 100% weak or non-uniform pseudo-random
numbers, too! Are you really, really sure you want that? :-)
With LJ2 you'll get the same results on all platforms it runs on.
I could release a backport for standard Lua, if there's a real
demand.
--Mike