diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-08-05 07:29:25 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-08-05 07:29:25 +0900 |
| commit | 0e2e8b79d327da9b2ba0ce42e02cf6653c3e3fae (patch) | |
| tree | 1c8537140d0339828469a2b2fa00ac743f796f71 /mrbgems/mruby-numeric-ext/src | |
| parent | dc11e7f0274cf1532ffc6b340d9443cc015d54ad (diff) | |
| parent | eb8634013948021f163d2f4c2ee53c394c0a143c (diff) | |
| download | mruby-0e2e8b79d327da9b2ba0ce42e02cf6653c3e3fae.tar.gz mruby-0e2e8b79d327da9b2ba0ce42e02cf6653c3e3fae.zip | |
Merge pull request #4612 from dearblue/float-consts
Add constants for floating point number
Diffstat (limited to 'mrbgems/mruby-numeric-ext/src')
| -rw-r--r-- | mrbgems/mruby-numeric-ext/src/numeric_ext.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mrbgems/mruby-numeric-ext/src/numeric_ext.c b/mrbgems/mruby-numeric-ext/src/numeric_ext.c index 86c384a87..16560fe86 100644 --- a/mrbgems/mruby-numeric-ext/src/numeric_ext.c +++ b/mrbgems/mruby-numeric-ext/src/numeric_ext.c @@ -1,5 +1,6 @@ #include <limits.h> #include <mruby.h> +#include <mruby/numeric.h> static inline mrb_int to_int(mrb_state *mrb, mrb_value x) @@ -64,6 +65,19 @@ mrb_mruby_numeric_ext_gem_init(mrb_state* mrb) mrb_define_method(mrb, i, "allbits?", mrb_int_allbits, MRB_ARGS_REQ(1)); mrb_define_method(mrb, i, "anybits?", mrb_int_anybits, MRB_ARGS_REQ(1)); mrb_define_method(mrb, i, "nobits?", mrb_int_nobits, MRB_ARGS_REQ(1)); + +#ifndef MRB_WITHOUT_FLOAT + mrb_define_const(mrb, mrb->float_class, "RADIX", mrb_fixnum_value(MRB_FLT_RADIX)); + mrb_define_const(mrb, mrb->float_class, "MANT_DIG", mrb_fixnum_value(MRB_FLT_MANT_DIG)); + mrb_define_const(mrb, mrb->float_class, "EPSILON", mrb_float_value(mrb, MRB_FLT_EPSILON)); + mrb_define_const(mrb, mrb->float_class, "DIG", mrb_fixnum_value(MRB_FLT_DIG)); + mrb_define_const(mrb, mrb->float_class, "MIN_EXP", mrb_fixnum_value(MRB_FLT_MIN_EXP)); + mrb_define_const(mrb, mrb->float_class, "MIN", mrb_float_value(mrb, MRB_FLT_MIN)); + mrb_define_const(mrb, mrb->float_class, "MIN_10_EXP", mrb_fixnum_value(MRB_FLT_MIN_10_EXP)); + mrb_define_const(mrb, mrb->float_class, "MAX_EXP", mrb_fixnum_value(MRB_FLT_MAX_EXP)); + mrb_define_const(mrb, mrb->float_class, "MAX", mrb_float_value(mrb, MRB_FLT_MAX)); + mrb_define_const(mrb, mrb->float_class, "MAX_10_EXP", mrb_fixnum_value(MRB_FLT_MAX_10_EXP)); +#endif /* MRB_WITHOUT_FLOAT */ } void |
