DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 1853 (0x73d) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Calendar; use Calendar; with Text_Io; procedure Chrono is Tps : Duration; task Chronometre is entry Reset; entry Start; entry Stop; entry Get (The_Time : out Duration); end Chronometre; task body Chronometre is Busy : Boolean := False; Time_Init : Duration := 0.0; Current_Time : Duration := 0.0; Time_Start : Calendar.Time; Time_Stop : Calendar.Time; begin loop select when not Busy => accept Start do Busy := True; end Start; if Current_Time /= Time_Init then Time_Start := Calendar.Clock - Current_Time; else Time_Start := Calendar.Clock; end if; or when Busy => accept Stop do Busy := False; end Stop; Time_Stop := Calendar.Clock; or when not Busy => accept Reset do Current_Time := Time_Init; end Reset; or accept Get (The_Time : out Duration) do case Busy is when True => The_Time := Calendar.Clock - Time_Start; when False => The_Time := Calendar.Clock - Time_Stop; end case; end Get; end select; end loop; end Chronometre; package Chrono_Io is new Text_Io.Fixed_Io (Duration); begin Chronometre.Start; delay 5.0; Chronometre.Stop; Chronometre.Get (Tps); Chrono_Io.Put (Tps); end Chrono;