"f + 0.5" does not round correctly for values very close to
".5" for every integer multiple, e.g. "0.
499999975".
Found by clang-tidy's "bugprone-incorrect-roundings" check.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
#include "virtime.h"
#include "virthread.h"
+#include <math.h>
+
#define VIR_FROM_THIS VIR_FROM_NONE
VIR_LOG_INIT("util.virhostuptime");
return -EINVAL;
}
- *btime = now / 1000 - up + 0.5;
+ *btime = llround(now / 1000 - up);
return 0;
}