mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Schwartzmeyer (JIRA)" <j...@apache.org>
Subject [jira] [Created] (MESOS-8421) Duration operators drop precision, even when used with integers
Date Wed, 10 Jan 2018 00:13:00 GMT
Andrew Schwartzmeyer created MESOS-8421:
-------------------------------------------

             Summary: Duration operators drop precision, even when used with integers
                 Key: MESOS-8421
                 URL: https://issues.apache.org/jira/browse/MESOS-8421
             Project: Mesos
          Issue Type: Improvement
          Components: stout
            Reporter: Andrew Schwartzmeyer
            Priority: Minor


The implementation of {{Duration operator*=()}} is as follows:

{noformat}
  Duration& operator*=(double multiplier)
  {
    nanos = static_cast<int64_t>(nanos * multiplier);
    return *this;
  }
{noformat}

A similar pattern is implemented for all the operators. This means that, even when multiplying
by {{int64_t}} (underlying type of {{nanos}}), we lose precision.

While [Review #64729|https://reviews.apache.org/r/64729/] removes the conversion warnings
from {{int}} and {{size_t}} to {{double}}, it purposefully does not address fixing the precision
of these operators (as that'll be a change in behavior, albeit slight, and should be done
for the whole class at once).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message