#include /* prototypes */ void StartCronograph(); float ElapsedTime(); struct timeval tpi; /* implementations */ void StartCronograph() { gettimeofday( &tpi, NULL ); /* printf("Sec = %ld, microsec = %ld\n", tpi.tv_sec, tpi.tv_usec ); */ } float ElapsedTime() { struct timeval tpf; long ElapsedSec, ElapsedmSec; float Elapsed; gettimeofday( &tpf, NULL ); /* printf("Sec = %ld, microsec = %ld\n", tpf.tv_sec, tpf.tv_usec ); */ ElapsedSec = tpf.tv_sec-tpi.tv_sec; ElapsedmSec = (tpf.tv_usec-tpi.tv_usec)/1000; if ( ElapsedmSec < 0 ) { ElapsedSec--; ElapsedmSec += 1000; } Elapsed = (float)ElapsedSec + (float)ElapsedmSec/1000; /* printf("\nElapsed time (watch) = %10.5f\n", Elapsed ); */ return(Elapsed); }