X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=timespec.cpp;fp=timespec.cpp;h=66fa26a061d2bb985131fcbbe964be7d3b2d97e7;hp=0000000000000000000000000000000000000000;hb=b1b81d8f5492e48a60f0ed2930a098747928e5c4;hpb=8077fd7663c0e79e4d42c9db55be1de02027a17d diff --git a/timespec.cpp b/timespec.cpp new file mode 100644 index 0000000..66fa26a --- /dev/null +++ b/timespec.cpp @@ -0,0 +1,28 @@ +#include +#include + +#include "timespec.h" + +timespec clock_diff(const timespec &a, const timespec &b) +{ + timespec ret; + ret.tv_sec = b.tv_sec - a.tv_sec; + ret.tv_nsec = b.tv_nsec - a.tv_nsec; + if (ret.tv_nsec < 0) { + ret.tv_sec--; + ret.tv_nsec += 1000000000; + } + assert(ret.tv_nsec >= 0); + return ret; +} + +timespec clock_add(const timespec &a, const timespec &b) +{ + timespec ret; + ret.tv_sec = a.tv_sec + b.tv_sec; + ret.tv_nsec = b.tv_nsec + b.tv_nsec; + + ret.tv_sec += ret.tv_nsec / 1000000000; + ret.tv_nsec %= 1000000000; + return ret; +}