diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-12-06 09:04:03 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-12-06 09:04:03 +0000 |
| commit | bd5567f19dd1845f730a6ffa01270ef67f118193 (patch) | |
| tree | 3289aa4829f7fcb044cfa70341caaafd1aa086b0 /bignum.c | |
| parent | 1e016f752585182c9f2c6d6bddee981244d0f1c2 (diff) | |
| download | ruby-bd5567f19dd1845f730a6ffa01270ef67f118193.tar.gz ruby-bd5567f19dd1845f730a6ffa01270ef67f118193.tar.xz ruby-bd5567f19dd1845f730a6ffa01270ef67f118193.zip | |
19991206
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
| -rw-r--r-- | bignum.c | 13 |
1 files changed, 5 insertions, 8 deletions
@@ -1255,20 +1255,17 @@ rb_big_abs(x) */ VALUE -rb_big_rand(max) +rb_big_rand(max, rand) VALUE max; + double rand; { - struct RBignum *v; + VALUE v; long len; len = RBIGNUM(max)->len; - v = RBIGNUM(bignew(len,1)); + v = bignew(len,1); while (len--) { -#ifdef HAVE_RANDOM - BDIGITS(v)[len] = random(); -#else - BDIGITS(v)[len] = rand(); -#endif + BDIGITS(v)[len] = ((USHORT)~0) * rand; } return rb_big_mod((VALUE)v, max); |
