4 * Time-stamp: <26.10.2004 11:57:13h liekweg>
6 * File name: ir/ana2/timing.c
7 * Purpose: generic timing routines
10 * Created: Mon 18 Oct 2004
12 * Copyright: (c) 1999-2004 Universität Karlsruhe
13 * Licence: This file is protected by GPL - GNU GENERAL PUBLIC LICENSE.
17 Timing stuff. Not really part of ana2, but where else should it go.
31 struct timeval *start;
40 timeval_subtract (struct timeval *x, struct timeval *y)
42 /* Perform the carry for the later subtraction by updating Y. */
43 if (x->tv_usec < y->tv_usec) {
44 int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1;
45 y->tv_usec -= 1000000 * nsec;
49 if (x->tv_usec - y->tv_usec > 1000000) {
50 int nsec = (x->tv_usec - y->tv_usec) / 1000000;
51 y->tv_usec += 1000000 * nsec;
55 return ((x->tv_sec - y->tv_sec) * 1000000 + (x->tv_usec - y->tv_usec));
65 timing_t *t = (timing_t*) malloc (sizeof (timing_t));
67 t->start = (struct timeval*) malloc (sizeof (struct timeval));
68 t->end = (struct timeval*) malloc (sizeof (struct timeval));
70 gettimeofday (t->start, NULL);
76 end_timing (timing_t *t)
80 gettimeofday (t->end, NULL);
82 time = timeval_subtract (t->end, t->start);
84 memset (t->start, 0x0, sizeof (struct timeval));
87 memset (t->end, 0x0, sizeof (struct timeval));
90 memset (t, 0x00, sizeof (timing_t));
99 Revision 1.2 2004/12/21 15:52:23 beck
100 moved struct timing_env to .c file, added config.h
102 Revision 1.1 2004/10/29 18:55:52 liekweg
103 (mostly) generic timimg