diff options
Diffstat (limited to 'contrib/libf2c/libF77/dtime_.c')
-rw-r--r-- | contrib/libf2c/libF77/dtime_.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/libf2c/libF77/dtime_.c b/contrib/libf2c/libF77/dtime_.c new file mode 100644 index 0000000..e2ea1c6 --- /dev/null +++ b/contrib/libf2c/libF77/dtime_.c @@ -0,0 +1,49 @@ +#include "time.h" + +#ifdef MSDOS +#undef USE_CLOCK +#define USE_CLOCK +#endif + +#ifndef USE_CLOCK +#define _INCLUDE_POSIX_SOURCE /* for HP-UX */ +#define _INCLUDE_XOPEN_SOURCE /* for HP-UX */ +#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 + +double +dtime_ (float *tarray) +{ +#ifdef USE_CLOCK +#ifndef CLOCKS_PER_SECOND +#define CLOCKS_PER_SECOND Hz +#endif + static double t0; + double t = clock (); + tarray[1] = 0; + tarray[0] = (t - t0) / CLOCKS_PER_SECOND; + t0 = t; + return tarray[0]; +#else + struct tms t; + static struct tms t0; + + times (&t); + tarray[0] = (double) (t.tms_utime - t0.tms_utime) / Hz; + tarray[1] = (double) (t.tms_stime - t0.tms_stime) / Hz; + t0 = t; + return tarray[0] + tarray[1]; +#endif +} |