From f24342acbb6168e6ad163a52ac63dfd68a6c77b4 Mon Sep 17 00:00:00 2001 From: Nomango Date: Tue, 26 May 2020 00:57:07 +0800 Subject: [PATCH] update Time & Duration --- src/kiwano/core/Time.cpp | 84 ++++++++++++++++++++-------------------- src/kiwano/core/Time.h | 26 ++++++------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/src/kiwano/core/Time.cpp b/src/kiwano/core/Time.cpp index b37c2189..33b120d8 100644 --- a/src/kiwano/core/Time.cpp +++ b/src/kiwano/core/Time.cpp @@ -37,7 +37,7 @@ Time::Time() { } -Time::Time(long dur) +Time::Time(int64_t dur) : dur_(dur) { } @@ -84,7 +84,7 @@ Time Time::Now() noexcept LARGE_INTEGER count; QueryPerformanceCounter(&count); - return Time{ static_cast(count.QuadPart * millisecs_per_count) }; + return Time{ static_cast(count.QuadPart * millisecs_per_count) }; #else @@ -92,9 +92,9 @@ Time Time::Now() noexcept using std::chrono::duration_cast; using std::chrono::milliseconds; - const auto now = steady_clock::now(); - const long long count = duration_cast(now.time_since_epoch()).count(); - return Time{ static_cast(count) }; + const auto now = steady_clock::now(); + const auto count = duration_cast(now.time_since_epoch()).count(); + return Time{ static_cast(count) }; #endif } @@ -108,17 +108,17 @@ ClockTime::ClockTime() { } -long ClockTime::GetTimeStamp() const +int64_t ClockTime::GetTimeStamp() const { using std::chrono::duration_cast; using std::chrono::milliseconds; using std::chrono::seconds; const auto timestamp = duration_cast(milliseconds(ms_since_epoch_)).count(); - return static_cast(timestamp); + return static_cast(timestamp); } -long ClockTime::GetMillisecondsSinceEpoch() const +int64_t ClockTime::GetMillisecondsSinceEpoch() const { return ms_since_epoch_; } @@ -128,19 +128,19 @@ std::time_t ClockTime::GetCTime() const return static_cast(GetTimeStamp()); } -ClockTime::ClockTime(long ms_since_epoch) +ClockTime::ClockTime(int64_t ms_since_epoch) : ms_since_epoch_(ms_since_epoch) { } -ClockTime ClockTime::FromTimeStamp(long timestamp) noexcept +ClockTime ClockTime::FromTimeStamp(int64_t timestamp) noexcept { using std::chrono::duration_cast; using std::chrono::milliseconds; using std::chrono::seconds; const auto ms = duration_cast(seconds(timestamp)).count(); - return ClockTime(static_cast(ms)); + return ClockTime(static_cast(ms)); } ClockTime ClockTime::Now() noexcept @@ -149,9 +149,9 @@ ClockTime ClockTime::Now() noexcept using std::chrono::milliseconds; using std::chrono::system_clock; - const auto now = system_clock::now(); - const long long count = duration_cast(now.time_since_epoch()).count(); - return ClockTime{ static_cast(count) }; + const auto now = system_clock::now(); + const auto count = duration_cast(now.time_since_epoch()).count(); + return ClockTime{ static_cast(count) }; } const Duration ClockTime::operator-(const ClockTime& other) const @@ -206,30 +206,30 @@ Duration::Duration() { } -Duration::Duration(long milliseconds) +Duration::Duration(int64_t milliseconds) : milliseconds_(milliseconds) { } float Duration::Seconds() const { - long sec = milliseconds_ / Second.milliseconds_; - long ms = milliseconds_ % Second.milliseconds_; - return static_cast(sec) + static_cast(ms) / 1000.f; + auto sec = milliseconds_ / Second.milliseconds_; + auto ms = milliseconds_ % Second.milliseconds_; + return static_cast(sec + ms) / 1000.f; } float Duration::Minutes() const { - long min = milliseconds_ / Minute.milliseconds_; - long ms = milliseconds_ % Minute.milliseconds_; - return static_cast(min) + static_cast(ms) / (60 * 1000.f); + auto min = milliseconds_ / Minute.milliseconds_; + auto ms = milliseconds_ % Minute.milliseconds_; + return static_cast(min + ms) / (60 * 1000.f); } float Duration::Hours() const { - long hour = milliseconds_ / Hour.milliseconds_; - long ms = milliseconds_ % Hour.milliseconds_; - return static_cast(hour) + static_cast(ms) / (60 * 60 * 1000.f); + auto hour = milliseconds_ / Hour.milliseconds_; + auto ms = milliseconds_ % Hour.milliseconds_; + return static_cast(hour + ms) / (60 * 60 * 1000.f); } void Duration::Sleep() const @@ -250,18 +250,18 @@ String Duration::ToString() const return String("0s"); } - String result; - long total_ms = milliseconds_; + String result; + int64_t total_ms = milliseconds_; if (total_ms < 0) { result.append("-"); total_ms = -total_ms; } - long hour = total_ms / Hour.milliseconds_; - long min = total_ms / Minute.milliseconds_ - hour * 60; - long sec = total_ms / Second.milliseconds_ - (hour * 60 * 60 + min * 60); - long ms = total_ms % Second.milliseconds_; + int64_t hour = total_ms / Hour.milliseconds_; + int64_t min = total_ms / Minute.milliseconds_ - hour * 60; + int64_t sec = total_ms / Second.milliseconds_ - (hour * 60 * 60 + min * 60); + int64_t ms = total_ms % Second.milliseconds_; if (hour) { @@ -275,7 +275,7 @@ String Duration::ToString() const if (ms != 0) { - result.append(std::to_string(static_cast(sec) + static_cast(ms) / 1000.f)).append("s"); + result.append(std::to_string(static_cast(sec + ms) / 1000.f)).append("s"); } else if (sec != 0) { @@ -341,22 +341,22 @@ const Duration Duration::operator*(int val) const const Duration Duration::operator*(unsigned long long val) const { - return Duration(static_cast(milliseconds_ * val)); + return Duration(static_cast(milliseconds_ * val)); } const Duration Duration::operator*(float val) const { - return Duration(static_cast(milliseconds_ * val)); + return Duration(static_cast(milliseconds_ * val)); } const Duration Duration::operator*(double val) const { - return Duration(static_cast(milliseconds_ * val)); + return Duration(static_cast(milliseconds_ * val)); } const Duration Duration::operator*(long double val) const { - return Duration(static_cast(milliseconds_ * val)); + return Duration(static_cast(milliseconds_ * val)); } const Duration Duration::operator/(int val) const @@ -366,12 +366,12 @@ const Duration Duration::operator/(int val) const const Duration Duration::operator/(float val) const { - return Duration(static_cast(milliseconds_ / val)); + return Duration(static_cast(milliseconds_ / val)); } const Duration Duration::operator/(double val) const { - return Duration(static_cast(milliseconds_ / val)); + return Duration(static_cast(milliseconds_ / val)); } Duration& Duration::operator+=(const Duration& other) @@ -394,31 +394,31 @@ Duration& Duration::operator*=(int val) Duration& Duration::operator/=(int val) { - milliseconds_ = static_cast(milliseconds_ / val); + milliseconds_ = static_cast(milliseconds_ / val); return (*this); } Duration& Duration::operator*=(float val) { - milliseconds_ = static_cast(milliseconds_ * val); + milliseconds_ = static_cast(milliseconds_ * val); return (*this); } Duration& Duration::operator/=(float val) { - milliseconds_ = static_cast(milliseconds_ / val); + milliseconds_ = static_cast(milliseconds_ / val); return (*this); } Duration& Duration::operator*=(double val) { - milliseconds_ = static_cast(milliseconds_ * val); + milliseconds_ = static_cast(milliseconds_ * val); return (*this); } Duration& Duration::operator/=(double val) { - milliseconds_ = static_cast(milliseconds_ / val); + milliseconds_ = static_cast(milliseconds_ / val); return (*this); } diff --git a/src/kiwano/core/Time.h b/src/kiwano/core/Time.h index 39e0edd8..1cf09285 100644 --- a/src/kiwano/core/Time.h +++ b/src/kiwano/core/Time.h @@ -53,11 +53,11 @@ struct KGE_API Duration /// \~chinese /// @brief 构造时间段 /// @param milliseconds 毫秒数 - Duration(long milliseconds); + Duration(int64_t milliseconds); /// \~chinese /// @brief 获取毫秒数 - long Milliseconds() const; + int64_t Milliseconds() const; /// \~chinese /// @brief 获取秒数 @@ -79,7 +79,7 @@ struct KGE_API Duration /// \~chinese /// @brief 设置毫秒数 /// @param ms 毫秒数 - void SetMilliseconds(long ms); + void SetMilliseconds(int64_t ms); /// \~chinese /// @brief 设置秒数 @@ -159,7 +159,7 @@ struct KGE_API Duration friend const Duration operator/(double, const Duration&); private: - long milliseconds_; + int64_t milliseconds_; }; /** @@ -197,10 +197,10 @@ struct KGE_API Time Time& operator-=(const Duration&); private: - Time(long ms); + Time(int64_t ms); private: - long dur_; + int64_t dur_; }; /** @@ -213,11 +213,11 @@ struct KGE_API ClockTime /// \~chinese /// @brief 获取当前时间戳 - long GetTimeStamp() const; + int64_t GetTimeStamp() const; /// \~chinese /// @brief 获取自纪元以来的毫秒数 - long GetMillisecondsSinceEpoch() const; + int64_t GetMillisecondsSinceEpoch() const; /// \~chinese /// @brief 获取 C 风格的时间 @@ -229,7 +229,7 @@ struct KGE_API ClockTime /// \~chinese /// @brief 时间戳转化为时间 - static ClockTime FromTimeStamp(long timestamp) noexcept; + static ClockTime FromTimeStamp(int64_t timestamp) noexcept; const Duration operator-(const ClockTime&) const; @@ -240,13 +240,13 @@ struct KGE_API ClockTime ClockTime& operator-=(const Duration&); private: - ClockTime(long ms_since_epoch); + ClockTime(int64_t ms_since_epoch); private: - long ms_since_epoch_; + int64_t ms_since_epoch_; }; -inline long Duration::Milliseconds() const +inline int64_t Duration::Milliseconds() const { return milliseconds_; } @@ -256,7 +256,7 @@ inline bool Duration::IsZero() const return milliseconds_ == 0LL; } -inline void Duration::SetMilliseconds(long ms) +inline void Duration::SetMilliseconds(int64_t ms) { milliseconds_ = ms; }