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 /include | |
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 'include')
-rw-r--r-- | include/ruby/defines.h | 14 | ||||
-rw-r--r-- | include/ruby/util.h | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/include/ruby/defines.h b/include/ruby/defines.h index 70b1685804..a81aef8416 100644 --- a/include/ruby/defines.h +++ b/include/ruby/defines.h @@ -99,6 +99,20 @@ void xfree(void*); # define BDIGIT_DBL_SIGNED long #endif +#ifdef INFINITY +# define HAVE_INFINITY +#else +extern const unsigned char rb_infinity[]; +# define INFINITY (*(double *)rb_infinity) +#endif + +#ifdef NAN +# define HAVE_NAN +#else +extern const unsigned char rb_nan[]; +# define NAN (*(double *)rb_nan) +#endif + #ifdef __CYGWIN__ #undef _WIN32 #endif diff --git a/include/ruby/util.h b/include/ruby/util.h index 1c52c576da..0c1e1c4ebc 100644 --- a/include/ruby/util.h +++ b/include/ruby/util.h @@ -74,12 +74,6 @@ double ruby_strtod(const char *, char **); #pragma warning(push) #pragma warning(disable:4723) #endif -static inline double -ruby_div0(double x) -{ - double t = 0.0; - return x / t; -} #if defined _MSC_VER && _MSC_VER >= 1300 #pragma warning(pop) #endif |