Здравствуйте, andy1618, Вы писали:
V>>>>Только осторожней с той формулой, она работает только для чисел одинаковым знаком.
A>>>Речь про эту формулу?
A>>>A>>>if (fabs(a-b) <= DBL_EPSILON * fmax(fabs(a),fabs(b)))
A>>>{
A>>> . . .Числа равны с относительной точностью DBL_EPSILON
A>>>}
A>>>
A>>>ИМХО тут всё чётко.
V>>Ну подставте, к примеру, 1.e-10 и -1.e-10, получится:
V>>V>>if (2.e-10 <= 2.e-16 * 1.e-10)
V>>
V>>Очевидно что false.
A>Всё правильно — и должно быть false. Это как сравнивать +1 и -1 — было бы странно их уравнять 
С чего бы это, а почему 100000..00001 и 100000..00003 — не странно?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]