#include <sys/times.h>
#include <sys/types.h>
#include <sys/resource.h>
double mytime(void) {
struct rusage resources;
int who = RUSAGE_SELF;
int ierr;
/* int i;*/
double utime;
double stime;
ierr = getrusage (who, &resources);
/* -------------------------------------- */
/* In case of error, return garbage value */
/* -------------------------------------- */
if (ierr != 0)
{
utime = -1.0;
stime = -1.0;
return (utime + stime);
}
/* ------------------------------------------------ */
/* Otherwise, unpack structure for return of values */
/* ------------------------------------------------ */
utime = (double) (resources.ru_utime.tv_sec*1000000) +
(double) resources.ru_utime.tv_usec;
stime = (double) (resources.ru_stime.tv_sec*1000000) +
(double) resources.ru_stime.tv_usec;
return (utime + stime);
}