12#ifndef INCLUDED_UHD_UTILS_FP_COMPARE_EPSILON_IPP
13#define INCLUDED_UHD_UTILS_FP_COMPARE_EPSILON_IPP
16namespace uhd {
namespace math {
namespace fp_compare {
22 _epsilon = SINGLE_PRECISION_EPSILON;
28 _epsilon = DOUBLE_PRECISION_EPSILON;
39 : _value(copy._value),
40 _epsilon(copy._epsilon)
61 return (lhs_compare && rhs_compare);
92 bool lhs_compare = ((std::abs(lhs.
_value - rhs) / std::abs(lhs.
_value))
94 bool rhs_compare = ((std::abs(lhs.
_value - rhs) / std::abs(rhs))
95 <= DOUBLE_PRECISION_EPSILON);
97 return (lhs_compare && rhs_compare);
102 return !(lhs == rhs);
108 return (lhs.
_value + lhs.
_epsilon) < (rhs - DOUBLE_PRECISION_EPSILON);
119 return (lhs.
_value - lhs.
_epsilon) > (rhs + DOUBLE_PRECISION_EPSILON);
130 bool lhs_compare = ((std::abs(lhs - rhs.
_value) / std::abs(lhs))
131 <= DOUBLE_PRECISION_EPSILON);
132 bool rhs_compare = ((std::abs(lhs - rhs.
_value) / std::abs(rhs.
_value))
135 return (lhs_compare && rhs_compare);
140 return !(lhs == rhs);
146 return (lhs + DOUBLE_PRECISION_EPSILON) < (rhs.
_value - rhs.
_epsilon);
157 return (lhs - DOUBLE_PRECISION_EPSILON) > (rhs.
_value + rhs.
_epsilon);
float_t _epsilon
Definition math.hpp:77
UHD_INLINE ~fp_compare_epsilon()
Definition fp_compare_epsilon.ipp:44
UHD_INLINE void operator=(const fp_compare_epsilon ©)
Definition fp_compare_epsilon.ipp:48
float_t _value
Definition math.hpp:76
UHD_INLINE fp_compare_epsilon(float_t value)
#define UHD_INLINE
Definition config.h:53
UHD_INLINE bool operator!=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:65
UHD_INLINE bool operator<=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:76
UHD_INLINE bool operator==(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:59
UHD_INLINE bool operator<(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:70
UHD_INLINE bool operator>(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:81
UHD_INLINE bool operator>=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:87
Definition build_info.hpp:13