[Issue 8562] math.pow fails at compile-time
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Aug 20 09:57:23 PDT 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8562
--- Comment #3 from Caligo <iteronvexor at gmail.com> 2012-08-20 09:57:19 PDT ---
(In reply to comment #2)
> isNan(x) can be implemented at compile time by:
>
> return (x != x);
>
> It's not exactly the same at run time, because it sets the floating point
> hardware exception flags, whereas isNaN does not. But there are no exception
> flags at compile time.
To avoid the casting in isNaN() you would need to know when it's getting called
at compile-time and when it's getting called at run-time, correct? There is no
way to know that, so we end up with two functions, isNaN() and staticIsNaN(),
correct?
bool staticIsNaN(R)(R x) if(isFloatingPoint!R)
{
return x != x;
}
p.s.
why are exception flags being set in a nothrow?
--
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