From 9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 Mon Sep 17 00:00:00 2001 From: yzhou Date: Tue, 21 Apr 2015 10:34:27 +0100 Subject: initial version --- src/uk/ac/ox/cs/pagoda/util/Timer.java | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/uk/ac/ox/cs/pagoda/util/Timer.java (limited to 'src/uk/ac/ox/cs/pagoda/util/Timer.java') diff --git a/src/uk/ac/ox/cs/pagoda/util/Timer.java b/src/uk/ac/ox/cs/pagoda/util/Timer.java new file mode 100644 index 0000000..d1814a4 --- /dev/null +++ b/src/uk/ac/ox/cs/pagoda/util/Timer.java @@ -0,0 +1,52 @@ +package uk.ac.ox.cs.pagoda.util; + +public class Timer { + + double pastTime = 0; + boolean active = false; + + long startTime; + + public Timer() { + resume(); + } + + public void resume() { + if (active) return; + startTime = System.currentTimeMillis();; + active = true; + } + + public double duration() { + double time = pastTime; + if (active) + time += (System.currentTimeMillis() - startTime) / 1000.; + return time; + } + + public void pause() { + if (!active) return ; + pastTime = duration(); + active = false; + } + + public double reset() { + double ret = duration(); + pastTime = 0; + active = false; + resume(); + return ret; + } + + double timeout = -1; + + public boolean timeOut() { + if (timeout < 0) return false; + return duration() > timeout; + } + + public void setTimeout(double timeout) { + this.timeout = timeout; + } + +} -- cgit v1.2.3