summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-10 05:43:14 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-10 05:43:14 +0000
commit2e54fe9d4dd4569032590d0cf1bcea472d422c91 (patch)
tree74d9b6baff5943a68e4339f1f5d7f1a668d8e421 /array.c
parentf8147318dd1a613e6594fc4acc931184fefeaddd (diff)
* array.c, bignum.c, gc.c, numeric.c, string.c, util.c, insns.def,
missing/crypt.c, missing/vsnprintf.c, : suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r--array.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/array.c b/array.c
index d88b369103..cc4942597f 100644
--- a/array.c
+++ b/array.c
@@ -3383,7 +3383,7 @@ rb_ary_shuffle_bang(VALUE ary)
rb_ary_modify(ary);
while (i) {
- long j = rb_genrand_real()*i;
+ long j = (long)(rb_genrand_real()*i);
VALUE tmp = RARRAY_PTR(ary)[--i];
RARRAY_PTR(ary)[i] = RARRAY_PTR(ary)[j];
RARRAY_PTR(ary)[j] = tmp;
@@ -3432,7 +3432,7 @@ rb_ary_sample(int argc, VALUE *argv, VALUE ary)
len = RARRAY_LEN(ary);
if (argc == 0) {
if (len == 0) return Qnil;
- i = len == 1 ? 0 : rb_genrand_real()*len;
+ i = len == 1 ? 0 : (long)(rb_genrand_real()*len);
return RARRAY_PTR(ary)[i];
}
rb_scan_args(argc, argv, "1", &nv);
@@ -3445,14 +3445,14 @@ rb_ary_sample(int argc, VALUE *argv, VALUE ary)
case 1:
return rb_ary_new4(1, &ptr[(long)(rb_genrand_real()*len)]);
case 2:
- i = rb_genrand_real()*len;
- j = rb_genrand_real()*(len-1);
+ i = (long)(rb_genrand_real()*len);
+ j = (long)(rb_genrand_real()*(len-1));
if (j >= i) j++;
return rb_ary_new3(2, ptr[i], ptr[j]);
case 3:
- i = rb_genrand_real()*len;
- j = rb_genrand_real()*(len-1);
- k = rb_genrand_real()*(len-2);
+ i = (long)(rb_genrand_real()*len);
+ j = (long)(rb_genrand_real()*(len-1));
+ k = (long)(rb_genrand_real()*(len-2));
{
long l = j, g = i;
if (j >= i) l = i, g = ++j;
@@ -3462,9 +3462,9 @@ rb_ary_sample(int argc, VALUE *argv, VALUE ary)
}
if (n < sizeof(idx)/sizeof(idx[0])) {
long sorted[sizeof(idx)/sizeof(idx[0])];
- sorted[0] = idx[0] = rb_genrand_real()*len;
+ sorted[0] = idx[0] = (long)(rb_genrand_real()*len);
for (i=1; i<n; i++) {
- k = rb_genrand_real()*--len;
+ k = (long)(rb_genrand_real()*--len);
for (j = 0; j < i; ++j) {
if (k < sorted[j]) break;
++k;