The class provides the wall clock timer in seconds. More...
#include <clockWC.h>
The class provides the wall clock timer in seconds.
This routine relies on the ANSI C routine, clock(), for its basic operation. Therefore, it should be fairly portable.
The clock will rollover if the calculation is long enough. The wraparound time is roughly 72 minutes for a 32 bit system. This object senses that by seeing if the raw tick counter is has decreased from the last time. If it senses a wraparound has occurred, it increments an internal counter to account for this. Therefore, for long calculations, this object must be called at regular intervals for the seconds timer to be accurate.
An example of how to use the timer is given below. timeToDoCalcs contains the wall clock time calculated for the operation.
In general, the process to be timed must take more than a millisecond for this clock to enough of a significant resolution to be accurate.
Public Member Functions | |
clockWC () | |
Constructor. | |
double | start () |
Resets the internal counters and returns the wall clock time in seconds. | |
double | secondsWC () |
Returns the wall clock time in seconds since the last reset. | |
Private Attributes | |
clock_t | last_num_ticks |
Counters the value of the number of ticks from the last call. | |
unsigned int | clock_rollovers |
Number of clock rollovers since the last initialization. | |
clock_t | start_ticks |
Counter containing the value of the number of ticks from the first call (or the reset call). | |
const double | inv_clocks_per_sec |
internal constant containing clock ticks per second | |
const double | clock_width |
internal constant containing the total number of ticks per rollover. | |
clockWC | ( | ) |
Constructor.
This also serves to initialize the ticks within the object
Definition at line 15 of file clockWC.cpp.
double start | ( | ) |
Resets the internal counters and returns the wall clock time in seconds.
Definition at line 25 of file clockWC.cpp.
double secondsWC | ( | ) |
Returns the wall clock time in seconds since the last reset.
Returns system cpu and wall clock time in seconds. This is a strictly Ansi C timer, since clock() is defined as an Ansi C function. On some machines clock() returns type unsigned long (HP) and on others (SUN) it returns type long. An attempt to recover the actual time for clocks which have rolled over is made also. However, it only works if this function is called fairly regularly during the solution procedure.
Definition at line 32 of file clockWC.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |