I agree with you on NaN, but of course that could weirdness like 0 is false but (float) 0 is true. It's a wart, plain and simple. And we haven't even talked about +0.0 and -0.0, which exist in the IEEE spec even though people feel free to ignore them.
no subject