From: dennison@telepath.com
Subject: Re: Simple Real_Time.Time_Span question
Date: 1998/10/13
Date: 1998-10-13T00:00:00+00:00 [thread overview]
Message-ID: <700dcn$f9s$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 6vvsgo$rvo$1@nnrp1.dejanews.com
In article <6vvsgo$rvo$1@nnrp1.dejanews.com>,
dennison@telepath.com wrote:
> I need to convert values of Ada.Real_Time.Time_Span into floating point
> values for use in time-based simulation calculations. I'd think there *has*
Update: Here's what I ended up doing:
-- Routine to convert a real_time time_span into a float.
function To_Float ( Span : in Ada.Real_Time.Time_Span ) return Float is
-- We have to convert to and from Time because its the only way to handle
-- time spans of more than about 2 seconds or so without getting a constraint
-- error. Span_Time : Ada.Real_Time.Time := Ada.Real_Time.Time_Of (SC => 0,
TS => Span); Ticks : Integer; Subspan : Ada.Real_Time.Time_Span;
Seconds : Ada.Real_Time.Seconds_Count; begin
Ada.Real_Time.Split (T => Span_Time,
SC => Seconds,
TS => Subspan);
Ticks := Subspan / Ada.Real_Time.Time_Span_Unit;
return Float(Seconds) + Float(Ticks * Ada.Real_Time.Time_Unit);
end To_Float;
I don't much like this solution, as it will blow up in the unlikely event
that there are more Time_Span_Units in a second than Integer'last. Plus it
performs *way* more work than the following code that this vendor *could*
have put in the body of Ada.Real_Time:
function To_Float ( Span : in Ada.Real_Time.Time_Span ) return Float is
begin
return Float(Span.sec) + (Float(Span.msec) * Time_Unit);
end;
--
T.E.D.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
next prev parent reply other threads:[~1998-10-13 0:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-10-13 0:00 Simple Real_Time.Time_Span question dennison
1998-10-13 0:00 ` Tucker Taft
1998-10-13 0:00 ` David C. Hoos, Sr.
1998-10-13 0:00 ` dennison
1998-10-14 0:00 ` Niklas Holsti
1998-10-14 0:00 ` Niklas Holsti
1998-10-14 0:00 ` Robert I. Eachus
1998-10-14 0:00 ` Jonathan Guthrie
1998-10-15 0:00 ` dennison
1998-10-16 0:00 ` Tucker Taft
1998-10-16 0:00 ` dennison
1998-10-16 0:00 ` dewar
1998-10-17 0:00 ` Niklas Holsti
1998-10-14 0:00 ` Keith Thompson
1998-10-13 0:00 ` dennison [this message]
1998-10-14 0:00 ` dewar
1998-10-14 0:00 ` dennison
1998-10-14 0:00 ` Matthew Heaney
1998-10-14 0:00 ` Robert I. Eachus
1998-10-15 0:00 ` dennison
1998-10-16 0:00 ` Robert I. Eachus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox