22static const double PI = 3.14159265358979323846;
40static const float SINGLE_PRECISION_EPSILON = 1.19e-7f;
41static const double DOUBLE_PRECISION_EPSILON = 2.22e-16;
51static constexpr double FREQ_COMPARE_EPSILON = 1e-12;
68template <
typename float_t>
97template <
typename float_t>
100template <
typename float_t>
103template <
typename float_t>
106template <
typename float_t>
109template <
typename float_t>
112template <
typename float_t>
118template <
typename float_t>
120template <
typename float_t>
122template <
typename float_t>
124template <
typename float_t>
126template <
typename float_t>
128template <
typename float_t>
131template <
typename float_t>
133template <
typename float_t>
135template <
typename float_t>
137template <
typename float_t>
139template <
typename float_t>
141template <
typename float_t>
169static const float SINGLE_PRECISION_DELTA = 1e-3f;
170static const double DOUBLE_PRECISION_DELTA = 1e-5;
173static const double FREQ_COMPARISON_DELTA_HZ = 0.1;
176namespace fp_compare {
191template <
typename float_t>
205template <
typename float_t>
207template <
typename float_t>
209template <
typename float_t>
211template <
typename float_t>
213template <
typename float_t>
215template <
typename float_t>
220template <
typename float_t>
222template <
typename float_t>
224template <
typename float_t>
226template <
typename float_t>
228template <
typename float_t>
230template <
typename float_t>
233template <
typename float_t>
235template <
typename float_t>
237template <
typename float_t>
239template <
typename float_t>
241template <
typename float_t>
243template <
typename float_t>
256 return std::pow(10, (dB_val) / 10.0);
261 return 10 * std::log10(val);
277 return (T(0) < x) - (x < T(0));
292 double freq = std::fmod(requested_freq, rate);
293 if (std::abs(freq) > rate / 2.0)
UHD_INLINE fp_compare_delta(float_t value)
float_t _delta
Definition math.hpp:202
UHD_INLINE void operator=(const fp_compare_delta ©)
Definition fp_compare_delta.ipp:56
UHD_INLINE ~fp_compare_delta()
Definition fp_compare_delta.ipp:51
float_t _value
Definition math.hpp:201
float_t _epsilon
Definition math.hpp:79
UHD_INLINE ~fp_compare_epsilon()
Definition fp_compare_epsilon.ipp:46
UHD_INLINE void operator=(const fp_compare_epsilon ©)
Definition fp_compare_epsilon.ipp:51
float_t _value
Definition math.hpp:78
UHD_INLINE fp_compare_epsilon(float_t value)
An alias for fp_compare_epsilon, but with defaults for frequencies.
Definition math.hpp:146
UHD_INLINE freq_compare_epsilon(const freq_compare_epsilon ©)
Definition math.hpp:153
UHD_INLINE freq_compare_epsilon(double value)
Definition math.hpp:148
#define UHD_INLINE
Definition config.h:65
UHD_INLINE bool operator!=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:71
UHD_INLINE bool operator<=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:84
UHD_INLINE bool operator==(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:64
UHD_INLINE bool operator<(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:77
UHD_INLINE bool operator>(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:90
UHD_INLINE bool operator>=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition fp_compare_delta.ipp:97
UHD_INLINE bool frequencies_are_equal(double lhs, double rhs)
Definition math.hpp:248
double dB_to_lin(const double dB_val)
Definition math.hpp:254
constexpr int sign(T x)
Returns the sign of x.
Definition math.hpp:273
double lin_to_dB(const double val)
Definition math.hpp:259
double wrap_frequency(const double requested_freq, const double rate)
Return a wrapped frequency that is the equivalent frequency in the first.
Definition math.hpp:290
Definition build_info.hpp:12