32 lines
1.1 KiB
C++
32 lines
1.1 KiB
C++
|
#ifndef MYX_MATH_ALMOST_EQUAL_ULPS_HPP_
|
|||
|
#define MYX_MATH_ALMOST_EQUAL_ULPS_HPP_
|
|||
|
|
|||
|
#include <myx/math/float_cmp_types.hpp>
|
|||
|
|
|||
|
#include <cmath>
|
|||
|
|
|||
|
namespace myx {
|
|||
|
|
|||
|
namespace math {
|
|||
|
|
|||
|
/**
|
|||
|
* @brief Проверка на равенство двух аргументов типа float.
|
|||
|
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
|
|||
|
* при которой они считаются равными.
|
|||
|
*/
|
|||
|
bool almost_equal_ulps( const float a, const float b,
|
|||
|
const int maxUlpsDiff );
|
|||
|
/**
|
|||
|
* @brief Проверка на равенство двух аргументов типа double.
|
|||
|
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
|
|||
|
* при которой они считаются равными.
|
|||
|
*/
|
|||
|
bool almost_equal_ulps( const double a, const double b,
|
|||
|
const int maxUlpsDiff );
|
|||
|
|
|||
|
} // namespace math
|
|||
|
|
|||
|
} // namespace myx
|
|||
|
|
|||
|
#endif // MYX_MATH_ALMOST_EQUAL_ULPS_HPP_
|