You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
922 B
30 lines
922 B
/*********************************************************************
|
|
* Copyright 2020, UCAR/Unidata
|
|
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
|
|
*********************************************************************/
|
|
|
|
#ifndef TIMER_UTILS_H
|
|
#define TIMER_UTILS_H 1
|
|
|
|
#include "netcdf.h"
|
|
|
|
/* Wrap time interval computations */
|
|
typedef struct Nanotime {
|
|
long long tv_sec; /* seconds */
|
|
long long tv_nsec; /* nanoseconds */
|
|
} Nanotime;
|
|
|
|
|
|
struct TimeRange {
|
|
long long min;
|
|
long long max;
|
|
};
|
|
|
|
extern void NCT_inittimer(void);
|
|
extern void NCT_marktime(Nanotime* nt);
|
|
extern void NCT_elapsedtime(Nanotime* nt0, Nanotime* nt1, Nanotime* delta);
|
|
extern int NCT_reporttime(unsigned count, Nanotime* times, struct TimeRange, const char* tag);
|
|
extern long long NCT_nanoseconds(Nanotime time);
|
|
extern int NCT_rangetest(long long nsecs, struct TimeRange range);
|
|
#endif /*TIMER_UTILS_H*/
|
|
|
|
|