fix Time::ApproximateTo* return type

This commit is contained in:
Mathieu Lacage
2006-10-28 21:21:48 +02:00
parent 4449e8b51d
commit ef639a6e17
3 changed files with 13 additions and 12 deletions

View File

@@ -46,12 +46,10 @@ class Time {
Time operator -= (Time const &o);
double ApproximateToSeconds (void) const;
uint64_t ApproximateToMilliSeconds (void) const;
uint64_t ApproximateToMicroSeconds (void) const;
uint64_t ApproximateToNanoSeconds (void) const;
int64_t ApproximateToMilliSeconds (void) const;
int64_t ApproximateToMicroSeconds (void) const;
int64_t ApproximateToNanoSeconds (void) const;
/* semi-public method. */
uint64_t Get (void) const;
protected:
Time (int64_t ns);
private:

View File

@@ -174,13 +174,16 @@ SimulatorPrivate::Stop (void)
void
SimulatorPrivate::StopAt (Time const &at)
{
assert (at.IsPositive ());
m_stopAt = at.ApproximateToNanoSeconds ();
}
EventId
SimulatorPrivate::Schedule (Time const &time, EventImpl *event)
{
assert (time.ApproximateToNanoSeconds () >= m_currentNs);
Scheduler::EventKey key = {time.ApproximateToNanoSeconds (), m_uid};
assert (time.IsPositive ());
assert (time >= NanoSeconds (m_currentNs));
uint64_t ns = (uint64_t) time.ApproximateToNanoSeconds ();
Scheduler::EventKey key = {ns, m_uid};
if (m_logEnable)
{
m_log << "i "<<m_currentUid<<" "<<m_currentNs<<" "

View File

@@ -89,21 +89,21 @@ Time::ApproximateToSeconds (void) const
s /= 1000000000;
return s;
}
uint64_t
int64_t
Time::ApproximateToMilliSeconds (void) const
{
uint64_t ms = m_ns;
int64_t ms = m_ns;
ms /= 1000000;
return ms;
}
uint64_t
int64_t
Time::ApproximateToMicroSeconds (void) const
{
uint64_t us = m_ns;
int64_t us = m_ns;
us /= 1000;
return us;
}
uint64_t
int64_t
Time::ApproximateToNanoSeconds (void) const
{
return m_ns;