![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Tolerance-based comparisonsBoost , Boost.Test , Floating point comparison
|
![]() |
Note |
---|---|
Поэтому, чтобы проверить, близко ли число к нулю с допуском, нужно набрать: BOOST_TEST(v == T(0), tt::tolerance(eps)); |
Утверждения о совместимости<BOOST_<level>_CLOSE
>и<BOOST_<level>_CLOSE_FRACTION
>выполняют формулу (rel).
Утверждение совместимости<BOOST_<level>_SMALL
>выполняет формулу (abs).
Единичная тестовая структуратакже обеспечивает унарный предикат<small_with_tolerance
>и двоичный предикат<close_at_tolerance
>, которые реализуют формулу (abs) и (rel) соответственно.
operator<
Вычисления, основанные на терпимости, также применимы к<operator<
>и другим реляционным операторам. Семантика определяется следующим образом:
![]() |
Note |
---|---|
Это означает, что точно один из них:< |
![]() |
Caution |
---|---|
Связь с меньшей толерантностью не является строго слабым упорядочиванием; использование ее в качестве предиката в< |
Статья Tolerance-based comparisons раздела Boost.Test Floating point comparison может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Floating point comparison ::
реклама |