diff options
| author | cremno <[email protected]> | 2014-02-17 12:37:39 +0100 |
|---|---|---|
| committer | cremno <[email protected]> | 2014-02-17 12:37:39 +0100 |
| commit | 1838099e00c007613ef3946e852ccc6955a76a18 (patch) | |
| tree | 69417bbf07f23d2e147b490d71bcae23f5b6955e /include | |
| parent | 57b7f6b6198b54abe822b521e4026fc3992f2a25 (diff) | |
| download | mruby-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.h | 2 | ||||
| -rw-r--r-- | include/mruby/value.h | 1 |
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" |
