From dd463a9fe3ffed3a9e92c059de61d3b69bc71a5b Mon Sep 17 00:00:00 2001 From: yugui Date: Sun, 30 Nov 2008 09:22:47 +0000 Subject: merges r20348 from trunk into ruby_1_9_1. * numeric.c (num_step): treat infinite step specially. [ruby-dev:37157] fix: #781. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 042e0c306f..c2f5e60c16 100644 --- a/numeric.c +++ b/numeric.c @@ -1503,10 +1503,15 @@ num_step(int argc, VALUE *argv, VALUE from) double err = (fabs(beg) + fabs(end) + fabs(end-beg)) / fabs(unit) * epsilon; long i; - if (err>0.5) err=0.5; - n = floor(n + err) + 1; - for (i=0; i 0) rb_yield(DBL2NUM(beg)); + } + else { + if (err>0.5) err=0.5; + n = floor(n + err) + 1; + for (i=0; i