summaryrefslogtreecommitdiff
path: root/complex.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 08:07:39 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 08:07:39 +0000
commit9d2c121e6a6644addf2bc2c0984b0f8e32693f7f (patch)
tree5e6fdffdb04c0ec6955418cdaaf18c85e38f9490 /complex.c
parentaa90ca2669ecbad3a925cb6f3649400c0bc00016 (diff)
merges r21945 from trunk into ruby_1_9_1.
* complex.c (f_signbit): regard NaN as a positive value. [ruby-dev:37861]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'complex.c')
-rw-r--r--complex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/complex.c b/complex.c
index 390658b487..b3b55c6856 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