diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-03-21 21:36:54 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-03-21 21:36:54 +0900 |
| commit | a41b02ab918d7fb976234e1b07e2e60eff4d9f96 (patch) | |
| tree | e3c00fa3cd9ccc46db2408c8f22b1ed971d3b5eb | |
| parent | 3f7cd4687fc7ec46d8a8dd6c9c2505205cbd32a8 (diff) | |
| download | mruby-a41b02ab918d7fb976234e1b07e2e60eff4d9f96.tar.gz mruby-a41b02ab918d7fb976234e1b07e2e60eff4d9f96.zip | |
Fix `Float#eql?`
| -rw-r--r-- | src/numeric.c | 2 | ||||
| -rw-r--r-- | test/t/float.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/numeric.c b/src/numeric.c index fa9daf8a7..4128ea3a6 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -369,7 +369,7 @@ flo_eql(mrb_state *mrb, mrb_value x) mrb_get_args(mrb, "o", &y); if (!mrb_float_p(y)) return mrb_false_value(); - return mrb_bool_value(mrb_float(x) == (mrb_float)mrb_fixnum(y)); + return mrb_bool_value(mrb_float(x) == mrb_float(y)); } /* 15.2.9.3.7 */ diff --git a/test/t/float.rb b/test/t/float.rb index c137698d3..910d7b1d5 100644 --- a/test/t/float.rb +++ b/test/t/float.rb @@ -239,4 +239,10 @@ assert('Float#to_s') do end end +assert('Float#eql?') do + assert_true(5.0.eql?(5.0)) + assert_false(5.0.eql?(5)) + assert_false(5.0.eql?("5.0")) +end + end # const_defined?(:Float) |
