  | 
  
    USRP Hardware Driver and USRP Manual
    Version: 4.4.0.HEAD-0-g5fac246b
    
   UHD and USRP Manual 
   | 
           
 | 
 
 
 
 
Go to the documentation of this file.
   13 #include <boost/numeric/conversion/bounds.hpp> 
   15 #if BOOST_VERSION >= 106700 
   16 #    include <boost/integer/common_factor.hpp> 
   18 namespace _bmint = boost::integer;
 
   20 #    include <boost/math/common_factor.hpp> 
   21 namespace _bmint = boost::math;
 
   33 static const double PI = 3.14159265358979323846;
 
   51 static const float SINGLE_PRECISION_EPSILON  = 1.19e-7f;
 
   52 static const double DOUBLE_PRECISION_EPSILON = 2.22e-16;
 
   62 static constexpr 
double FREQ_COMPARE_EPSILON = 1e-12;
 
   64 namespace fp_compare {
 
   79 template <
typename float_t>
 
  108 template <
typename float_t>
 
  111 template <
typename float_t>
 
  114 template <
typename float_t>
 
  117 template <
typename float_t>
 
  120 template <
typename float_t>
 
  123 template <
typename float_t>
 
  129 template <
typename float_t>
 
  131 template <
typename float_t>
 
  133 template <
typename float_t>
 
  135 template <
typename float_t>
 
  137 template <
typename float_t>
 
  139 template <
typename float_t>
 
  142 template <
typename float_t>
 
  144 template <
typename float_t>
 
  146 template <
typename float_t>
 
  148 template <
typename float_t>
 
  150 template <
typename float_t>
 
  152 template <
typename float_t>
 
  180 static const float SINGLE_PRECISION_DELTA  = 1e-3f;
 
  181 static const double DOUBLE_PRECISION_DELTA = 1e-5;
 
  184 static const double FREQ_COMPARISON_DELTA_HZ = 0.1;
 
  187 namespace fp_compare {
 
  202 template <
typename float_t>
 
  216 template <
typename float_t>
 
  218 template <
typename float_t>
 
  220 template <
typename float_t>
 
  222 template <
typename float_t>
 
  224 template <
typename float_t>
 
  226 template <
typename float_t>
 
  231 template <
typename float_t>
 
  233 template <
typename float_t>
 
  235 template <
typename float_t>
 
  237 template <
typename float_t>
 
  239 template <
typename float_t>
 
  241 template <
typename float_t>
 
  244 template <
typename float_t>
 
  246 template <
typename float_t>
 
  248 template <
typename float_t>
 
  250 template <
typename float_t>
 
  252 template <
typename float_t>
 
  254 template <
typename float_t>
 
  267     return std::pow(10, (dB_val) / 10.0);
 
  272     return 10 * std::log10(val);
 
  277 template <
typename IntegerType>
 
  278 inline IntegerType 
lcm(IntegerType x, IntegerType y)
 
  281     return _bmint::lcm<IntegerType>(x, y);
 
  285 template <
typename IntegerType>
 
  286 inline IntegerType 
gcd(IntegerType x, IntegerType y)
 
  289     return _bmint::gcd<IntegerType>(x, y);
 
  299 template <
typename T>
 
  304     return (T(0) < x) - (x < T(0));
 
  319     double freq = std::fmod(requested_freq, rate);
 
  320     if (std::abs(freq) > rate / 2.0)
 
  
 
UHD_INLINE bool operator==(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:58
 
UHD_INLINE bool operator>=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:86
 
IntegerType gcd(IntegerType x, IntegerType y)
Portable version of gcd() across Boost versions.
Definition: math.hpp:286
 
double lin_to_dB(const double val)
Definition: math.hpp:270
 
UHD_INLINE bool frequencies_are_equal(double lhs, double rhs)
Definition: math.hpp:259
 
An alias for fp_compare_epsilon, but with defaults for frequencies.
Definition: math.hpp:156
 
float_t _epsilon
Definition: math.hpp:90
 
#define UHD_INLINE
Definition: config.h:65
 
constexpr int sign(T x)
Returns the sign of x.
Definition: math.hpp:300
 
float_t _value
Definition: math.hpp:212
 
UHD_INLINE freq_compare_epsilon(const freq_compare_epsilon ©)
Definition: math.hpp:164
 
float_t _delta
Definition: math.hpp:213
 
Definition: build_info.hpp:12
 
UHD_INLINE bool operator<=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:75
 
UHD_INLINE bool operator<(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:69
 
IntegerType lcm(IntegerType x, IntegerType y)
Portable version of lcm() across Boost versions.
Definition: math.hpp:278
 
UHD_INLINE fp_compare_epsilon(float_t value)
 
UHD_INLINE fp_compare_delta(float_t value)
 
UHD_INLINE freq_compare_epsilon(double value)
Definition: math.hpp:159
 
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:317
 
UHD_INLINE bool operator>(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:80
 
float_t _value
Definition: math.hpp:89
 
UHD_INLINE void operator=(const fp_compare_epsilon ©)
Definition: fp_compare_epsilon.ipp:48
 
UHD_INLINE void operator=(const fp_compare_delta ©)
Definition: fp_compare_delta.ipp:52
 
UHD_INLINE ~fp_compare_epsilon()
Definition: fp_compare_epsilon.ipp:44
 
UHD_INLINE ~fp_compare_delta()
Definition: fp_compare_delta.ipp:48
 
UHD_INLINE bool operator!=(fp_compare_delta< float_t > lhs, fp_compare_delta< float_t > rhs)
Definition: fp_compare_delta.ipp:64
 
double dB_to_lin(const double dB_val)
Definition: math.hpp:265