Merge branch 'master' of gitlab.2:f1x1t/myxlib

This commit is contained in:
2019-11-27 21:22:29 +03:00
10 changed files with 427 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
#ifndef MYX_MATH_ALMOST_EQUAL_RELATIVE_AND_ABS_HPP_
#define MYX_MATH_ALMOST_EQUAL_RELATIVE_AND_ABS_HPP_
#include <cfloat>
namespace myx {
namespace math {
/**
* @brief Проверка на равенство двух аргументов типа float.
* Параметр maxAbsDiff определяет максимальную абсолютную допустимую разницу.
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative_and_abs( const float a, const float b,
const float maxAbsDiff, const float maxRelDiff = FLT_EPSILON );
/**
* @brief Проверка на равенство двух аргументов типа double.
* Параметр maxAbsDiff определяет максимальную абсолютную допустимую разницу.
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative_and_abs( const double a, const double b,
const double maxAbsDiff, const double maxRelDiff = DBL_EPSILON );
} // namespace math
} // namespace myx
#endif // MYX_MATH_ALMOST_EQUAL_RELATIVE_AND_ABS_HPP_