diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-01-15 15:04:03 -0800 |
---|---|---|
committer | Brent Stapleton <brent.stapleton@ettus.com> | 2019-01-18 09:37:12 -0800 |
commit | 7fab6b807ef5b86c97577170b7b5fdc667e3fa20 (patch) | |
tree | 0cdb0ab0711599d36f192c77a6129abbf235ad73 /host/lib/usrp/b100/clock_ctrl.cpp | |
parent | 11c7e561fc29b56ade8ae6ec549b21c533540e8a (diff) | |
download | uhd-7fab6b807ef5b86c97577170b7b5fdc667e3fa20.tar.gz uhd-7fab6b807ef5b86c97577170b7b5fdc667e3fa20.tar.bz2 uhd-7fab6b807ef5b86c97577170b7b5fdc667e3fa20.zip |
math: Replace boost::*::{lcm,gcd}() with portable versions
Boost changed the lcm() and gcd() functions in Boost 1.67. This creates
portable UHD versions to be used instead. They use various Boost
versions under the hood conditionally.
Diffstat (limited to 'host/lib/usrp/b100/clock_ctrl.cpp')
-rw-r--r-- | host/lib/usrp/b100/clock_ctrl.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/host/lib/usrp/b100/clock_ctrl.cpp b/host/lib/usrp/b100/clock_ctrl.cpp index e30ca120f..676ebd981 100644 --- a/host/lib/usrp/b100/clock_ctrl.cpp +++ b/host/lib/usrp/b100/clock_ctrl.cpp @@ -11,10 +11,11 @@ #include <uhd/exception.hpp> #include <uhd/utils/assert_has.hpp> #include <uhd/utils/log.hpp> +#include <uhd/utils/math.hpp> #include <uhd/utils/safe_call.hpp> +#include <uhdlib/utils/narrow.hpp> #include <stdint.h> #include <boost/format.hpp> -#include <boost/math/common_factor_rt.hpp> //gcd #include <algorithm> #include <chrono> #include <thread> @@ -122,7 +123,8 @@ static clock_settings_type get_clock_settings(double rate) const uint64_t out_rate = uint64_t(rate); const uint64_t ref_rate = uint64_t(cs.get_ref_rate()); - const size_t gcd = size_t(boost::math::gcd(ref_rate, out_rate)); + const size_t gcd = + uhd::narrow_cast<size_t>((uhd::math::gcd<size_t>(ref_rate, out_rate))); for (size_t i = 1; i <= 100; i++) { const size_t X = size_t(i * ref_rate / gcd); @@ -312,7 +314,7 @@ public: const double ref_rate = REFERENCE_INPUT_RATE * 2; // bypass prescaler such that N = B - long gcd = boost::math::gcd(long(ref_rate), long(rate)); + long gcd = uhd::math::gcd(long(ref_rate), long(rate)); _ad9522_regs.set_r_counter(int(ref_rate / gcd)); _ad9522_regs.a_counter = 0; _ad9522_regs.set_b_counter(int(rate / gcd)); |