diff -r 4317d277ba21 -r 765619b7cbb2 lemon/time_measure.h
--- a/lemon/time_measure.h Sun Jul 13 16:46:56 2008 +0100
+++ b/lemon/time_measure.h Sun Jul 13 19:51:02 2008 +0100
@@ -1,6 +1,6 @@
-/* -*- C++ -*-
+/* -*- mode: C++; indent-tabs-mode: nil; -*-
*
- * This file is a part of LEMON, a generic C++ optimization library
+ * This file is a part of LEMON, a generic C++ optimization library.
*
* Copyright (C) 2003-2008
* Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
@@ -64,8 +64,8 @@
double cutime;
double cstime;
double rtime;
-
- void _reset() {
+
+ void _reset() {
utime = stime = cutime = cstime = rtime = 0;
}
@@ -96,26 +96,26 @@
FILETIME create, exit, kernel, user;
if (GetProcessTimes(GetCurrentProcess(),&create, &exit, &kernel, &user)) {
- utime = ch * user.dwHighDateTime + cl * user.dwLowDateTime;
- stime = ch * kernel.dwHighDateTime + cl * kernel.dwLowDateTime;
- cutime = 0;
- cstime = 0;
+ utime = ch * user.dwHighDateTime + cl * user.dwLowDateTime;
+ stime = ch * kernel.dwHighDateTime + cl * kernel.dwLowDateTime;
+ cutime = 0;
+ cstime = 0;
} else {
- rtime = 0;
- utime = 0;
- stime = 0;
- cutime = 0;
- cstime = 0;
+ rtime = 0;
+ utime = 0;
+ stime = 0;
+ cutime = 0;
+ cstime = 0;
}
-#endif
+#endif
}
-
+
/// Constructor initializing with zero
TimeStamp()
{ _reset(); }
///Constructor initializing with the current time values of the process
TimeStamp(void *) { stamp();}
-
+
///Set every time value to zero
TimeStamp &reset() {_reset();return *this;}
@@ -190,9 +190,9 @@
TimeStamp t(NULL);
return t-*this;
}
-
+
friend std::ostream& operator<<(std::ostream& os,const TimeStamp &t);
-
+
///Gives back the user time of the process
double userTime() const
{
@@ -205,7 +205,7 @@
}
///Gives back the user time of the process' children
- ///\note On WIN32 platform this value is not calculated.
+ ///\note On WIN32 platform this value is not calculated.
///
double cUserTime() const
{
@@ -213,7 +213,7 @@
}
///Gives back the user time of the process' children
- ///\note On WIN32 platform this value is not calculated.
+ ///\note On WIN32 platform this value is not calculated.
///
double cSystemTime() const
{
@@ -223,11 +223,11 @@
double realTime() const {return rtime;}
};
- TimeStamp operator*(double b,const TimeStamp &t)
+ TimeStamp operator*(double b,const TimeStamp &t)
{
return t*b;
}
-
+
///Prints the time counters
///Prints the time counters in the following form:
@@ -299,10 +299,10 @@
int _running; //Timer is running iff _running>0; (_running>=0 always holds)
TimeStamp start_time; //This is the relativ start-time if the timer
//is _running, the collected _running time otherwise.
-
+
void _reset() {if(_running) start_time.stamp(); else start_time.reset();}
-
- public:
+
+ public:
///Constructor.
///\param run indicates whether or not the timer starts immediately.
@@ -331,41 +331,41 @@
}
///Start the time counters
-
+
///This function starts the time counters.
///
///If the timer is started more than ones, it will remain running
///until the same amount of \ref stop() is called.
///\sa stop()
- void start()
+ void start()
{
if(_running) _running++;
else {
- _running=1;
- TimeStamp t;
- t.stamp();
- start_time=t-start_time;
+ _running=1;
+ TimeStamp t;
+ t.stamp();
+ start_time=t-start_time;
}
}
-
+
///Stop the time counters
///This function stops the time counters. If start() was executed more than
///once, then the same number of stop() execution is necessary the really
///stop the timer.
- ///
+ ///
///\sa halt()
///\sa start()
///\sa restart()
///\sa reset()
- void stop()
+ void stop()
{
if(_running && !--_running) {
- TimeStamp t;
- t.stamp();
- start_time=t-start_time;
+ TimeStamp t;
+ t.stamp();
+ start_time=t-start_time;
}
}
@@ -383,13 +383,13 @@
///\sa restart()
///\sa reset()
- void halt()
+ void halt()
{
if(_running) {
- _running=0;
- TimeStamp t;
- t.stamp();
- start_time=t-start_time;
+ _running=0;
+ TimeStamp t;
+ t.stamp();
+ start_time=t-start_time;
}
}
@@ -402,19 +402,19 @@
///(i.e. greater than
///zero).
int running() { return _running; }
-
-
+
+
///Restart the time counters
///This function is a shorthand for
///a reset() and a start() calls.
///
- void restart()
+ void restart()
{
reset();
start();
}
-
+
///@}
///\name Query Functions for the ellapsed time
@@ -433,7 +433,7 @@
}
///Gives back the ellapsed user time of the process' children
- ///\note On WIN32 platform this value is not calculated.
+ ///\note On WIN32 platform this value is not calculated.
///
double cUserTime() const
{
@@ -441,7 +441,7 @@
}
///Gives back the ellapsed user time of the process' children
- ///\note On WIN32 platform this value is not calculated.
+ ///\note On WIN32 platform this value is not calculated.
///
double cSystemTime() const
{
@@ -487,7 +487,7 @@
///\sa Timer
///\sa NoTimeReport
///\todo There is no test case for this
- class TimeReport : public Timer
+ class TimeReport : public Timer
{
std::string _title;
std::ostream &_os;
@@ -498,15 +498,15 @@
///\param os The stream to print the report to.
///\param run Sets whether the timer should start immediately.
- TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
+ TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
: Timer(run), _title(title), _os(os){}
///\e Prints the ellapsed time on destruction.
- ~TimeReport()
+ ~TimeReport()
{
_os << _title << *this << std::endl;
}
};
-
+
///'Do nothing' version of \ref TimeReport
///\sa TimeReport
@@ -527,7 +527,7 @@
void reset() {}
void start() {}
void stop() {}
- void halt() {}
+ void halt() {}
int running() { return 0; }
void restart() {}
double userTime() const { return 0; }
@@ -536,9 +536,9 @@
double cSystemTime() const { return 0; }
double realTime() const { return 0; }
};
-
+
///Tool to measure the running time more exactly.
-
+
///This function calls \c f several times and returns the average
///running time. The number of the executions will be choosen in such a way
///that the full real running time will be roughly between \c min_time
@@ -550,7 +550,7 @@
///\retval full_time if it is not \c NULL, then the actual
/// total running time will be written into *full_time.
///\return The average running time of \c f.
-
+
template
TimeStamp runningTimeTest(F f,double min_time=10,unsigned int *num = NULL,
TimeStamp *full_time=NULL)
@@ -566,8 +566,8 @@
if(full_time) *full_time=full;
return full/total;
}
-
- /// @}
+
+ /// @}
} //namespace lemon