Re: gettimeofday problem

Christian Robert
2002-06-25T09:17:57Z

John Alvord wrote:
>
> Maybe this is the result of floating point rounding errors. Floating
> point is notorious for occaisional strange results. I suggest redoing
> the test program to keep all results in integer and seeing what
> happens...
>
> john

You were close.

Programming error on my part.

This modified subroutine does correct my test.
Notice the (LL) cast on 1000000

Computation was done on 32 bits integer then assign on the 64 bits integer.

sorry.

ps: It may help explain the other > 1 hour time jump I've seen in an
other thread.

LL GetTime (void)
{
struct timeval tv;
LL retval;
int rc;

while (0 != (rc = gettimeofday (&tv, NULL)))
printf ("Wow! gettimeofday () returned %d\n", rc);

retval = (tv.tv_sec * (LL)1000000) + (tv.tv_usec);

return retval;
}