159599516SKenneth E. Jansen #include <FCMangle.h> 259599516SKenneth E. Jansen #define TMRC FortranCInterface_GLOBAL_(tmrc, TMRC) 359599516SKenneth E. Jansen 459599516SKenneth E. Jansen #include <stdio.h> 559599516SKenneth E. Jansen #include <sys/types.h> 659599516SKenneth E. Jansen #include <time.h> 759599516SKenneth E. Jansen 859599516SKenneth E. Jansen #include <sys/time.h> 959599516SKenneth E. Jansen #include <sys/resource.h> 1059599516SKenneth E. Jansen #include <unistd.h> 1159599516SKenneth E. Jansen 1259599516SKenneth E. Jansen #ifdef __bgq__ 1359599516SKenneth E. Jansen #include "hwi/include/bqc/A2_inlines.h" 1459599516SKenneth E. Jansen #endif 1559599516SKenneth E. Jansen 1659599516SKenneth E. Jansen double TMRC (void) 1759599516SKenneth E. Jansen { 1859599516SKenneth E. Jansen 1959599516SKenneth E. Jansen #ifdef __bgq__ 2059599516SKenneth E. Jansen 21*86f7e418SCameron Smith /* use the GetTimeBase function available on BGQ */ 2259599516SKenneth E. Jansen uint64_t TB = GetTimeBase(); 23*86f7e418SCameron Smith double t1 = 6.25e-10*TB; /* = 1/1.6e9 */ 2459599516SKenneth E. Jansen 2559599516SKenneth E. Jansen #else 2659599516SKenneth E. Jansen 27*86f7e418SCameron Smith /* use the gettimeofday function available on any Linux platform */ 2859599516SKenneth E. Jansen 2959599516SKenneth E. Jansen int rc; 3059599516SKenneth E. Jansen struct timeval tv; 31*86f7e418SCameron Smith double t1 = 0; 3259599516SKenneth E. Jansen 3359599516SKenneth E. Jansen rc = gettimeofday (&tv, NULL); 3459599516SKenneth E. Jansen if (rc == -1) { 3559599516SKenneth E. Jansen fprintf(stderr,"tmrc: gettimeofday\n"); 3659599516SKenneth E. Jansen return 0.; 3759599516SKenneth E. Jansen } 38*86f7e418SCameron Smith t1 = ((double) tv.tv_sec) + 1.e-6 * ((double) tv.tv_usec); 3959599516SKenneth E. Jansen 4059599516SKenneth E. Jansen #endif 4159599516SKenneth E. Jansen 4259599516SKenneth E. Jansen return t1; 4359599516SKenneth E. Jansen } 4459599516SKenneth E. Jansen 4559599516SKenneth E. Jansen 4659599516SKenneth E. Jansen 4759599516SKenneth E. Jansen 48