[Issue 9937] CTFE floats don't overflow correctly
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Apr 19 00:57:56 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9937
--- Comment #4 from Don <clugdbug at yahoo.com.au> 2013-04-19 00:57:55 PDT ---
(In reply to comment #3)
> You're correct for C, as those are the C rules. But this is not true for D.
>
> Can you be more specific about what you're doing in CTFE that does not work?
Define an IEEE single-precision floating-point constant.
Perhaps this is a better example:
void main()
{
float f1 = float.max * 2;
const float f2 = float.max * 2;
assert(f1 == float.infinity); // ok
assert(f1 == f2); // ok
assert(*&f2 == float.infinity); // even this is OK
assert(f2 == float.infinity); // fails!!!!!!!!!!!!!!!!!
}
f2 apparently has two different values at the same time!
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list