From fc9e0302ea6756e0ea95dbc11216a3a776ad16a6 Mon Sep 17 00:00:00 2001 From: mrkn Date: Wed, 9 Jan 2019 07:05:37 +0000 Subject: complex.c: optimize zero check for Float git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- complex.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'complex.c') diff --git a/complex.c b/complex.c index 25afdc0c00..112135c7dd 100644 --- a/complex.c +++ b/complex.c @@ -232,7 +232,10 @@ f_negative_p(VALUE x) inline static int f_zero_p(VALUE x) { - if (RB_INTEGER_TYPE_P(x)) { + if (RB_FLOAT_TYPE_P(x)) { + return FLOAT_ZERO_P(x); + } + else if (RB_INTEGER_TYPE_P(x)) { return FIXNUM_ZERO_P(x); } else if (RB_TYPE_P(x, T_RATIONAL)) { -- cgit v1.2.3