[Issue 20451] comparing identical floating points does not work on Win32 and FreeBSD32.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Dec 15 19:39:44 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=20451
--- Comment #2 from jacob <look.at.me.pee.please at gmail.com> ---
As for why it works on 64-bit and Linux, they don't use the FPU there. So
essentially the pow() function is returning a double in a XMM register.
So if you run the above code I posted with -m64, it does a check using the FPU.
Which causes the assert to fail, cause of course it is now testing a double
(from pow()) and a real.
The whole situation is really messed up and it seems that it is flip flopping
between double and real cause in new hardware nothing actually supports 80-bit
floats it's dead.
Really real should mean 128-bit float, it is the next logical step over 80-bit
floats.
--
More information about the Digitalmars-d-bugs
mailing list