Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "ros/time.h"
00019
00020 namespace ros
00021 {
00022 void normalizeSecNSec(uint32_t& sec, uint32_t& nsec){
00023 uint32_t nsec_part= nsec % 1000000000UL;
00024 uint32_t sec_part = nsec / 1000000000UL;
00025 sec += sec_part;
00026 nsec = nsec_part;
00027 }
00028
00029 Time& Time::fromNSec(int32_t t)
00030 {
00031 sec = t / 1000000000;
00032 nsec = t % 1000000000;
00033 normalizeSecNSec(sec, nsec);
00034 return *this;
00035 }
00036
00037 Time& Time::operator +=(const Duration &rhs)
00038 {
00039 sec += rhs.sec;
00040 nsec += rhs.nsec;
00041 normalizeSecNSec(sec, nsec);
00042 return *this;
00043 }
00044
00045 Time& Time::operator -=(const Duration &rhs){
00046 sec += -rhs.sec;
00047 nsec += -rhs.nsec;
00048 normalizeSecNSec(sec, nsec);
00049 return *this;
00050 }
00051 }