complex.c: optimize zero check for Float
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f7c0abeaea
commit
fc9e0302ea
@ -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)) {
|
||||
|
@ -1617,6 +1617,8 @@ void Init_newline(void);
|
||||
|
||||
#define INT_NEGATIVE_P(x) (FIXNUM_P(x) ? FIXNUM_NEGATIVE_P(x) : BIGNUM_NEGATIVE_P(x))
|
||||
|
||||
#define FLOAT_ZERO_P(x) (RFLOAT_VALUE(x) == 0.0)
|
||||
|
||||
#ifndef ROUND_DEFAULT
|
||||
# define ROUND_DEFAULT RUBY_NUM_ROUND_HALF_UP
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user