unittest { bool fuzzyCmp(float a, float b) { return abs(a-b) < 0.000001f; } float len1 = sqrt(8.0f); float len2 = sqrt(8.0f); assert(len1 == len2); // passes assert(fuzzyCmp(len1,sqrt(8.0f))); // passes assert(len1 == sqrt(8.0f)); // fails!! }
The comparison of the float variable passes, but the comparison to the return value of the sqrt-function fails.?!