]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/subsystems/timer.cpp
testing new non-autotools build system
[chaz/yoink] / src / stlplus / subsystems / timer.cpp
diff --git a/src/stlplus/subsystems/timer.cpp b/src/stlplus/subsystems/timer.cpp
new file mode 100644 (file)
index 0000000..9faac0f
--- /dev/null
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+//   Author:    Andy Rushton\r
+//   Copyright: (c) Southampton University 1999-2004\r
+//              (c) Andy Rushton           2004-2009\r
+//   License:   BSD License, see ../docs/license.html\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+#include "timer.hpp"\r
+#include "dprintf.hpp"\r
+#include "time.hpp"\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+  timer::timer(void)\r
+  {\r
+    reset();\r
+  }\r
+\r
+  timer::~timer(void)\r
+  {\r
+  }\r
+\r
+  void timer::reset(void)\r
+  {\r
+    m_clock = clock();\r
+    m_time = time(0);\r
+  }\r
+\r
+  float timer::cpu(void) const\r
+  {\r
+    return ((float)(clock() - m_clock)) / ((float)CLOCKS_PER_SEC);\r
+  }\r
+\r
+  float timer::elapsed(void) const\r
+  {\r
+    return ((float)(time(0) - m_time));\r
+  }\r
+\r
+  std::string timer::text(void) const\r
+  {\r
+    return dformat("%4.2fs CPU, %s elapsed", cpu(), delaytime_string(time(0)-m_time).c_str());\r
+  }\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+  std::ostream& operator << (std::ostream& str, const timer& t)\r
+  {\r
+    return str << t.text();\r
+  }\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+} // end namespace stlplus\r
This page took 0.024245 seconds and 4 git commands to generate.