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;
37 timing_t *start_timing (void) {}
38 int end_timing (timing_t *t) {}
48 timeval_subtract (struct timeval *x, struct timeval *y)
50 /* Perform the carry for the later subtraction by updating Y. */
51 if (x->tv_usec < y->tv_usec) {
52 int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1;
53 y->tv_usec -= 1000000 * nsec;
57 if (x->tv_usec - y->tv_usec > 1000000) {
58 int nsec = (x->tv_usec - y->tv_usec) / 1000000;
59 y->tv_usec += 1000000 * nsec;
63 return ((x->tv_sec - y->tv_sec) * 1000000 + (x->tv_usec - y->tv_usec));
73 timing_t *t = (timing_t*) xmalloc (sizeof (timing_t));
75 t->start = (struct timeval*) xmalloc (sizeof (struct timeval));
76 t->end = (struct timeval*) xmalloc (sizeof (struct timeval));
78 gettimeofday (t->start, NULL);
84 end_timing (timing_t *t)
88 gettimeofday (t->end, NULL);
90 time = timeval_subtract (t->end, t->start);
92 memset (t->start, 0x0, sizeof (struct timeval));
95 memset (t->end, 0x0, sizeof (struct timeval));
98 memset (t, 0x00, sizeof (timing_t));
108 Revision 1.5 2006/09/12 12:17:37 matze
111 Revision 1.4 2006/06/06 12:06:27 beck
112 use xmalloc instead of malloc
114 Revision 1.3 2005/01/05 14:25:38 beck
115 added Win32 "support"
117 Revision 1.2 2004/12/21 15:52:23 beck
118 moved struct timing_env to .c file, added config.h
120 Revision 1.1 2004/10/29 18:55:52 liekweg
121 (mostly) generic timimg