| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /*************************************** | ||
| 2 | Auteur : Pierre Aubert | ||
| 3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
| 4 | Licence : CeCILL-C | ||
| 5 | ****************************************/ | ||
| 6 | |||
| 7 | |||
| 8 | |||
| 9 | #ifndef __PHOENIX_THREAD_CLOCK_H__ | ||
| 10 | #define __PHOENIX_THREAD_CLOCK_H__ | ||
| 11 | |||
| 12 | #include <chrono> | ||
| 13 | |||
| 14 | typedef std::chrono::steady_clock PhoenixClock; | ||
| 15 | typedef std::chrono::nanoseconds PNanoSecond; | ||
| 16 | typedef std::chrono::microseconds PMicroSecond; | ||
| 17 | typedef std::chrono::seconds PSecond; | ||
| 18 | typedef int64_t PEllapsedTime; | ||
| 19 | |||
| 20 | typedef std::chrono::time_point<std::chrono::steady_clock> PhoenixTime; | ||
| 21 | |||
| 22 | PhoenixTime phoenix_thread_clock(); | ||
| 23 | |||
| 24 | ///Compute an ellapsed time in the given unit | ||
| 25 | /** @param referenceTime : reference time (no unit, this is a time) | ||
| 26 | * @return ellapsed time in the units specified by template (PNanoSecond, PMicroSecond, PSecond) | ||
| 27 | */ | ||
| 28 | template<typename T> | ||
| 29 | 16 | PEllapsedTime phoenix_ellapsedTime(PhoenixTime referenceTime){ | |
| 30 |
2/2✓ Branch 0 (2→3) taken 16 times.
✓ Branch 2 (3→4) taken 16 times.
|
16 | PNanoSecond ellapsedTime = phoenix_thread_clock() - referenceTime; |
| 31 | 16 | T ellapsedTimeUnit = (T)ellapsedTime; | |
| 32 | 32 | return ellapsedTimeUnit.count(); | |
| 33 | } | ||
| 34 | |||
| 35 | #endif | ||
| 36 |