Issue #1715 has been updated by tadayoshi funaba.


i'm nothing special.
so far, my policy (maybe entirely ruby too, i believe) is 
don't bother calculation of flonum.
that's all.
basically, the result depends machine's representation and libm (atan2 etc).

i don't know detail, but kahan's proposal was accepted widely.
see about phase of cltl2 and angle of r6rs.
see also carg(3) and atan2(3).

zero is zero, right, but sign is preserved.

1.0/Inf #=> 0.0
(-1.0)/Inf #=> -0.0

Complex(0.0,1.0)/Inf #=> (0.0+0.0i)
Complex(0.0,-1.0)/Inf #=> (0.0-0.0i)

in ruby,
if both NaN * 0 and NaN * 0.0 return zero
and don't distinguish -0.0 and +0.0,
you have a chance a little, i think.

so far, i don't think Complex should wipe the given NaN out.
i don't think 0.arg should return NaN.

i'm going to follow common sense in this world, not nonsense.

----------------------------------------
http://redmine.ruby-lang.org/issues/show/1715

----------------------------------------
http://redmine.ruby-lang.org