diff --git a/lmathlib.c b/lmathlib.c index 63a9c1f9..21bf9308 100644 --- a/lmathlib.c +++ b/lmathlib.c @@ -1,5 +1,5 @@ /* -** $Id: lmathlib.c,v 1.12 1998/12/28 13:44:54 roberto Exp roberto $ +** $Id: lmathlib.c,v 1.13 1998/12/30 17:22:17 roberto Exp roberto $ ** Lua standard mathematical library ** See Copyright Notice in lua.h */ @@ -154,9 +154,9 @@ static void math_max (void) static void math_random (void) { - /* the '%' is needed because on some systems (SunOS!) "rand()" may - return a value bigger than RAND_MAX... */ - double r = (double)(rand()%RAND_MAX) / ((double)RAND_MAX+1.0); + /* the '%' avoids the (rare) case of r==1, and is needed also because on + some systems (SunOS!) "rand()" may return a value bigger than RAND_MAX */ + double r = (double)(rand()%RAND_MAX) / (double)RAND_MAX; int l = luaL_opt_int(1, 0); if (l == 0) lua_pushnumber(r);