summaryrefslogtreecommitdiff
path: root/marshal.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-29 07:05:39 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-29 07:05:39 +0000
commit7ed0640ffb938fcf246f5167c7062fbf2a46dcd3 (patch)
tree03fe926eaafee97c67c833d82daa2137779b758f /marshal.c
parent92ab16fac66eeb9baba090af2976b27956ac56d4 (diff)
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.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/marshal.c b/marshal.c
index 549a6f6c0c..be33546a89 100644
--- a/marshal.c
+++ b/marshal.c
@@ -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;