GCC Code Coverage Report


Directory: ./
File: src/phoenix_thread_clock.h
Date: 2025-05-16 18:34:22
Exec Total Coverage
Lines: 4 4 100.0%
Branches: 2 2 100.0%

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 1 taken 16 times.
✓ Branch 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