misc.c: add a few basic clock functions
This commit is contained in:
@@ -134,5 +134,35 @@ typedef enum {
|
||||
NORTH_WEST = (NORTH + WEST),
|
||||
} dir_t;
|
||||
|
||||
#include <time.h>
|
||||
|
||||
typedef struct mclock {
|
||||
clockid_t clocktype;
|
||||
ulong elapsed_l;
|
||||
double elapsed_f;
|
||||
struct timespec start;
|
||||
} mclock_t;
|
||||
|
||||
#define CLOCK_WALL CLOCK_REALTIME
|
||||
#define CLOCK_SYSTEM CLOCK_MONOTONIC_RAW
|
||||
#define CLOCK_PROCESS CLOCK_PROCESS_CPUTIME_ID
|
||||
#define CLOCK_THREAD CLOCK_THREAD_CPUTIME_ID
|
||||
|
||||
/**
|
||||
* CLOCK_DEFINE - define a clock type.
|
||||
* @name: clock name
|
||||
* @type: clock type
|
||||
*
|
||||
* This macro is equivalent to:
|
||||
* mclock_t name;
|
||||
* clock_init(&name, type);
|
||||
*/
|
||||
#define CLOCK_DEFINE(name, type) struct mclock name = { .clocktype = type }
|
||||
|
||||
void clock_init(mclock_t *clock, clockid_t type);
|
||||
void clock_start(mclock_t *clock);
|
||||
s64 clock_elapsed_μs(mclock_t *clock);
|
||||
s64 clock_elapsed_ms(mclock_t *clock);
|
||||
double clock_elapsed_sec(mclock_t *clock);
|
||||
|
||||
#endif /* _CHESSDEFS_H */
|
||||
|
Reference in New Issue
Block a user