summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorcremno <[email protected]>2014-02-17 12:37:39 +0100
committercremno <[email protected]>2014-02-17 12:37:39 +0100
commit1838099e00c007613ef3946e852ccc6955a76a18 (patch)
tree69417bbf07f23d2e147b490d71bcae23f5b6955e /include
parent57b7f6b6198b54abe822b521e4026fc3992f2a25 (diff)
downloadmruby-1838099e00c007613ef3946e852ccc6955a76a18.tar.gz
mruby-1838099e00c007613ef3946e852ccc6955a76a18.zip
more mrb_flo_to_str fixes
- remove float check (take mrb_float instead of mrb_value) - support -0.0 - fix range error if log10 is called when n == 0.0 - MSVC older than 2013: add signbit macro (for double)
Diffstat (limited to 'include')
-rw-r--r--include/mruby/numeric.h2
-rw-r--r--include/mruby/value.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/include/mruby/numeric.h b/include/mruby/numeric.h
index d866d36d1..800f33394 100644
--- a/include/mruby/numeric.h
+++ b/include/mruby/numeric.h
@@ -16,7 +16,7 @@ extern "C" {
#define FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f))
mrb_value mrb_flo_to_fixnum(mrb_state *mrb, mrb_value val);
-mrb_value mrb_flo_to_str(mrb_state *mrb, mrb_value flo);
+mrb_value mrb_flo_to_str(mrb_state *mrb, mrb_float flo);
mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, int base);
diff --git a/include/mruby/value.h b/include/mruby/value.h
index 13acd039e..a0f0c2ef9 100644
--- a/include/mruby/value.h
+++ b/include/mruby/value.h
@@ -59,6 +59,7 @@ typedef short mrb_sym;
# include <float.h>
# define isnan _isnan
# define isinf(n) (!_finite(n) && !_isnan(n))
+# define signbit(n) (_copysign(1.0, (n)) < 0.0)
# define strtoll _strtoi64
# define strtof (float)strtod
# define PRId32 "I32d"