diff options
| -rw-r--r-- | include/mruby/value.h | 1 | ||||
| -rw-r--r-- | src/numeric.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/mruby/value.h b/include/mruby/value.h index 819ce6b7b..1e0316a90 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -150,6 +150,7 @@ mrb_float_value(mrb_float f) #define mrb_symbol(o) (o).value.sym #define mrb_object(o) ((struct RBasic *) (o).value.p) #define mrb_fixnum_p(o) (mrb_type(o) == MRB_TT_FIXNUM) +#define mrb_float_p(o) (mrb_type(o) == MRB_TT_FLOAT) #define mrb_undef_p(o) (mrb_type(o) == MRB_TT_UNDEF) #define mrb_nil_p(o) (mrb_type(o) == MRB_TT_FALSE && !(o).value.i) #define mrb_test(o) (mrb_type(o) != MRB_TT_FALSE) diff --git a/src/numeric.c b/src/numeric.c index e4d9c9ff9..562562340 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -878,7 +878,7 @@ static mrb_value bit_coerce(mrb_state *mrb, mrb_value x) { while (!mrb_fixnum_p(x)) { - if (mrb_type(x) == MRB_TT_FLOAT) { + if (mrb_float_p(x)) { mrb_raise(mrb, E_TYPE_ERROR, "can't convert Float into Integer"); } x = mrb_to_int(mrb, x); |
