summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-30 10:44:02 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-30 10:44:02 +0000
commit482b3c1835e0a7c0f35d1a358d0477b1053e7a8d (patch)
tree593ecf9f02646b0d4337ff13c0d73c45d5067509
parenta1f76cae297fbdddebc6e16b3a274686893565ff (diff)
downloadruby-482b3c1835e0a7c0f35d1a358d0477b1053e7a8d.tar.gz
ruby-482b3c1835e0a7c0f35d1a358d0477b1053e7a8d.tar.xz
ruby-482b3c1835e0a7c0f35d1a358d0477b1053e7a8d.zip
* include/ruby/defines.h (INFINITY): this is float.
* include/ruby/defines.h (NAN): ditto. * numericc.c (rb_infinity): change content as float. * numericc.c (rb_nan): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@26202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--include/ruby/defines.h6
-rw-r--r--numeric.c8
3 files changed, 18 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index d8b8b6788..7b352bdee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Wed Dec 30 19:40:00 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * include/ruby/defines.h (INFINITY): this is float.
+
+ * include/ruby/defines.h (NAN): ditto.
+
+ * numericc.c (rb_infinity): change content as float.
+
+ * numericc.c (rb_nan): ditto.
+
Wed Dec 30 17:59:14 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* gem_prelude.rb (push_all_highest_version_gems_on_load_path):
diff --git a/include/ruby/defines.h b/include/ruby/defines.h
index a81aef841..7bb2788aa 100644
--- a/include/ruby/defines.h
+++ b/include/ruby/defines.h
@@ -102,15 +102,17 @@ void xfree(void*);
#ifdef INFINITY
# define HAVE_INFINITY
#else
+/** @internal */
extern const unsigned char rb_infinity[];
-# define INFINITY (*(double *)rb_infinity)
+# define INFINITY (*(float *)rb_infinity)
#endif
#ifdef NAN
# define HAVE_NAN
#else
+/** @internal */
extern const unsigned char rb_nan[];
-# define NAN (*(double *)rb_nan)
+# define NAN (*(float *)rb_nan)
#endif
#ifdef __CYGWIN__
diff --git a/numeric.c b/numeric.c
index 319f7b2c4..9fdbadf83 100644
--- a/numeric.c
+++ b/numeric.c
@@ -65,16 +65,16 @@
#ifdef HAVE_INFINITY
#elif BYTE_ORDER == LITTLE_ENDIAN
-const unsigned char rb_infinity[] = "\x00\x00\x00\x00\x00\x00\xf0\x7f";
+const unsigned char rb_infinity[] = "\x00\x00\x80\x7f";
#else
-const unsigned char rb_infinity[] = "\x7f\xf0\x00\x00\x00\x00\x00\x00";
+const unsigned char rb_infinity[] = "\x7f\x80\x00\x00";
#endif
#ifdef HAVE_NAN
#elif BYTE_ORDER == LITTLE_ENDIAN
-const unsigned char rb_nan[] = "\x00\x00\x00\x00\x00\x00\xf8\x7f";
+const unsigned char rb_nan[] = "\x00\x00\xc0\x7f";
#else
-const unsigned char rb_nan[] = "\x7f\xf8\x00\x00\x00\x00\x00\x00";
+const unsigned char rb_nan[] = "\x7f\xc0\x00\x00";
#endif
extern double round(double);