summaryrefslogtreecommitdiffstats
path: root/bignum.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-12-06 09:04:03 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-12-06 09:04:03 +0000
commitbd5567f19dd1845f730a6ffa01270ef67f118193 (patch)
tree3289aa4829f7fcb044cfa70341caaafd1aa086b0 /bignum.c
parent1e016f752585182c9f2c6d6bddee981244d0f1c2 (diff)
downloadruby-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.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/bignum.c b/bignum.c
index 05df7c168..828e0cb9a 100644
--- a/bignum.c
+++ b/bignum.c
@@ -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);