58 lignes
1.3 KiB
C
58 lignes
1.3 KiB
C
|
|
//( { file_desc:"Time cand clock related functions." kw: [ time system ] }
|
|
//
|
|
//
|
|
// This interface is used to read the systems high resolution timer and
|
|
// calculate elapsed time.
|
|
//)
|
|
|
|
|
|
#ifndef cmTime_h
|
|
#define cmTime_h
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//(
|
|
typedef struct timespec cmTimeSpec_t;
|
|
|
|
// Get the time
|
|
void cmTimeGet( cmTimeSpec_t* t );
|
|
|
|
// Return the elapsed time (t1 - t0) in microseconds
|
|
// t1 is assumed to be at a later time than t0.
|
|
unsigned cmTimeElapsedMicros( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
|
|
// Same as cmTimeElapsedMicros() but the times are not assumed to be ordered.
|
|
// The function therefore begins by swapping t1 and t0 if t0 is after t1.
|
|
unsigned cmTimeAbsElapsedMicros( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
|
|
// Same as cmTimeElapsedMicros() but returns a negative value if t0 is after t1.
|
|
int cmTimeDiffMicros( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
|
|
// Returns true if t0 <= t1.
|
|
bool cmTimeIsLTE( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
// Return true if t0 >= t1.
|
|
bool cmTimeIsGTE( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
bool cmTimeIsEqual( const cmTimeSpec_t* t0, const cmTimeSpec_t* t1 );
|
|
|
|
bool cmTimeIsZero( const cmTimeSpec_t* t0 );
|
|
|
|
void cmTimeSetZero( cmTimeSpec_t* t0 );
|
|
|
|
//)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|