![]() |
![]() ![]() ![]() ![]() |
![]() |
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 ::
реклама |