Scippy

SoPlex

Sequential object-oriented simPlex

UserTimer Class Reference

#include <usertimer.h>

Public Member Functions

Construction / destruction
 UserTimer ()
 default constructor More...
 
 UserTimer (const UserTimer &old)
 copy constructor More...
 
UserTimeroperator= (const UserTimer &old)
 assignment operator More...
 
virtual ~UserTimer ()
 
Control
virtual void reset ()
 initialize timer, set timing accounts to zero. More...
 
virtual void start ()
 start timer, resume accounting user, system and real time. More...
 
virtual Real stop ()
 stop timer, return accounted user time. More...
 
virtual TYPE type ()
 return type of timer More...
 
Access
virtual Real time () const
 
virtual Real lastTime () const
 
- Public Member Functions inherited from Timer
 Timer ()
 default constructor More...
 
 Timer (const Timer &old)
 copy constructor More...
 
Timeroperator= (const Timer &old)
 assignment operator More...
 
virtual ~Timer ()
 
void getLastTimes (Real *userTime, Real *systemTime, Real *realTime) const
 return accounted time. get accounted user, system, or real time when ticks were updated last More...
 
Real realTimeLast () const
 return accounted real time without rechecking the clock More...
 

Private Member Functions

Internal helpers
Real ticks2sec (clock_t ticks) const
 convert ticks to secounds. More...
 
void updateTicks () const
 get actual user ticks from the system. More...
 

Private Attributes

Data
clock_t uAccount
 user time More...
 
clock_t uTicks
 user ticks More...
 
Real lasttime
 

Static Private Attributes

number of ticks per second
static const long ticks_per_sec = long(TIMES_TICKS_PER_SEC)
 ticks per secound, should be constant More...
 

Additional Inherited Members

- Public Types inherited from Timer
enum  TYPE { OFF = 0 , USER_TIME = 1 , WALLCLOCK_TIME = 2 }
 types of timers More...
 
- Protected Types inherited from Timer
enum  { RESET , STOPPED , RUNNING }
 status of the timer More...
 
- Protected Attributes inherited from Timer
enum soplex::Timer:: { ... }  status
 status of the timer More...
 

Detailed Description

Definition at line 38 of file usertimer.h.

Constructor & Destructor Documentation

◆ UserTimer() [1/2]

UserTimer ( )

default constructor

Definition at line 77 of file usertimer.h.

References UserTimer::ticks_per_sec.

◆ UserTimer() [2/2]

UserTimer ( const UserTimer old)

copy constructor

Definition at line 83 of file usertimer.h.

References UserTimer::ticks_per_sec.

◆ ~UserTimer()

virtual ~UserTimer ( )
virtual

Definition at line 98 of file usertimer.h.

Member Function Documentation

◆ lastTime()

Real lastTime ( ) const
virtual

Implements Timer.

Definition at line 126 of file usertimer.cpp.

References UserTimer::lasttime.

◆ operator=()

UserTimer & operator= ( const UserTimer old)

assignment operator

Definition at line 89 of file usertimer.h.

References UserTimer::lasttime, UserTimer::ticks_per_sec, UserTimer::uAccount, and UserTimer::uTicks.

◆ reset()

virtual void reset ( )
virtual

initialize timer, set timing accounts to zero.

Implements Timer.

Definition at line 106 of file usertimer.h.

References UserTimer::lasttime, Timer::RESET, Timer::status, and UserTimer::uAccount.

◆ start()

void start ( )
virtual

start timer, resume accounting user, system and real time.

Implements Timer.

Definition at line 81 of file usertimer.cpp.

References UserTimer::lasttime, Timer::RUNNING, Timer::status, UserTimer::uAccount, UserTimer::updateTicks(), and UserTimer::uTicks.

◆ stop()

Real stop ( )
virtual

stop timer, return accounted user time.

Implements Timer.

Definition at line 96 of file usertimer.cpp.

References Timer::RUNNING, Timer::status, Timer::STOPPED, UserTimer::ticks2sec(), UserTimer::uAccount, UserTimer::updateTicks(), and UserTimer::uTicks.

◆ ticks2sec()

Real ticks2sec ( clock_t  ticks) const
private

convert ticks to secounds.

Definition at line 61 of file usertimer.h.

References UserTimer::ticks_per_sec.

Referenced by UserTimer::stop(), and UserTimer::time().

◆ time()

◆ type()

virtual TYPE type ( )
virtual

return type of timer

Implements Timer.

Definition at line 120 of file usertimer.h.

References Timer::USER_TIME.

◆ updateTicks()

void updateTicks ( ) const
private

get actual user ticks from the system.

Definition at line 61 of file usertimer.cpp.

References UserTimer::uTicks.

Referenced by UserTimer::start(), UserTimer::stop(), and UserTimer::time().

Member Data Documentation

◆ lasttime

Real lasttime
mutableprivate

◆ ticks_per_sec

const long ticks_per_sec = long(TIMES_TICKS_PER_SEC)
staticprivate

ticks per secound, should be constant

Definition at line 45 of file usertimer.h.

Referenced by UserTimer::operator=(), UserTimer::ticks2sec(), and UserTimer::UserTimer().

◆ uAccount

clock_t uAccount
mutableprivate

◆ uTicks

clock_t uTicks
mutableprivate