------- 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