summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-math
diff options
context:
space:
mode:
authormirichi <[email protected]>2013-07-06 08:31:01 +0900
committermirichi <[email protected]>2013-07-06 08:31:01 +0900
commitc3e81aca651100e40a03494c9fcc7b8e84302b0a (patch)
treee7256423448ca4f42f9e11f98bc8881829fd32bb /mrbgems/mruby-math
parenta01845b502a902ee1de2f34645177e64fafbb551 (diff)
parentd4b8fdd7a56ac17064bfcce75df25f100b4a407c (diff)
downloadmruby-c3e81aca651100e40a03494c9fcc7b8e84302b0a.tar.gz
mruby-c3e81aca651100e40a03494c9fcc7b8e84302b0a.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'mrbgems/mruby-math')
-rw-r--r--mrbgems/mruby-math/src/math.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/mrbgems/mruby-math/src/math.c b/mrbgems/mruby-math/src/math.c
index bf3c007b4..bdc7767f7 100644
--- a/mrbgems/mruby-math/src/math.c
+++ b/mrbgems/mruby-math/src/math.c
@@ -12,8 +12,8 @@
#define domain_error(msg) \
mrb_raise(mrb, E_RANGE_ERROR, "Numerical argument is out of domain - " #msg)
-/* math functions not provided under Microsoft Visual C++ */
-#ifdef _MSC_VER
+/* math functions not provided by Microsoft Visual C++ 2012 or older */
+#if defined _MSC_VER && _MSC_VER < 1800
#define MATH_TOLERANCE 1E-12
@@ -87,6 +87,12 @@ erfc(double x)
return one_sqrtpi*exp(-x*x)*q2;
}
+double
+log2(double x)
+{
+ return log10(x)/log10(2.0);
+}
+
#endif
/*
@@ -358,18 +364,6 @@ math_atanh(mrb_state *mrb, mrb_value obj)
# define log10(x) ((x) < 0.0 ? nan("") : log10(x))
#endif
-#ifndef log2
-#ifndef HAVE_LOG2
-double
-log2(double x)
-{
- return log10(x)/log10(2.0);
-}
-#else
-extern double log2(double);
-#endif
-#endif
-
/*
* call-seq:
* Math.exp(x) -> float