diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-02 17:12:17 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-02 17:43:10 +0900 |
commit | 137fde717bfa4d1a116bf1d56c288a1f3016126c (patch) | |
tree | 88bd3fd8880ddfa04c97b5edd8f4204066c6c0b7 /complex.c | |
parent | d1d76f24288993b4f004770397a05c0be8ac13b4 (diff) |
Make internal predicate functions to return simple boolean
Diffstat (limited to 'complex.c')
-rw-r--r-- | complex.c | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -338,29 +338,26 @@ VALUE rb_flo_is_finite_p(VALUE num); inline static int f_finite_p(VALUE x) { - if (RB_INTEGER_TYPE_P(x)) { + if (RB_INTEGER_TYPE_P(x) || RB_TYPE_P(x, T_RATIONAL)) { return TRUE; } else if (RB_FLOAT_TYPE_P(x)) { return (int)rb_flo_is_finite_p(x); } - else if (RB_TYPE_P(x, T_RATIONAL)) { - return TRUE; - } return RTEST(rb_funcallv(x, id_finite_p, 0, 0)); } VALUE rb_flo_is_infinite_p(VALUE num); -inline static VALUE +inline static int f_infinite_p(VALUE x) { if (RB_INTEGER_TYPE_P(x) || RB_TYPE_P(x, T_RATIONAL)) { - return Qnil; + return FALSE; } else if (RB_FLOAT_TYPE_P(x)) { - return rb_flo_is_infinite_p(x); + return RTEST(rb_flo_is_infinite_p(x)); } - return rb_funcallv(x, id_infinite_p, 0, 0); + return RTEST(rb_funcallv(x, id_infinite_p, 0, 0)); } inline static int @@ -1469,7 +1466,7 @@ rb_complex_infinite_p(VALUE self) { get_dat1(self); - if (NIL_P(f_infinite_p(dat->real)) && NIL_P(f_infinite_p(dat->imag))) { + if (!f_infinite_p(dat->real) && !f_infinite_p(dat->imag)) { return Qnil; } return ONE; |