summaryrefslogtreecommitdiff
path: root/src/metric_time.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/metric_time.cc')
-rw-r--r--src/metric_time.cc120
1 files changed, 0 insertions, 120 deletions
diff --git a/src/metric_time.cc b/src/metric_time.cc
deleted file mode 100644
index 4fad390..0000000
--- a/src/metric_time.cc
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-#include "metric_time.h"
-#include "compose.hpp"
-#include <iostream>
-#include <cmath>
-
-using std::ostream;
-using std::string;
-using std::cout;
-using namespace sub;
-
-MetricTime::MetricTime (int h, int m, int s, int ms)
- /* cast up to int64_t to force a 64-bit calculation */
- : _ms ((int64_t (h) * 3600 + m * 60 + s) * 1000 + ms)
-{
-
-}
-
-void
-MetricTime::split (int& h, int &m, int& s, int& ms) const
-{
- int64_t w = _ms;
- h = floor (w / (3600 * 1000));
- /* this multiply could overflow 32 bits so cast to make sure it is done as 64-bit */
- w -= int64_t (h) * (3600 * 1000);
- m = floor (w / (60 * 1000));
- w -= m * (60 * 1000);
- s = floor (w / 1000);
- w -= s * 1000;
- ms = w;
-}
-
-int
-MetricTime::hours () const
-{
- int h, m, s, ms;
- split (h, m, s, ms);
- return h;
-}
-
-int
-MetricTime::minutes () const
-{
- int h, m, s, ms;
- split (h, m, s, ms);
- return m;
-}
-
-int
-MetricTime::seconds () const
-{
- int h, m, s, ms;
- split (h, m, s, ms);
- return s;
-}
-
-int
-MetricTime::milliseconds () const
-{
- int h, m, s, ms;
- split (h, m, s, ms);
- return ms;
-}
-
-void
-MetricTime::add (MetricTime t)
-{
- _ms += t._ms;
-}
-
-void
-MetricTime::scale (float f)
-{
- _ms *= f;
-}
-
-bool
-sub::operator== (MetricTime const & a, MetricTime const & b)
-{
- return a._ms == b._ms;
-}
-
-bool
-sub::operator> (MetricTime const & a, MetricTime const & b)
-{
- return a._ms > b._ms;
-}
-
-bool
-sub::operator< (MetricTime const & a, MetricTime const & b)
-{
- return a._ms < b._ms;
-}
-
-ostream&
-sub::operator<< (ostream& st, MetricTime const & t)
-{
- int h, m, s, ms;
- t.split (h, m, s, ms);
- st << h << ":" << m << ":" << s << ":" << ms;
- return st;
-}