Blame src/validation_tests/busy_work.c

Packit 577717
#include <stdio.h>
Packit 577717
#include <sys/time.h>
Packit 577717
Packit 577717
/* Repeat doing some busy-work floating point */
Packit 577717
/* Until at least len seconds have passed */
Packit 577717
Packit 577717
double
Packit 577717
do_cycles( int minimum_time )
Packit 577717
{
Packit 577717
	struct timeval start, now;
Packit 577717
	double x, sum;
Packit 577717
Packit 577717
	gettimeofday( &start, NULL );
Packit 577717
Packit 577717
	for ( ;; ) {
Packit 577717
		sum = 1.0;
Packit 577717
		for ( x = 1.0; x < 250000.0; x += 1.0 ) {
Packit 577717
			sum += x;
Packit 577717
		}
Packit 577717
		if ( sum < 0.0 ) {
Packit 577717
			printf( "==>>  SUM IS NEGATIVE !!  <<==\n" );
Packit 577717
		}
Packit 577717
Packit 577717
		gettimeofday( &now, NULL );
Packit 577717
		if ( now.tv_sec >= start.tv_sec + minimum_time ) {
Packit 577717
			break;
Packit 577717
		}
Packit 577717
	}
Packit 577717
	return sum;
Packit 577717
}
Packit 577717