#include <stdio.h>
#include <sys/time.h>
double elapse( struct timeval *t )
{
static struct timeval last;
struct timeval now, elapse;
if ( t )
{
last=*t;
gettimeofday( &last, NULL );
return 0.0;
}
else
{
gettimeofday( &now, NULL );
elapse.tv_sec=now.tv_sec-last.tv_sec;
if ( last.tv_usec>now.tv_usec )
{
elapse.tv_usec=last.tv_usec-now.tv_usec;
elapse.tv_sec--;
}
else
elapse.tv_usec=now.tv_usec-last.tv_usec;
last=now;
return elapse.tv_sec+elapse.tv_usec/1000000.0;
}
}