From 06bec39aa76dfec77858c6c979b377efff6b5093 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Wed, 6 Jun 2001 19:33:25 +0000 Subject: [PATCH] proper conversion from floating point offset to integer nsec --- src/libCom/osi/epicsTime.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/epicsTime.cpp b/src/libCom/osi/epicsTime.cpp index 99c696395..817ffe9c6 100644 --- a/src/libCom/osi/epicsTime.cpp +++ b/src/libCom/osi/epicsTime.cpp @@ -461,7 +461,7 @@ epicsTime epicsTime::operator + (const double &rhs) const if (rhs >= 0) { secOffset = static_cast (rhs); fnsec = rhs - secOffset; - nSecOffset = static_cast (fnsec * nSecPerSec); + nSecOffset = static_cast ( (fnsec * nSecPerSec) + 0.5 ); newSec = this->secPastEpoch + secOffset; // overflow expected newNSec = this->nSec + nSecOffset; @@ -473,7 +473,7 @@ epicsTime epicsTime::operator + (const double &rhs) const else { secOffset = static_cast (-rhs); fnsec = rhs + secOffset; - nSecOffset = static_cast (-fnsec * nSecPerSec); + nSecOffset = static_cast ( (-fnsec * nSecPerSec) + 0.5 ); newSec = this->secPastEpoch - secOffset; // underflow expected if (this->nSec>=nSecOffset) {