aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CycleClock/src/cycleclock.h
blob: 9e3a16cca67889129a7ece6db91f718b15175390 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef CYCLECLOCK_H
#define CYCLECLOCK_H

/* This defines:
 *    typedef XXX ticks;
 *    ticks getticks();
 *    double elapsed(ticks t1, ticks t0);
 * Use as:
 *    #include <cycleclock.h>
 *    ticks t0 = getticks();
 *    ...
 *    ticks t1 = getticks();
 *    double elapsed_ticks = elapsed(t1, t0);
 *    double elapsed_seconds = seconds_per_tick() * elapsed_ticks;
*/

#include <cctk.h>

#ifdef __cplusplus
extern "C" {
#endif
  
#include "cycle.h"
  
#ifndef HAVE_TICK_COUNTER
#  error "tick counter not available"
#endif
  
  double seconds_per_tick(void);
  void measure_tick(void);
  
#ifdef __cplusplus
}
#endif

#endif  /* CYCLECLOCK_H */