Может ли кто-нибудь описать разницу в поведении между BOOST_CHECK_CLOSE
и BOOST_CHECK_CLOSE_FRACTION
? В документации подразумевается, что оба макроса обрабатывают свой третий параметр одинаково, что заставляет меня подозревать, что документация неверна.
В частности, BOOST_CHECK_CLOSE_FRACTION
дает мне некоторые нечетные результаты:
error in "...": difference between *expected{0} and *actual{-1.7763568394002506e-16} exceeds 9.9999999999999995e-07
Есть ли какая-то ошибка, потому что я ожидаю нулевой результат? Мне не удалось прочитать основные декларации макросов. Обратите внимание, что BOOST_CHECK_SMALL
не подходит для моего варианта использования (сравнение двух векторов после операции линейной алгебры).