У меня есть вещественные числа a
, b
и с
.
Нужно чтобы выполнялось выражение c == (b - a)
, проблема возникает именно с "равно".
Думал использовать fabs((b - a) - c) < DBL_EPSILON
, но не выходит.
// ..
AreClose(b - a, c);
// ...
static bool AreClose(double value1, double value2)
{
//in case they are Infinities (then epsilon check does not work)
if (value1 == value2) return true;
// This computes (|value1-value2| / (|value1| + |value2| + 10.0)) < DBL_EPSILON
double eps = (fabs(value1) + fabs(value2) + 10.0) * DBL_EPSILON;
double delta = value1 - value2;
return(-eps < delta) && (eps > delta);
}
Предыстория: мне нужно реализовать алгоритм быстрой сортировки для односвязного списка
Как используя средства WinApi безопасно извлечь телефон или компьютерную мышь из usb порта? Уже пробовал использовать CM_Request_Eject(), удалось извлечь...
Не уверен, что правильно понял ваши пожелания, но все же: