diff options
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/types/time_spec.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/host/lib/types/time_spec.cpp b/host/lib/types/time_spec.cpp index aae6a6121..124b08ac9 100644 --- a/host/lib/types/time_spec.cpp +++ b/host/lib/types/time_spec.cpp @@ -6,6 +6,7 @@ // #include <uhd/types/time_spec.hpp> +#include <cmath> using namespace uhd; @@ -81,6 +82,32 @@ time_spec_t &time_spec_t::operator+=(const time_spec_t &rhs){ return *this; } +time_spec_t &time_spec_t::operator+=(double &rhs){ + double full_secs = std::trunc(rhs); + time_spec_init( + this->get_full_secs() + full_secs, + this->get_frac_secs() + rhs - full_secs + ); + return *this; +} + +time_spec_t &time_spec_t::operator+(double &rhs){ + double full_secs = std::trunc(rhs); + time_spec_init( + this->get_full_secs() + full_secs, + this->get_frac_secs() + rhs - full_secs + ); + return *this; +} + +time_spec_t &time_spec_t::operator+(const time_spec_t &rhs){ + time_spec_init( + this->get_full_secs() + rhs.get_full_secs(), + this->get_frac_secs() + rhs.get_frac_secs() + ); + return *this; +} + time_spec_t &time_spec_t::operator-=(const time_spec_t &rhs){ time_spec_init( this->get_full_secs() - rhs.get_full_secs(), |