xref: /phasta/phastaIO/phiotmrc.cc (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen #include <stdio.h>
2*59599516SKenneth E. Jansen #include <sys/types.h>
3*59599516SKenneth E. Jansen #include <time.h>
4*59599516SKenneth E. Jansen 
5*59599516SKenneth E. Jansen #include <sys/time.h>
6*59599516SKenneth E. Jansen #include <sys/resource.h>
7*59599516SKenneth E. Jansen #include <unistd.h>
8*59599516SKenneth E. Jansen 
9*59599516SKenneth E. Jansen #ifdef __bgq__
10*59599516SKenneth E. Jansen #include "hwi/include/bqc/A2_inlines.h"
11*59599516SKenneth E. Jansen #endif
12*59599516SKenneth E. Jansen 
13*59599516SKenneth E. Jansen #include "phiotmrc.h"
14*59599516SKenneth E. Jansen 
15*59599516SKenneth E. Jansen double phiotmrc (void)
16*59599516SKenneth E. Jansen {
17*59599516SKenneth E. Jansen 
18*59599516SKenneth E. Jansen #ifdef __bgq__
19*59599516SKenneth E. Jansen 
20*59599516SKenneth E. Jansen    // use the GetTimeBase function available on BGQ
21*59599516SKenneth E. Jansen    uint64_t TB  = GetTimeBase();
22*59599516SKenneth E. Jansen    double t1 = 6.25e-10*TB; // = 1/1.6e9
23*59599516SKenneth E. Jansen 
24*59599516SKenneth E. Jansen #else
25*59599516SKenneth E. Jansen 
26*59599516SKenneth E. Jansen   // use the gettimeofday function available on any Linux plateform
27*59599516SKenneth E. Jansen 
28*59599516SKenneth E. Jansen   int rc;
29*59599516SKenneth E. Jansen   struct timeval tv;
30*59599516SKenneth E. Jansen 
31*59599516SKenneth E. Jansen   rc = gettimeofday (&tv, NULL);
32*59599516SKenneth E. Jansen   if (rc == -1) {
33*59599516SKenneth E. Jansen     fprintf(stderr,"tmrc: gettimeofday\n");
34*59599516SKenneth E. Jansen     return 0.;
35*59599516SKenneth E. Jansen   }
36*59599516SKenneth E. Jansen   double t1 =  ((double) tv.tv_sec) + 1.e-6 * ((double) tv.tv_usec);
37*59599516SKenneth E. Jansen 
38*59599516SKenneth E. Jansen #endif
39*59599516SKenneth E. Jansen 
40*59599516SKenneth E. Jansen   return t1;
41*59599516SKenneth E. Jansen 
42*59599516SKenneth E. Jansen }
43*59599516SKenneth E. Jansen 
44