aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/types/time_spec.cpp27
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(),