Added conversion to double from network time units.

Bug: None
Change-Id: Ib936bb232418fdd06b48f9c5bea1d2b1c80a09b1
Reviewed-on: https://webrtc-review.googlesource.com/65541
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22710}
This commit is contained in:
Sebastian Jansson 2018-03-29 17:18:20 +02:00 committed by Commit Bot
parent 3cfe9e167e
commit 667f7a7ed7
2 changed files with 26 additions and 0 deletions

View File

@ -67,6 +67,9 @@ class TimeDelta {
return microseconds_;
}
TimeDelta Abs() const { return TimeDelta::us(std::abs(us())); }
double SecondsAsDouble() const;
bool IsZero() const { return microseconds_ == 0; }
bool IsFinite() const { return IsInitialized() && !IsInfinite(); }
bool IsInitialized() const {
@ -188,6 +191,8 @@ class Timestamp {
microseconds_ += other.us();
return *this;
}
double SecondsAsDouble() const;
bool operator==(const Timestamp& other) const {
return microseconds_ == other.microseconds_;
}

View File

@ -19,6 +19,27 @@ TimeDelta TimeDelta::operator*(double scalar) const {
DataSize DataSize::operator*(double scalar) const {
return DataSize::bytes(std::round(bytes() * scalar));
}
double TimeDelta::SecondsAsDouble() const {
if (IsPlusInfinity()) {
return std::numeric_limits<double>::infinity();
} else if (IsMinusInfinity()) {
return -std::numeric_limits<double>::infinity();
} else if (!IsInitialized()) {
return std::numeric_limits<double>::signaling_NaN();
} else {
return us() * 1e-6;
}
}
double Timestamp::SecondsAsDouble() const {
if (IsInfinite()) {
return std::numeric_limits<double>::infinity();
} else if (!IsInitialized()) {
return std::numeric_limits<double>::signaling_NaN();
} else {
return us() * 1e-6;
}
}
DataRate DataRate::operator*(double scalar) const {
return DataRate::bytes_per_second(std::round(bytes_per_second() * scalar));