mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
numeric.c: Fix negative step with float components
* numeric.c (ruby_float_step): fix negative step with float components. * test/ruby/test_numeric.c (test_step_bug15537): add tests. * test/ruby/test_range.c (test_step_bug15537): add tests. [Bug #15537] [ruby-core:91101] From: shuujii (Shuji KOBAYASHI) <shuujii@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c56f61161a
commit
161ece4795
3 changed files with 21 additions and 2 deletions
|
@ -2514,9 +2514,9 @@ int
|
|||
ruby_float_step(VALUE from, VALUE to, VALUE step, int excl, int allow_endless)
|
||||
{
|
||||
if (RB_TYPE_P(from, T_FLOAT) || RB_TYPE_P(to, T_FLOAT) || RB_TYPE_P(step, T_FLOAT)) {
|
||||
double beg = NUM2DBL(from);
|
||||
double end = (allow_endless && NIL_P(to)) ? HUGE_VAL : NUM2DBL(to);
|
||||
double unit = NUM2DBL(step);
|
||||
double beg = NUM2DBL(from);
|
||||
double end = (allow_endless && NIL_P(to)) ? (unit < 0 ? -1 : 1)*HUGE_VAL : NUM2DBL(to);
|
||||
double n = ruby_float_step_size(beg, end, unit, excl);
|
||||
long i;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue