------- Comment #14 from joseph at codesourcery dot com  2006-09-07 01:52 
-------
Subject: Re:  What should be value of complex<double>(1.0,0.0)
 *= -1?

On Thu, 7 Sep 2006, pcarlini at suse dot de wrote:

> > F.8 is *illustrative* of transformations that are *not* permitted.  It 
> > doesn't permit anything.
> 
> Where do you read that in F.8.2 ?!? I read:
> 
> 0 * x -> 0.0        The expressions 0 * x and 0.0 are not equivalent if
>                     x is NaN, infinite, or -0
> 
> Where do you read that in all the other cases (e.g., when x is a "normal"
> number) 0 * x and 0.0 are not equivalent?!?

Those are *examples* of when they are not equivalent.  It so happens that 
they are not an exhaustive list of examples, since 0 * -finite is -0 as 
well.  As examples, they are informative not normative.  The examples are 
listed in F.8.2 as a warning to implementors of what not to do.  The 
normative requirements in F.3 apply regardless; F.8.2 gives some 
transformations that are not valid because implementing them would cause 
the implementation to fail to implement F.3.


-- 


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

Reply via email to