Есть ли способ, чтобы числа, немного близкие к равным по ключу?
Сначала я закодировал оператор less, чтобы разрешить толерантность:
Код: Выделить всё
if (o1.m_dblval - o2.m_dblval < - factor * std::numeric_limits::epsilon()) {
return true;
}
else if (o1.m_dblval - o2.m_dblval > factor * std::numeric_limits::epsilon()) {
return false;
}
... (continuation of the less implementation)
- a и b находятся в пределах допуска
- b и c находятся в пределах допуска
- но a и c НЕ находятся в пределах допуска
Я мог бы произвольно округлить с более высокой точностью, чем этот коэффициент * эпсилон, возможно, распределить значения по сегментам?>
Подробнее: https://stackoverflow.com/questions/799 ... n-a-stdmap
Мобильная версия