From 7ed0640ffb938fcf246f5167c7062fbf2a46dcd3 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 29 Dec 2009 07:05:39 +0000 Subject: 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 --- marshal.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'marshal.c') 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; -- cgit v1.2.3