diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-05-21 16:08:02 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-05-21 21:08:26 +0900 |
| commit | e941cf06a3e0351107d36d49d540562fdf49f9b4 (patch) | |
| tree | 4afaa5277089308f7daf985c3db39047f0efcf82 | |
| parent | f6e4145ad960d9bc748f9c91fd4c5db5afeebbd0 (diff) | |
| download | mruby-e941cf06a3e0351107d36d49d540562fdf49f9b4.tar.gz mruby-e941cf06a3e0351107d36d49d540562fdf49f9b4.zip | |
Export `mrb_int_value` that converts `mrb_float` to `Fixnum`.
Or `Float` if `mrb_float` value is too big (or too small) to fit in
`mrb_int`. The `_int_` in `mrb_int_value` means `Integral` module, which
represents integer-like values in mruby.
| -rw-r--r-- | include/mruby/numeric.h | 1 | ||||
| -rw-r--r-- | src/numeric.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/mruby/numeric.h b/include/mruby/numeric.h index d670504c2..34707e441 100644 --- a/include/mruby/numeric.h +++ b/include/mruby/numeric.h @@ -34,6 +34,7 @@ MRB_API mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, mrb_int base); #ifndef MRB_WITHOUT_FLOAT MRB_API mrb_value mrb_float_to_str(mrb_state *mrb, mrb_value x, const char *fmt); MRB_API mrb_float mrb_to_flo(mrb_state *mrb, mrb_value x); +MRB_API mrb_value mrb_int_value(mrb_state *mrb, mrb_float f); #endif MRB_API mrb_value mrb_num_plus(mrb_state *mrb, mrb_value x, mrb_value y); diff --git a/src/numeric.c b/src/numeric.c index 140cd0101..e15b7f671 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -45,7 +45,7 @@ mrb_to_flo(mrb_state *mrb, mrb_value val) return mrb_float(val); } -static mrb_value +MRB_API mrb_value mrb_int_value(mrb_state *mrb, mrb_float f) { if (FIXABLE_FLOAT(f)) { |
