Sorry, I guess I didn't present that very well. NAN is an exponent of 0x7FF with a non-zero mantissa. INF is an exponent of 0x7FF with a zero mantissa. Here are the actual fuctions I am using... bool IsInf (double d) { const INT64 iInf = 0x7FF0000000000000; if ((*(INT64*)&d & 0x7FFFFFFFFFFFFFFF) == iInf) return true; return false; } bool IsNan (double d) { INT64 exp = *(INT64*)&d & 0x7FF0000000000000; INT64 mantissa = *(INT64*)&d & 0x000FFFFFFFFFFFFF; if (exp == 0x7FF0000000000000 && mantissa != 0) return true; return false; }
modified on Friday, November 27, 2009 3:04 PM