Applied initial patches for wx2.8 compatibility
[ctsim.git] / include / timer.h
index 2200685db7cf338e698b891ae944824938d6db47..9e4118eba052e5213788b92c1b279658017c3abb 100644 (file)
@@ -1,3 +1,33 @@
+/*****************************************************************************
+** FILE IDENTIFICATION
+**
+**      Name:         timer.h
+**      Purpose:      Header file for Timer class
+**      Author:       Kevin Rosenberg
+**      Date Started: Sep 2000
+**
+**  This is part of the CTSim program
+**  Copyright (c) 1983-2001 Kevin Rosenberg
+**
+**  $Id$
+**
+**  This program is free software; you can redistribute it and/or modify
+**  it under the terms of the GNU General Public License (version 2) as
+**  published by the Free Software Foundation.
+**
+**  This program is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+**  GNU General Public License for more details.
+**
+**  You should have received a copy of the GNU General Public License
+**  along with this program; if not, write to the Free Software
+**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+******************************************************************************/
+
+#ifndef _TIMER_H
+#define _TIMER_H
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -14,33 +44,33 @@ class Timer
 {
  public:
     Timer (void)
-       { m_timeStart = ttime(); }
+        { m_timeStart = ttime(); }
 
     virtual ~Timer (void)
-       {}
+        {}
 
     virtual double timerEnd (void)
       {
-       m_timeEnd = ttime();
-       m_timeElapsed = m_timeEnd - m_timeStart;
-  
-       return (m_timeElapsed);
+        m_timeEnd = ttime();
+        m_timeElapsed = m_timeEnd - m_timeStart;
+
+        return (m_timeElapsed);
       }
 
     virtual void timerReport (const char* const msg) const
       {
-               std::cout << msg << ": " << m_timeElapsed << " seconds" << std::endl;
+                std::cout << msg << ": " << m_timeElapsed << " seconds" << std::endl;
       }
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       double t = timerEnd ();
-       timerReport (msg);
-       return (t);
+        double t = timerEnd ();
+        timerReport (msg);
+        return (t);
       }
 
     double getTimeElapsed (void) const
-       { return m_timeElapsed; }
+        { return m_timeElapsed; }
 
  protected:
     double m_timeStart;
@@ -48,21 +78,21 @@ class Timer
     double m_timeElapsed;
 
     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.);
+            struct timeval now;
+            if (gettimeofday (&now, NULL))
+                return 0;
+
+            return (now.tv_sec + static_cast<double>(now.tv_usec) / 1000000.);
 #elif defined(MSVC)
-               struct _timeb now;
-               _ftime (&now);
-               return (now.time + static_cast<double>(now.millitm) / 1000.);
+                struct _timeb now;
+                _ftime (&now);
+                return (now.time + static_cast<double>(now.millitm) / 1000.);
 #else
-           return 0;
+            return 0;
 #endif
-       }
+        }
 };
 
 
@@ -74,9 +104,9 @@ class TimerMPI : public Timer
 {
  public:
     TimerMPI (MPI::Intracomm& comm)
-       : m_comm(comm)
+        : m_comm(comm)
       {
-         m_timeStart = MPI::Wtime();
+          m_timeStart = MPI::Wtime();
       }
 
     virtual ~TimerMPI (void)
@@ -84,28 +114,28 @@ class TimerMPI : public Timer
 
     virtual double timerEnd (void)
       {
-       m_timeEnd = MPI::Wtime();
-       m_timeElapsed = m_timeEnd - m_timeStart;
-  
-       return (m_timeElapsed);
+        m_timeEnd = MPI::Wtime();
+        m_timeElapsed = m_timeEnd - m_timeStart;
+
+        return (m_timeElapsed);
       }
 
     virtual void timerReport (const char* const msg)
       {
-         if (m_comm.Get_rank() == 0)
-                 std::cout << msg << ": " << m_timeElapsed << " seconds" << std::endl;
+          if (m_comm.Get_rank() == 0)
+                  std::cout << msg << ": " << m_timeElapsed << " seconds" << std::endl;
       }
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       double t = timerEnd ();
-       timerReport (msg);
-       return (t);
+        double t = timerEnd ();
+        timerReport (msg);
+        return (t);
       }
 
     virtual void timerReportAllProcesses (const char* const msg)
       {
-         timerReport (msg);
+          timerReport (msg);
       }
 
  protected:
@@ -116,10 +146,10 @@ class TimerCollectiveMPI : public TimerMPI
 {
  public:
     TimerCollectiveMPI (MPI::Intracomm& comm)
-       : TimerMPI::TimerMPI (comm)
+        : TimerMPI::TimerMPI (comm)
       {
-       m_comm.Barrier();
-       m_timeStart = MPI::Wtime();
+        m_comm.Barrier();
+        m_timeStart = MPI::Wtime();
       }
 
     virtual ~TimerCollectiveMPI (void)
@@ -127,30 +157,30 @@ class TimerCollectiveMPI : public TimerMPI
 
     virtual double timerEnd (void)
       {
-       m_timeEnd = MPI::Wtime();
-       m_timeElapsed = m_timeEnd - m_timeStart;
-       m_comm.Reduce (&m_timeElapsed, &m_timeMin, 1, MPI::DOUBLE, MPI::MIN, 0);
-       m_comm.Reduce (&m_timeElapsed, &m_timeMax, 1, MPI::DOUBLE, MPI::MAX, 0);
-  
-       return (m_timeElapsed);
+        m_timeEnd = MPI::Wtime();
+        m_timeElapsed = m_timeEnd - m_timeStart;
+        m_comm.Reduce (&m_timeElapsed, &m_timeMin, 1, MPI::DOUBLE, MPI::MIN, 0);
+        m_comm.Reduce (&m_timeElapsed, &m_timeMax, 1, MPI::DOUBLE, MPI::MAX, 0);
+
+        return (m_timeElapsed);
       }
 
     virtual double timerEndAndReport (const char* const msg)
       {
-       double t = timerEnd ();
-       timerReport (msg);
-       return (t);
+        double t = timerEnd ();
+        timerReport (msg);
+        return (t);
       }
 
     virtual void timerReport (const char* const msg)
       {
-       if (m_comm.Get_rank() == 0)
-               std::cout << msg << " " << "Minimum=" << m_timeMin << ", Maximum=" << m_timeMax << " seconds" << std::endl;
+        if (m_comm.Get_rank() == 0)
+                std::cout << msg << " " << "Minimum=" << m_timeMin << ", Maximum=" << m_timeMax << " seconds" << std::endl;
       }
 
     virtual void timerReportAllProcesses (const char* const msg)
       {
-               std::cout << msg << ": " << "Minimum=" << m_timeMin << ", Maximum=" << m_timeMax << " seconds (Rank " << m_comm.Get_rank() << ")" << std::endl;
+                std::cout << msg << ": " << "Minimum=" << m_timeMin << ", Maximum=" << m_timeMax << " seconds (Rank " << m_comm.Get_rank() << ")" << std::endl;
       }
 
  private:
@@ -160,5 +190,6 @@ class TimerCollectiveMPI : public TimerMPI
 #endif
 
 
+#endif  // _TIMER_H