summaryrefslogtreecommitdiffhomepage
path: root/src/numeric.c
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <[email protected]>2016-12-08 15:38:19 +0900
committerYasuhiro Matsumoto <[email protected]>2016-12-08 15:38:19 +0900
commiteda6c1dc0550249b6e2d92c60aaa683d2b154eaf (patch)
tree9b07a9b386a0ca80aef0a9bae46cd7268614ee7d /src/numeric.c
parent0d38ede33b3ff9fe5d5ce2c32d4a9325fc1d1b3e (diff)
downloadmruby-eda6c1dc0550249b6e2d92c60aaa683d2b154eaf.tar.gz
mruby-eda6c1dc0550249b6e2d92c60aaa683d2b154eaf.zip
fix build on vs2013-vs2015
Diffstat (limited to 'src/numeric.c')
-rw-r--r--src/numeric.c4
1 files changed, 4 insertions, 0 deletions
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);
}