import core.stdc.stdio; enum real er1 = real.nan; enum real er2 = 1; static assert(er1 != er2); static assert(!(er1 == er2)); static assert(!(er1 < er2)); static assert(!(er1 > er2)); static assert(!(er1 >= er2)); static assert(!(er1 <= er2)); enum double ed1 = real.nan; enum double ed2 = 1; static assert(ed1 != ed2); static assert(!(ed1 == ed2)); static assert(!(ed1 < ed2)); static assert(!(ed1 > ed2)); static assert(!(ed1 >= ed2)); static assert(!(ed1 <= ed2)); bool b; bool test() { real r1 = real.nan; real r2 = 1; b = (r1 != r2); assert(b); b = (r1 == r2); assert(!b); b = (r1 < r2); assert(!b); b = (r1 > r2); assert(!b); b = (r1 <= r2); assert(!b); b = (r1 >= r2); assert(!b); double d1 = double.nan; double d2 = 1; b = (d1 != d2); assert(b); b = (d1 == d2); assert(!b); b = (d1 < d2); assert(!b); b = (d1 > d2); assert(!b); b = (d1 <= d2); assert(!b); b = (d1 >= d2); assert(!b); float f1 = float.nan; float f2 = 1; b = (f1 != f2); assert(b); b = (f1 == f2); assert(!b); b = (f1 < f2); assert(!b); b = (f1 > f2); assert(!b); b = (f1 <= f2); assert(!b); b = (f1 >= f2); assert(!b); return true; } void main() { assert(test()); }