diff options
Diffstat (limited to 'delay_until/delay_until.adb')
-rw-r--r-- | delay_until/delay_until.adb | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/delay_until/delay_until.adb b/delay_until/delay_until.adb index 8253c52..193cd4b 100644 --- a/delay_until/delay_until.adb +++ b/delay_until/delay_until.adb @@ -1,3 +1,7 @@ +-- +-- $Id$ +-- + with Ada.Real_Time; with Ada.Text_Io; @@ -5,10 +9,11 @@ use type Ada.Real_Time.Time; use type Ada.Real_Time.Time_Span; -procedure Delay_Until_Test is +procedure Delay_Until is Next_Wakeup : Ada.Real_Time.Time; - Period : constant Ada.Real_Time.Time_Span := Ada.Real_Time.Nanoseconds (16666667); --- Period : constant Ada.Real_Time.Time_Span := Ada.Real_Time.Nanoseconds (20000); + Period : constant Ada.Real_Time.Time_Span := + Ada.Real_Time.Nanoseconds (16666667); + -- Ada.Real_Time.Nanoseconds (20000); Iterations : constant := 1000; Actual_Span : array (1..Iterations) of Ada.Real_Time.Time_Span; @@ -17,8 +22,12 @@ procedure Delay_Until_Test is Min_Span : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Last; begin - Ada.Text_Io.Put_Line (Integer'Image (Iterations) & " iterations with " & - Duration'Image (Ada.Real_Time.To_Duration(Period)) & "s period"); + Ada.Text_Io.Put_Line ("*** Delay Until Variation Test ***"); + Ada.Text_Io.Put_Line ( + Integer'Image (Iterations) & " iterations with " & + Duration'Image (Ada.Real_Time.To_Duration(Period)) & + "s period" + ); Next_Wakeup := Ada.Real_Time.Clock + Period; for Count in 1..Iterations loop delay until Next_Wakeup; @@ -35,7 +44,20 @@ begin Next_Wakeup := Next_Wakeup + Period; end loop; - Ada.Text_Io.Put_Line ("Average delay is" & Duration'Image (Ada.Real_Time.To_Duration (Average_Span)) & "s"); - Ada.Text_Io.Put_Line ("Maximum delay is" & Duration'Image (Ada.Real_Time.To_Duration (Max_Span)) & "s"); - Ada.Text_Io.Put_Line ("Minimum delay is" & Duration'Image (Ada.Real_Time.To_Duration (Min_Span)) & "s"); -end Delay_Until_Test; + Ada.Text_Io.Put_Line ( + "Average delay is" & + Duration'Image (Ada.Real_Time.To_Duration (Average_Span)) & + "s" + ); + Ada.Text_Io.Put_Line ( + "Maximum delay is" & + Duration'Image (Ada.Real_Time.To_Duration (Max_Span)) & + "s" + ); + Ada.Text_Io.Put_Line ( + "Minimum delay is" & + Duration'Image (Ada.Real_Time.To_Duration (Min_Span)) & + "s" + ); + Ada.Text_Io.Put_Line ("*** END OF Delay Until Variation Test ***"); +end Delay_Until; |