summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/numeric.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/include/mruby/numeric.h b/include/mruby/numeric.h
index 5b0814fa3..a83452d76 100644
--- a/include/mruby/numeric.h
+++ b/include/mruby/numeric.h
@@ -16,15 +16,9 @@
*/
MRB_BEGIN_DECL
-#define POSFIXABLE(f) ((f) <= MRB_INT_MAX)
-#define NEGFIXABLE(f) ((f) >= MRB_INT_MIN)
-#define FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f))
-
-#ifdef MRB_INT64
-#define FIXABLE_FLOAT(f) FIXABLE((mrb_int)(f))
-#else
-#define FIXABLE_FLOAT(f) FIXABLE(f)
-#endif
+#define TYPED_FIXABLE(f,t) (((f) <= (t)MRB_INT_MAX) && ((f) >= (t)MRB_INT_MIN))
+#define FIXABLE(f) TYPED_FIXABLE(f,mrb_int)
+#define FIXABLE_FLOAT(f) TYPED_FIXABLE(f,double)
MRB_API mrb_value mrb_flo_to_fixnum(mrb_state *mrb, mrb_value val);
MRB_API mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, int base);