summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 03:45:28 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 03:45:28 +0000
commit438f4c5186a40df2d95f268e178571798906c615 (patch)
tree88c9b2698acb0906e69e5b7bb0cd36220d37458f
parent5f39ad86ddf525792a943d7688ea76121de97a8d (diff)
downloadruby-438f4c5186a40df2d95f268e178571798906c615.tar.gz
ruby-438f4c5186a40df2d95f268e178571798906c615.tar.xz
ruby-438f4c5186a40df2d95f268e178571798906c615.zip
* complex.c (f_signbit): regard NaN as a positive value.
[ruby-dev:37861]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--complex.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 48f746b64..a863d16c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Feb 2 12:41:52 2009 Shugo Maeda <shugo@ruby-lang.org>
+
+ * complex.c (f_signbit): regard NaN as a positive value.
+ [ruby-dev:37861].
+
Mon Feb 2 12:39:00 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sample/test.rb (valid_syntax?), test/ruby/test_system.rb
diff --git a/complex.c b/complex.c
index 49ce51f90..180e7d23c 100644
--- a/complex.c
+++ b/complex.c
@@ -894,8 +894,10 @@ f_signbit(VALUE x)
#else
{
char s[2];
+ double f = RFLOAT_VALUE(x);
- (void)snprintf(s, sizeof s, "%.0f", RFLOAT_VALUE(x));
+ if (isnan(f)) return Qfalse;
+ (void)snprintf(s, sizeof s, "%.0f", f);
return f_boolcast(s[0] == '-');
}
#endif