diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-07-06 09:05:46 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-07-06 09:05:46 +0900 |
| commit | 91868286bebb28de3e85f9ee36905cf626e580d3 (patch) | |
| tree | 84aa6f88d57c7dae51e8cfa65deafbfa83c469af /include | |
| parent | cc04f033935c167aaf7013201aa25d82fe762d1c (diff) | |
| download | mruby-91868286bebb28de3e85f9ee36905cf626e580d3.tar.gz mruby-91868286bebb28de3e85f9ee36905cf626e580d3.zip | |
`FIXABLE_FLOAT()` fails sometimes in `MRB_INT64` environment.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/numeric.h | 12 |
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); |
