diff --git a/ChangeLog b/ChangeLog index aec6eb1c87..26f6fe5ead 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jul 5 20:40:35 2009 Tadayoshi Funaba + + * complex.c (float_arg): returns PI for -0.0. + Sun Jul 5 14:04:36 2009 Nobuyoshi Nakada * thread.c (rb_threadptr_exec_event_hooks): new function to diff --git a/complex.c b/complex.c index 048aa92bfd..d64c628128 100644 --- a/complex.c +++ b/complex.c @@ -1756,7 +1756,9 @@ float_arg(VALUE self) { if (isnan(RFLOAT_VALUE(self))) return self; - return rb_call_super(0, 0); + if (f_tpositive_p(self)) + return INT2FIX(0); + return rb_const_get(rb_mMath, id_PI); } /*