------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2005-03-07 01:41 ------- Subject: Re: FAIL: 26_numerics/complex/pow.cc execution test
> > 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. I'll dig some more. Just for the record, this is the latest standard for log <http://www.opengroup.org/onlinepubs/009695399/functions/log.html>. Linux seems non conformant in returning -Inf. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20352