[Bug c/24581] Complex arithmetic on special cases is incorrect.
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Mon Nov 22 00:04:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581
--- Comment #17 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-11-21 23:53:10 UTC ---
On Sun, 21 Nov 2010, sgk at troutmask dot apl.washington.edu wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581
>
> --- Comment #16 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2010-11-21 23:43:10 UTC ---
> On Sun, Nov 21, 2010 at 11:34:46PM +0000, joseph at codesourcery dot com wrote:
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581
> >
> > --- Comment #15 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-11-21 23:33:48 UTC ---
> > For the original program I get
> >
> > -0.000000e+00 -0.000000e+00
> > -nan inf
> >
> > which appears correct (if one part of a complex number is an infinity,
> > anything is valid for the other part and the overall value is still an
> > infinity).
> >
>
> The '-nan inf' is incorrect. The correct answer is '0 inf'.
Annex G does not define the results for complex*complex multiplication to
that level of detail, and for the complex*real multiplication we have here
it seems entirely correct to have a NaN (sign unspecified) as the real
part.
More information about the Gcc-bugs
mailing list