diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-26 16:36:31 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-26 16:36:31 -0200 |
commit | fada8efd017c9834607a8d634d2f2a2c0c5d5289 (patch) | |
tree | fd3e7c10ec4ac3f96062abcea89b1da3d1ab0870 | |
parent | d916487d7c1f620dc7844ca4febfd51f8708a7be (diff) | |
download | lua-fada8efd017c9834607a8d634d2f2a2c0c5d5289.tar.gz lua-fada8efd017c9834607a8d634d2f2a2c0c5d5289.tar.bz2 lua-fada8efd017c9834607a8d634d2f2a2c0c5d5289.zip |
"rand()", in SunOS, may return values bigger than "RAND_MAX"...
-rw-r--r-- | lmathlib.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lmathlib.c,v 1.6 1997/11/28 12:39:22 roberto Exp roberto $ | 2 | ** $Id: lmathlib.c,v 1.7 1997/12/09 13:35:19 roberto Exp roberto $ |
3 | ** Lua standard mathematical library | 3 | ** Lua standard mathematical library |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -145,8 +145,10 @@ static void math_max (void) | |||
145 | 145 | ||
146 | static void math_random (void) | 146 | static void math_random (void) |
147 | { | 147 | { |
148 | /* the '%' is needed because on some sistems (SunOS!) "rand()" may */ | ||
149 | /* return a value bigger than RAND_MAX... */ | ||
150 | double r = (double)(rand()%RAND_MAX) / (double)RAND_MAX; | ||
148 | double l = luaL_opt_number(1, 0); | 151 | double l = luaL_opt_number(1, 0); |
149 | double r = (double)rand() / (double)RAND_MAX; | ||
150 | if (l == 0) | 152 | if (l == 0) |
151 | lua_pushnumber(r); | 153 | lua_pushnumber(r); |
152 | else | 154 | else |