aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--numeric.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e2f7a3f98e..a080976c02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Mar 18 00:15:05 2016 Yusuke Endoh <mame@ruby-lang.org>
+
+ * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp
+ created an object which caused extra overhead.
+
Thu Mar 17 22:21:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate
diff --git a/numeric.c b/numeric.c
index 7f43fdb2a5..2c382bb498 100644
--- a/numeric.c
+++ b/numeric.c
@@ -2224,7 +2224,7 @@ num_step(int argc, VALUE *argv, VALUE from)
RETURN_SIZED_ENUMERATOR(from, argc, argv, num_step_size);
desc = num_step_scan_args(argc, argv, &to, &step);
- if (RTEST(rb_num_coerce_cmp(step, INT2FIX(0), id_eq))) {
+ if (rb_equal(step, INT2FIX(0))) {
inf = 1;
}
else if (RB_TYPE_P(to, T_FLOAT)) {