40 : DurationBase<Duration>(rate.expectedCycleTime().sec, rate.expectedCycleTime().nsec)
43 WallDuration::WallDuration(
const Rate& rate)
44 : DurationBase<WallDuration>(rate.expectedCycleTime().sec, rate.expectedCycleTime().nsec)
49 int64_t nsec_part = nsec % 1000000000L;
50 int64_t sec_part = sec + nsec / 1000000000L;
53 nsec_part += 1000000000L;
57 if (sec_part < std::numeric_limits<int32_t>::min() || sec_part > std::numeric_limits<int32_t>::max())
58 throw std::runtime_error(
"Duration is out of dual 32-bit range");
67 int64_t nsec64 = nsec;
72 nsec = (int32_t)nsec64;