From 0a32f9a43faba89f8aa7b43f524ab3552570ce65 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 1 May 2008 14:35:13 +0000 Subject: * range.c (range_step): allow float step bigger than zero but less than one. [ruby-dev:34557] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ range.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e5dbce7525..e58bf4862c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 1 23:35:11 2008 Nobuyoshi Nakada + + * range.c (range_step): allow float step bigger than zero but less + than one. [ruby-dev:34557] + Thu May 1 23:20:12 2008 Nobuyoshi Nakada * bignum.c (rb_big_divide): return an integer for idiv. diff --git a/range.c b/range.c index 51ad42b6da..d81db5fff5 100644 --- a/range.c +++ b/range.c @@ -312,7 +312,7 @@ range_step(int argc, VALUE *argv, VALUE range) unit = NUM2LONG(step); } else { - VALUE tmp = rb_to_int(step); + VALUE tmp = rb_funcall(rb_funcall(b, '+', 1, step), '-', 1, b); unit = rb_cmpint(tmp, step, INT2FIX(0)); } } -- cgit v1.2.3