summaryrefslogtreecommitdiffstats
path: root/contrib/libf2c/libF77/dtime_.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libf2c/libF77/dtime_.c')
-rw-r--r--contrib/libf2c/libF77/dtime_.c49
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
+}
OpenPOWER on IntegriCloud