PAPI  5.7.0.0
busy_work.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <sys/time.h>
3 
4 /* Repeat doing some busy-work floating point */
5 /* Until at least len seconds have passed */
6 
7 double
8 do_cycles( int minimum_time )
9 {
10  struct timeval start, now;
11  double x, sum;
12 
13  gettimeofday( &start, NULL );
14 
15  for ( ;; ) {
16  sum = 1.0;
17  for ( x = 1.0; x < 250000.0; x += 1.0 ) {
18  sum += x;
19  }
20  if ( sum < 0.0 ) {
21  printf( "==>> SUM IS NEGATIVE !! <<==\n" );
22  }
23 
24  gettimeofday( &now, NULL );
25  if ( now.tv_sec >= start.tv_sec + minimum_time ) {
26  break;
27  }
28  }
29  return sum;
30 }
31 
static struct timeval start
double do_cycles(int minimum_time)
Definition: busy_work.c:8
__time_t tv_sec
int gettimeofday(void *ptr1, void *ptr2)
int x
Definition: fileop.c:78