diff options
| author | Cremno <[email protected]> | 2013-06-27 12:18:35 +0200 |
|---|---|---|
| committer | Cremno <[email protected]> | 2013-06-27 12:18:35 +0200 |
| commit | 872883747822750413e22b3bc5cdf2acef3b403e (patch) | |
| tree | f88d2d862424fe51ba406ed3b87f71666a6fd039 /mrbgems/mruby-math | |
| parent | b44309b4b208a7649a4e3bfb02b2ae353a3c83fc (diff) | |
| download | mruby-872883747822750413e22b3bc5cdf2acef3b403e.tar.gz mruby-872883747822750413e22b3bc5cdf2acef3b403e.zip | |
Visual Studio 2013 support + strtof + inline
- VC12 has better C99 library support due to C++11
- defined strtof for VC11 or older
- define "inline" only if the C compiler is used
Diffstat (limited to 'mrbgems/mruby-math')
| -rw-r--r-- | mrbgems/mruby-math/src/math.c | 22 |
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 |
