[Issue 715] New: incorrect IEEE 754 handling of -0i and +0i

Don Clugston dac at nospam.com.au
Sat Dec 23 00:10:13 PST 2006


This creates a real, not an imaginary. It shouldn't compile at all.

> # union I{
> #    ifloat f;
> #    uint i;
> # }
> #
> # void foo(){
> #    I i;
> #    i.f = 0.0fi;
> #    i.f *= -1.0fi;   <<  This should be i.f *= -1.0f;
> #    assert(i.i == 0x80000000);
> # }


More information about the Digitalmars-d-bugs mailing list