Каждый раз, когда я запускаю новый проект, и когда мне нужно сравнивать некоторые переменные float или double, я пишу код, подобный этому:
if (fabs(prev.min[i] - cur->min[i]) < 0.000001 &&
fabs(prev.max[i] - cur->max[i]) < 0.000001) {
continue;
}
Затем я хочу избавиться от этих магических переменных 0.000001 (и 0.00000000001 для double) и fabs, поэтому я пишу встроенную функцию, а некоторые определяют:
#define FLOAT_TOL 0.000001
Так что я задаюсь вопросом, есть ли какой-нибудь стандартный способ сделать это? Может быть, стандартный файл заголовка? Было бы неплохо иметь плавающие и двойные ограничения (минимальные и максимальные значения)