1998-02-01 09:37:08 +08:00
|
|
|
#include "time.h"
|
1999-03-17 16:21:44 +08:00
|
|
|
|
|
|
|
#ifdef MSDOS
|
1999-05-03 16:35:22 +08:00
|
|
|
#undef USE_CLOCK
|
1999-03-17 16:21:44 +08:00
|
|
|
#define USE_CLOCK
|
|
|
|
#endif
|
|
|
|
|
1998-02-01 09:37:08 +08:00
|
|
|
#ifndef USE_CLOCK
|
1998-05-19 18:52:03 +08:00
|
|
|
#define _INCLUDE_POSIX_SOURCE /* for HP-UX */
|
|
|
|
#define _INCLUDE_XOPEN_SOURCE /* for HP-UX */
|
1998-02-01 09:37:08 +08:00
|
|
|
#include "sys/types.h"
|
|
|
|
#include "sys/times.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#undef Hz
|
|
|
|
#ifdef CLK_TCK
|
|
|
|
#define Hz CLK_TCK
|
|
|
|
#else
|
|
|
|
#ifdef HZ
|
|
|
|
#define Hz HZ
|
|
|
|
#else
|
|
|
|
#define Hz 60
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2002-06-01 20:38:32 +08:00
|
|
|
double
|
|
|
|
etime_ (float *tarray)
|
1998-02-01 09:37:08 +08:00
|
|
|
{
|
|
|
|
#ifdef USE_CLOCK
|
|
|
|
#ifndef CLOCKS_PER_SECOND
|
|
|
|
#define CLOCKS_PER_SECOND Hz
|
|
|
|
#endif
|
2002-06-01 20:38:32 +08:00
|
|
|
double t = clock ();
|
|
|
|
tarray[1] = 0;
|
|
|
|
return tarray[0] = t / CLOCKS_PER_SECOND;
|
1998-02-01 09:37:08 +08:00
|
|
|
#else
|
2002-06-01 20:38:32 +08:00
|
|
|
struct tms t;
|
1998-02-01 09:37:08 +08:00
|
|
|
|
2002-06-01 20:38:32 +08:00
|
|
|
times (&t);
|
|
|
|
return (tarray[0] = (double) t.tms_utime / Hz)
|
|
|
|
+ (tarray[1] = (double) t.tms_stime / Hz);
|
1998-02-01 09:37:08 +08:00
|
|
|
#endif
|
2002-06-01 20:38:32 +08:00
|
|
|
}
|