diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-29 07:05:39 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-29 07:05:39 +0000 |
commit | 7ed0640ffb938fcf246f5167c7062fbf2a46dcd3 (patch) | |
tree | 03fe926eaafee97c67c833d82daa2137779b758f /marshal.c | |
parent | 92ab16fac66eeb9baba090af2976b27956ac56d4 (diff) | |
download | ruby-7ed0640ffb938fcf246f5167c7062fbf2a46dcd3.tar.gz |
Add Float::INFINITY and Float::NAN.
* numeric.c (Init_Numeric): Add Float::INFINITY and Float::NAN.
[ruby-dev:1657] [ruby-dev:4760] [ruby-list:7023] [ruby-list:46690]
[ruby-core:26632] [ruby-talk:41352] [ruby-talk:203333]
* include/ruby/defines.h (INFINITY): defined.
* include/ruby/defines.h (NAN): defined.
* include/ruby/util.h (ruby_div0): removed.
* numeric.c (fix_pow): use INFINITY and NAN instead of ruby_div0(1.0).
* marshal.c (r_object0): ditto.
* bignum.c (big_fdiv): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r-- | marshal.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -1322,8 +1322,6 @@ obj_alloc_by_path(VALUE path, struct load_arg *arg) return rb_obj_alloc(klass); } -#define div0(x) ruby_div0(x) - static int has_encoding(struct load_arg *arg) { @@ -1449,13 +1447,13 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod) const char *ptr = RSTRING_PTR(str); if (strcmp(ptr, "nan") == 0) { - d = div0(0.0); + d = NAN; } else if (strcmp(ptr, "inf") == 0) { - d = div0(+1.0); + d = INFINITY; } else if (strcmp(ptr, "-inf") == 0) { - d = div0(-1.0); + d = -INFINITY; } else { char *e; |