Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.util
Class AbstractChrono

    java.lang.Object
      umontreal.iro.lecuyer.util.AbstractChrono

Direct Known Subclasses:
  Chrono, ChronoSingleThread, GlobalCPUTimeChrono, SystemTimeChrono, ThreadCPUTimeChrono

    public abstract class AbstractChrono

extends Object

`AbstractChrono` is a class that acts as an interface to the system clock and calculates the CPU or system time consumed by parts of a program.

Every object of class `AbstractChrono` acts as an independent stopwatch. Several `AbstractChrono` objects can run at any given time. The method `init` resets the stopwatch to zero, `getSeconds`, `getMinutes` and `getHours` return its current reading, and `format` converts this reading to a `String`. The returned value includes the execution time of the method from `AbstractChrono`.

Below is an example of how it may be used. A stopwatch named `timer` is constructed (and initialized). When 2.1 seconds of CPU time have been consumed, the stopwatch is read and reset to zero. Then, after an additional 330 seconds (or 5.5 minutes) of CPU time, the stopwatch is read again and the value is printed to the output in minutes.

`
AbstractChrono timer = new GlobalCPUTimeChrono();
`
`
suppose 2.1 CPU seconds are used here
`
`double t = timer.getSeconds(); // Here, t = 2.1
timer.init();
t = timer.getSeconds(); // Here, t = 0.0
`
`
suppose 330 CPU seconds are used here.
`
`t = timer.getMinutes(); // Here, t = 5.5
System.out.println (timer.format()); // Prints: 0:5:30.00
`

Constructor Summary
`AbstractChrono()`

Method Summary
`String` | `format()` Converts the CPU time used by the program since its last call to `init` for this `AbstractChrono` to a `String` in the `HH:MM:SS.xx` format.
`static String` | `format(double time)` Converts the time `time`, given in seconds, to a `String` in the `HH:MM:SS.xx` format.
`double` | `getHours()` Returns the CPU time in hours used by the program since the last call to `init` for this `AbstractChrono`.
`double` | `getMinutes()` Returns the CPU time in minutes used by the program since the last call to `init` for this `AbstractChrono`.
`double` | `getSeconds()` Returns the CPU time in seconds used by the program since the last call to `init` for this `AbstractChrono`.
`void` | `init()` Initializes this `AbstractChrono` to zero.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractChrono

    public AbstractChrono()

Method Detail

### init

    public void init()

  Initializes this `AbstractChrono` to zero.

### getSeconds

    public double getSeconds()

  Returns the CPU time in seconds used by the program since the last call to `init` for this `AbstractChrono`.

  Returns:
    the number of seconds

### getMinutes

    public double getMinutes()

  Returns the CPU time in minutes used by the program since the last call to `init` for this `AbstractChrono`.

  Returns:
    the number of minutes

### getHours

    public double getHours()

  Returns the CPU time in hours used by the program since the last call to `init` for this `AbstractChrono`.

  Returns:
    the number of hours

### format

    public String format()

  Converts the CPU time used by the program since its last call to `init` for this `AbstractChrono` to a `String` in the `HH:MM:SS.xx` format.

  Returns:
    the string representation of the CPU time

### format

    public static String format(double time)

  Converts the time `time`, given in seconds, to a `String` in the `HH:MM:SS.xx` format.

  Returns:
    the string representation of the time `time`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.