Strict sign conversions

This commit is contained in:
Pavel Kirienko
2014-08-28 02:51:29 +04:00
parent 4cc7dfb2d4
commit d9d6e80aea
23 changed files with 93 additions and 98 deletions
+3 -3
View File
@@ -140,12 +140,12 @@ public:
}
else
{
if (uint64_t(usec_ + r.toUSec()) < usec_)
if (uint64_t(int64_t(usec_) + r.toUSec()) < usec_)
{
return fromUSec(NumericTraits<uint64_t>::max());
}
}
return fromUSec(usec_ + r.toUSec());
return fromUSec(uint64_t(int64_t(usec_) + r.toUSec()));
}
T operator-(const D& r) const
@@ -154,7 +154,7 @@ public:
}
D operator-(const T& r) const
{
return D::fromUSec((usec_ > r.usec_) ? (usec_ - r.usec_) : -(r.usec_ - usec_));
return D::fromUSec((usec_ > r.usec_) ? int64_t(usec_ - r.usec_) : -int64_t(r.usec_ - usec_));
}
T& operator+=(const D& r)