9 #define BEGIN_STATIC_CODE( _blockname_ ) \ 10 static class _static_code_##_blockname_ { \ 12 _static_code_##_blockname_ () 15 #define END_STATIC_CODE( _blockname_ ) \ 16 } _instance_##_blockname_; 21 #define delay(x) ::Sleep(x) 26 static inline void delay(uint32_t ms){
41 static inline TTimeStamp time_tToTimestamp(
const time_t &t )
43 return uint64_t(t) * UINT64_C(10000000) + UINT64_C(116444736) * UINT64_C(1000000000);
46 static inline TTimeStamp time_tToTimestamp(
const double t )
48 return uint64_t(t*10000000.0)+ UINT64_C(116444736)*UINT64_C(1000000000);
51 static inline double timestampTotime_t(
const TTimeStamp t )
53 return double(t - UINT64_C(116444736)*UINT64_C(1000000000)) / 10000000.0;
56 static inline TTimeStamp timestampAdd(
const TTimeStamp tim,
const double num_seconds)
58 return static_cast<TTimeStamp
>(tim +
static_cast<int64_t
>(num_seconds*10000000.0));
64 static inline double timeDifference(
const TTimeStamp t1,
const TTimeStamp t2 )
66 assert(t1!=INVALID_TIMESTAMP);
67 assert(t2!=INVALID_TIMESTAMP);
69 return (int64_t(t2)- int64_t(t1))/10000000.0;
75 static inline TTimeStamp secondsToTimestamp(
const double nSeconds )
77 return (TTimeStamp)(nSeconds*10000000.0);
85 uint32_t getHDTimer();
86 TTimeStamp getCurrentTime();
90 #define getms() impl::getHDTimer() 91 #define getTime() impl::getCurrentTime()