On 02/14/2012 07:48 AM, Bernard Helyer wrote:
On Tuesday, 14 February 2012 at 15:39:37 UTC, Joshua Reusch wrote:
Hello,

why does this assertion fail:

> assert(float.nan == float.nan);

there is the std.math.isNaN function which works correctly, but why
can I not just use the comparison ?

Thanks, Joshua

Use `float.nan is float.nan`; all other expressions with NaNs in them
will be false (or result in NaN).

In the general case, std.math.isNaN works:

import std.math;

void main()
{
    float f;
    assert(f is float.nan);   // fails
    assert(isNaN(f));         // passes
}

Ali

Reply via email to