diff options
Diffstat (limited to 'random.c')
-rw-r--r-- | random.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -215,6 +215,11 @@ rb_f_rand(argc, argv, obj) vmax = rb_dbl2big(RFLOAT(vmax)->value); /* fall through */ case T_BIGNUM: + vmax = rb_big_norm(vmax); + if (FIXNUM_P(vmax)) { + max = FIX2INT(vmax); + break; + } bignum: { long len = RBIGNUM(vmax)->len; |