This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/67570] comparison rules fails
- From: "joseph at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 16 Sep 2015 15:45:43 +0000
- Subject: [Bug c/67570] comparison rules fails
- Auto-submitted: auto-generated
- References: <bug-67570-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67570
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
I advise looking at __FLT_MAX__, __FLT_MIN__, __FLT_DENORM_MIN__ etc. as
predefined by the compiler to see the appropriate values of various
constants.
> Multiplying (float)MIN_NORMALIZED * (float)MIN_NORMALIZED andÂ
> viewing this value with printf("%E..) we obtainsÂ
> result = 3.109021E-076 wuich is a valid double normalized value.
That's a matter of excess range and precision. See the C99/C11 standards
and bug 323.