[Bug libstdc++/20352] FAIL: 26_numerics/complex/pow.cc execution test

pcarlini at suse dot de gcc-bugzilla@gcc.gnu.org
Mon Mar 7 01:32:00 GMT 2005


------- Additional Comments From pcarlini at suse dot de  2005-03-07 01:32 -------
> We have log(x) == -inf for x == 0+.  The exp call is returning 0+
> but the argument isn't -inf.  It's -5.9923104495410517e+307.  -inf
> is -1.7976931348623157e+308.

Interesting. Therefore, 1/3*(-inf) instead of giving the very same -inf, as
should happen in IEEE, gives 1/3*(-1.79769..e+308)! Still, this cannot
explain the NaN, because, then, the involved exp can only be slighlty bigger
than zero... The only other tricky bit of the computation seems atan2(0.0, 0.0)
which should be also zero, of course. Then those two zeros (the latter mult
be 1/3) are passed to complex::polar which only computes sin and cos,
always defined.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20352



More information about the Gcc-bugs mailing list