Guest User

Untitled

a guest
Nov 19th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. with Ada.Numerics.Discrete_Random;
  2. with Ada.Calendar;
  3. with Ada.Text_IO;
  4.  
  5. procedure Unsorted is
  6. subtype Data_Range is Integer range 0 .. 255;
  7. subtype Data_Index is Integer range 0 .. 32768;
  8. type Data_Array is array (Data_Index) of Data_Range;
  9.  
  10. package Random_Data is new Ada.Numerics.Discrete_Random(Data_Range);
  11. use Ada.Calendar;
  12.  
  13. Generator : Random_Data.Generator;
  14.  
  15. begin -- Unsorted
  16. Random_Data.Reset (Generator);
  17. declare
  18. Data : Data_Array := (others => Random_Data.Random(Generator));
  19. Sum : Natural := 0;
  20. Start : Time;
  21. Stop : Time;
  22. begin
  23. Start := Ada.Calendar.Clock;
  24. for j in 1 .. 100000 loop
  25. for i in Data'Range loop
  26. if Data(i) >= 128
  27. then
  28. Sum := Sum + Data(i);
  29. end if;
  30. end loop;
  31. end loop;
  32. Stop := Ada.Calendar.Clock;
  33. Ada.Text_IO.Put_Line( Duration'Image (Stop - Start) & " seconds");
  34. end;
  35. end Unsorted;
Add Comment
Please, Sign In to add comment