#include <iostream>
#include <vector>
#include <boost/algorithm/string.hpp>
-#include <boost/lexical_cast.hpp>
#include <cmath>
#include "dcp_time.h"
#include "exceptions.h"
+#include "raw_convert.h"
using namespace std;
using namespace boost;
Time::Time (int64_t ticks)
{
- h = ticks / (60 * 60 * 25);
- ticks -= int64_t (h) * 60 * 60 * 25;
- m = ticks / (60 * 25);
- ticks -= int64_t (m) * 60 * 25;
- s = ticks / 25;
- ticks -= int64_t (s) * 25;
+ h = ticks / (60 * 60 * 250);
+ ticks -= int64_t (h) * 60 * 60 * 250;
+ m = ticks / (60 * 250);
+ ticks -= int64_t (m) * 60 * 250;
+ s = ticks / 250;
+ ticks -= int64_t (s) * 250;
t = ticks;
-
- std::cout << "Hello: " << h << " " << m << " " << s << " " << t << "\n";
}
void
boost::throw_exception (DCPReadError ("unrecognised time specification"));
}
- h = lexical_cast<int> (b[0]);
- m = lexical_cast<int> (b[1]);
- s = lexical_cast<int> (b[2]);
- t = lexical_cast<int> (b[3]);
+ h = raw_convert<int> (b[0]);
+ m = raw_convert<int> (b[1]);
+ s = raw_convert<int> (b[2]);
+ t = raw_convert<int> (b[3]);
}
bool
int64_t
Time::to_ticks () const
{
- return int64_t(t) + int64_t(s) * 25 + int64_t(m) * 60 * 25 + int64_t(h) * 60 * 60 * 25;
+ return int64_t(t) + int64_t(s) * 250 + int64_t(m) * 60 * 250 + int64_t(h) * 60 * 60 * 250;
}