/* Time subroutine for FORTRAN */ /* This version tries to be correct about getting clock ticks. */ /* Alternate entries are provided: ETIME and etime_ in case the * FORTRAN code is compiled with -U or +ppu. */ /* Bob Montgomery, HP */ #include #include static long ticks = 0; float etime(tarray) float *tarray; { struct tms buffer; times(&buffer); if (ticks == 0) { ticks = sysconf(_SC_CLK_TCK); } tarray[0] = (double)(buffer.tms_utime)/ticks; tarray[1] = (double)(buffer.tms_stime)/ticks; return (tarray[0] + tarray[1]); } float ETIME(tarray) float *tarray; { return(etime(tarray)); } float etime_(tarray) float *tarray; { return(etime(tarray)); }