Bug 1921288 - Add some arithmetic and conversion functions to AwakeTimeStamp. r=gsvelto

Differential Revision: https://phabricator.services.mozilla.com/D223791
This commit is contained in:
Paul Adenot
2024-10-03 08:54:11 +00:00
parent c7bf50cb98
commit 3c35cdab87
2 changed files with 19 additions and 0 deletions

View File

@@ -31,11 +31,26 @@ double AwakeTimeDuration::ToMicroseconds() const {
return static_cast<double>(mValueUs); return static_cast<double>(mValueUs);
} }
AwakeTimeDuration AwakeTimeDuration::FromSeconds(uint64_t aSeconds) {
return AwakeTimeDuration(aSeconds * 1000000);
}
AwakeTimeDuration AwakeTimeDuration::FromMilliseconds(uint64_t aMilliseconds) {
return AwakeTimeDuration(aMilliseconds * 1000);
}
AwakeTimeDuration AwakeTimeDuration::FromMicroseconds(uint64_t aMicroseconds) {
return AwakeTimeDuration(aMicroseconds);
}
AwakeTimeDuration AwakeTimeStamp::operator-( AwakeTimeDuration AwakeTimeStamp::operator-(
AwakeTimeStamp const& aOther) const { AwakeTimeStamp const& aOther) const {
return AwakeTimeDuration(mValueUs - aOther.mValueUs); return AwakeTimeDuration(mValueUs - aOther.mValueUs);
} }
AwakeTimeStamp AwakeTimeStamp::operator-(
AwakeTimeDuration const& aOther) const {
return AwakeTimeStamp(mValueUs - aOther.mValueUs);
}
AwakeTimeStamp AwakeTimeStamp::operator+( AwakeTimeStamp AwakeTimeStamp::operator+(
const AwakeTimeDuration& aDuration) const { const AwakeTimeDuration& aDuration) const {
return AwakeTimeStamp(mValueUs + aDuration.mValueUs); return AwakeTimeStamp(mValueUs + aDuration.mValueUs);

View File

@@ -53,6 +53,7 @@ class AwakeTimeStamp {
return !(*this == aOther); return !(*this == aOther);
} }
MFBT_API AwakeTimeDuration operator-(AwakeTimeStamp const& aOther) const; MFBT_API AwakeTimeDuration operator-(AwakeTimeStamp const& aOther) const;
MFBT_API AwakeTimeStamp operator-(AwakeTimeDuration const& aOther) const;
MFBT_API AwakeTimeStamp operator+(const AwakeTimeDuration& aDuration) const; MFBT_API AwakeTimeStamp operator+(const AwakeTimeDuration& aDuration) const;
private: private:
@@ -74,6 +75,9 @@ class AwakeTimeDuration {
MFBT_API double ToSeconds() const; MFBT_API double ToSeconds() const;
MFBT_API double ToMilliseconds() const; MFBT_API double ToMilliseconds() const;
MFBT_API double ToMicroseconds() const; MFBT_API double ToMicroseconds() const;
static MFBT_API AwakeTimeDuration FromSeconds(uint64_t aSeconds);
static MFBT_API AwakeTimeDuration FromMilliseconds(uint64_t aMilliseconds);
static MFBT_API AwakeTimeDuration FromMicroseconds(uint64_t aMicroseconds);
MFBT_API void operator+=(const AwakeTimeDuration& aDuration) { MFBT_API void operator+=(const AwakeTimeDuration& aDuration) {
mValueUs += aDuration.mValueUs; mValueUs += aDuration.mValueUs;
} }