summaryrefslogtreecommitdiffstats
path: root/src/corelib/time/qlocaltime.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2023-01-16 16:58:27 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2023-01-19 17:57:04 +0100
commit2d7b9b02e991aecb51a27467f577b07563fd0e15 (patch)
tree71c766f66121385712cc27a96e9ceb35d4e90661 /src/corelib/time/qlocaltime.cpp
parent5c40cb0f1a8fad03edb3ef0f97df15e9dd643bdf (diff)
QRoundingDown: make the numerator a template parameter
It's always a constexpr (or static const that could be constexpr; fix the cases of this while I'm here) or an integer literal, so we can, so we might as well. Change-Id: I61e9bcdb27f4a05f011ccce16b5f15d0dade0782 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src/corelib/time/qlocaltime.cpp')
-rw-r--r--src/corelib/time/qlocaltime.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/time/qlocaltime.cpp b/src/corelib/time/qlocaltime.cpp
index cd3c7e51205..90566959674 100644
--- a/src/corelib/time/qlocaltime.cpp
+++ b/src/corelib/time/qlocaltime.cpp
@@ -312,7 +312,7 @@ inline bool secondsAndMillisOverflow(qint64 epochSeconds, qint64 millis, qint64
// returns the local milliseconds, offset from UTC and DST status.
QDateTimePrivate::ZoneState utcToLocal(qint64 utcMillis)
{
- const time_t epochSeconds = QRoundingDown::qDiv(utcMillis, MSECS_PER_SEC);
+ const time_t epochSeconds = QRoundingDown::qDiv<MSECS_PER_SEC>(utcMillis);
const int msec = utcMillis - epochSeconds * MSECS_PER_SEC;
Q_ASSERT(msec >= 0 && msec < MSECS_PER_SEC);
if (qint64(epochSeconds) * MSECS_PER_SEC + msec != utcMillis) // time_t range too narrow
@@ -341,7 +341,7 @@ QDateTimePrivate::ZoneState utcToLocal(qint64 utcMillis)
QString localTimeAbbbreviationAt(qint64 local, QDateTimePrivate::DaylightStatus dst)
{
- const qint64 localDays = QRoundingDown::qDiv(local, MSECS_PER_DAY);
+ const qint64 localDays = QRoundingDown::qDiv<MSECS_PER_DAY>(local);
qint64 millis = local - localDays * MSECS_PER_DAY;
Q_ASSERT(0 <= millis && millis < MSECS_PER_DAY); // Definition of QRD::qDiv.
struct tm tmLocal = timeToTm(localDays, int(millis / MSECS_PER_SEC), dst);
@@ -356,7 +356,7 @@ QDateTimePrivate::ZoneState mapLocalTime(qint64 local, QDateTimePrivate::Dayligh
{
qint64 localSecs = local / MSECS_PER_SEC;
qint64 millis = local - localSecs * MSECS_PER_SEC; // 0 or with same sign as local
- const qint64 localDays = QRoundingDown::qDiv(localSecs, SECS_PER_DAY);
+ const qint64 localDays = QRoundingDown::qDiv<SECS_PER_DAY>(localSecs);
qint64 daySecs = localSecs - localDays * SECS_PER_DAY;
Q_ASSERT(0 <= daySecs && daySecs < SECS_PER_DAY); // Definition of QRD::qDiv.
@@ -368,7 +368,7 @@ QDateTimePrivate::ZoneState mapLocalTime(qint64 local, QDateTimePrivate::Dayligh
// TODO: for glibc, we could use tmLocal.tm_gmtoff
// That would give us offset directly, hence localSecs = offset + utcSecs
// Provisional offset, until we have a revised localSeconds:
- int offset = QRoundingDown::qDiv(local, MSECS_PER_SEC) - utcSecs;
+ int offset = QRoundingDown::qDiv<MSECS_PER_SEC>(local) - utcSecs;
dst = tmLocal.tm_isdst > 0 ? QDateTimePrivate::DaylightTime : QDateTimePrivate::StandardTime;
qint64 jd;
if (Q_UNLIKELY(!QGregorianCalendar::julianFromParts(