Ошибки double относительные, поэтому казалось бы, иногда стоит сравнивать не с "очень маленькой константой", а смотреть на относительную погрешность.
Разве нет?
Скажем так:
inline bool IsEquDouble( double a, double b, dauble eps = DBL_EPSILON * 10 )
{
assert( eps > 0 );
return abs( a - b ) <= eps * max( a, b );
}
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском