home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / whets / whets.for / test.c < prev   
C/C++ Source or Header  |  1990-02-21  |  870b  |  57 lines

  1. double second_();
  2.  
  3. main ()
  4. {
  5.     int i;
  6.     double f1,f2,f3,f4;
  7.  
  8.     f2 = 2345.2345;
  9.     f3 = 4536.5467;
  10.     f4 = 2435.9788;
  11.     
  12.     for (i=0;i<1000000;i++) {
  13.         f1 = f2 * f3 / f4;
  14.     }
  15.  
  16.     printf("second()=%20.10e\n\n",(double)second_());
  17. }
  18.  
  19.  
  20. #ifdef UCB
  21. #include <sys/time.h>
  22. #include <sys/resource.h>
  23.  
  24. double
  25. second_ ()
  26. {
  27.     struct rusage ru;
  28.  
  29. #ifdef MOXIE
  30.     static unsigned count = 0;
  31.     static unsigned stop;
  32.     extern unsigned __Argc;
  33.     extern char **__Argv;
  34.     if (count == 0 && __Argc > 1) {
  35.     stop = atoi(__Argv[__Argc-1]);
  36.     }
  37.     count += 1;
  38.     if (count == stop) exit(0);
  39. #endif
  40.  
  41.     getrusage (0, &ru);
  42.     return ((double)ru.ru_utime.tv_sec + ((double)ru.ru_utime.tv_usec / 1.0e6));
  43. }
  44. #else
  45.  
  46. #include <sys/types.h>
  47. #include <sys/times.h>
  48. double
  49. second_()
  50. {
  51.     struct tms buf;
  52.     long t;
  53.     t = times(&buf);
  54.     return(buf.tms_utime*0.01);         /* 1 tick = 1/100 sec */
  55. }
  56. #endif
  57.