diff options
| author | Yasuhiro Matsumoto <[email protected]> | 2016-12-08 15:38:19 +0900 |
|---|---|---|
| committer | Yasuhiro Matsumoto <[email protected]> | 2016-12-08 15:38:19 +0900 |
| commit | eda6c1dc0550249b6e2d92c60aaa683d2b154eaf (patch) | |
| tree | 9b07a9b386a0ca80aef0a9bae46cd7268614ee7d | |
| parent | 0d38ede33b3ff9fe5d5ce2c32d4a9325fc1d1b3e (diff) | |
| download | mruby-eda6c1dc0550249b6e2d92c60aaa683d2b154eaf.tar.gz mruby-eda6c1dc0550249b6e2d92c60aaa683d2b154eaf.zip | |
fix build on vs2013-vs2015
| -rw-r--r-- | include/mruby/compile.h | 1 | ||||
| -rw-r--r-- | src/numeric.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 3ccaf9f6a..459d88596 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -163,6 +163,7 @@ struct mrb_parser_state { MRB_API struct mrb_parser_state* mrb_parser_new(mrb_state*); MRB_API void mrb_parser_free(struct mrb_parser_state*); MRB_API void mrb_parser_parse(struct mrb_parser_state*,mrbc_context*); +MRB_API double mrb_float_read(const char*, char**); MRB_API void mrb_parser_set_filename(struct mrb_parser_state*, char const*); MRB_API char const* mrb_parser_get_filename(struct mrb_parser_state*, uint16_t idx); diff --git a/src/numeric.c b/src/numeric.c index 25a411de8..a9a2a641b 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -357,7 +357,11 @@ flo_shift(mrb_state *mrb, mrb_value x, mrb_int width) while (width++) { val /= 2; } +#if defined(_ISOC99_SOURCE) val = trunc(val); +#else + val = val > 0 ? floor(val) : ceil(val); +#endif if (val == 0 && mrb_float(x) < 0) { return mrb_fixnum_value(-1); } |
