r244: *** empty log message ***
[ctsim.git] / include / timer.h
index 781ee941c9fdec87e207a8f945a97d4d2ddbef1c..78b19e907358e73b768aebb05093ac4ac0b504fe 100644 (file)
@@ -2,7 +2,9 @@
 #include "config.h"
 #endif
 
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
+#endif
 
 class Timer
 {
@@ -28,8 +30,9 @@ class Timer
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       timerEnd ();
+       double t = timerEnd ();
        timerReport (msg);
+       return (t);
       }
 
     double getTimeElapsed (void) const
@@ -42,11 +45,15 @@ class Timer
 
     double ttime(void) const
        {
+#ifdef HAVE_GETTIMEOFDAY
            struct timeval now;
            if (gettimeofday (&now, NULL))
                return 0;
            
            return (now.tv_sec + static_cast<double>(now.tv_usec) / 1000000.);
+#else
+           return 0;
+#endif
        }
 };
 
@@ -83,8 +90,9 @@ class TimerMPI : public Timer
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       timerEnd ();
+       double t = timerEnd ();
        timerReport (msg);
+       return (t);
       }
 
     virtual void timerReportAllProcesses (const char* const msg)
@@ -121,8 +129,9 @@ class TimerCollectiveMPI : public TimerMPI
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       timerEnd ();
+       double t = timerEnd ();
        timerReport (msg);
+       return (t);
       }
 
     virtual void timerReport (const char* const msg)