Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,8 +0,0 @@
|
|||
package binning is
|
||||
type Nums_Array is array (Natural range <>) of Integer;
|
||||
function Is_Sorted (Item : Nums_Array) return Boolean;
|
||||
subtype Limits_Array is Nums_Array with
|
||||
Dynamic_Predicate => Is_Sorted (Limits_Array);
|
||||
function Bins (Limits : Limits_Array; Data : Nums_Array) return Nums_Array;
|
||||
procedure Print (Limits : Limits_Array; Bin_Result : Nums_Array);
|
||||
end binning;
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
pragma Ada_2012;
|
||||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
|
||||
|
||||
package body binning is
|
||||
|
||||
---------------
|
||||
-- Is_Sorted --
|
||||
---------------
|
||||
|
||||
function Is_Sorted (Item : Nums_Array) return Boolean is
|
||||
begin
|
||||
return
|
||||
(for all i in Item'First .. Item'Last - 1 => Item (i) < Item (i + 1));
|
||||
end Is_Sorted;
|
||||
|
||||
----------
|
||||
-- Bins --
|
||||
----------
|
||||
|
||||
function Bins (Limits : Limits_Array; Data : Nums_Array) return Nums_Array
|
||||
is
|
||||
Result : Nums_Array (Limits'First .. Limits'Last + 1) := (others => 0);
|
||||
Bin_Index : Natural;
|
||||
begin
|
||||
for value of Data loop
|
||||
Bin_Index := Result'First;
|
||||
for I in reverse Limits'Range loop
|
||||
if value >= Limits (I) then
|
||||
Bin_Index := I + 1;
|
||||
exit;
|
||||
end if;
|
||||
end loop;
|
||||
Result (Bin_Index) := Result (Bin_Index) + 1;
|
||||
end loop;
|
||||
return Result;
|
||||
end Bins;
|
||||
|
||||
-----------
|
||||
-- Print --
|
||||
-----------
|
||||
|
||||
procedure Print (Limits : Limits_Array; Bin_Result : Nums_Array) is
|
||||
begin
|
||||
if Limits'Length = 0 then
|
||||
return;
|
||||
end if;
|
||||
Put (" < ");
|
||||
Put (Item => Limits (Limits'First), Width => 3);
|
||||
Put (": ");
|
||||
Put (Item => Bin_Result (Bin_Result'First), Width => 2);
|
||||
New_Line;
|
||||
for i in Limits'First + 1 .. Limits'Last loop
|
||||
Put (">= ");
|
||||
Put (Item => Limits (i - 1), Width => 3);
|
||||
Put (" and < ");
|
||||
Put (Item => Limits (i), Width => 3);
|
||||
Put (": ");
|
||||
Put (Item => Bin_Result (i), Width => 2);
|
||||
New_Line;
|
||||
end loop;
|
||||
Put (">= ");
|
||||
Put (Item => Limits (Limits'Last), Width => 3);
|
||||
Put (" : ");
|
||||
Put (Item => Bin_Result (Bin_Result'Last), Width => 2);
|
||||
New_Line;
|
||||
end Print;
|
||||
|
||||
end binning;
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
with binning; use binning;
|
||||
|
||||
procedure Main is
|
||||
Limits_1 : Limits_Array := (23, 37, 43, 53, 67, 83);
|
||||
Data_1 : Nums_Array :=
|
||||
(95, 21, 94, 12, 99, 4, 70, 75, 83, 93, 52, 80, 57, 5, 53, 86, 65, 17, 92,
|
||||
83, 71, 61, 54, 58, 47, 16, 8, 9, 32, 84, 7, 87, 46, 19, 30, 37, 96, 6,
|
||||
98, 40, 79, 97, 45, 64, 60, 29, 49, 36, 43, 55);
|
||||
Limits_2 : Limits_Array := (14, 18, 249, 312, 389, 392, 513, 591, 634, 720);
|
||||
Data_2 : Nums_Array :=
|
||||
(445, 814, 519, 697, 700, 130, 255, 889, 481, 122, 932, 77, 323, 525, 570,
|
||||
219, 367, 523, 442, 933, 416, 589, 930, 373, 202, 253, 775, 47, 731, 685,
|
||||
293, 126, 133, 450, 545, 100, 741, 583, 763, 306, 655, 267, 248, 477,
|
||||
549, 238, 62, 678, 98, 534, 622, 907, 406, 714, 184, 391, 913, 42, 560,
|
||||
247, 346, 860, 56, 138, 546, 38, 985, 948, 58, 213, 799, 319, 390, 634,
|
||||
458, 945, 733, 507, 916, 123, 345, 110, 720, 917, 313, 845, 426, 9, 457,
|
||||
628, 410, 723, 354, 895, 881, 953, 677, 137, 397, 97, 854, 740, 83, 216,
|
||||
421, 94, 517, 479, 292, 963, 376, 981, 480, 39, 257, 272, 157, 5, 316,
|
||||
395, 787, 942, 456, 242, 759, 898, 576, 67, 298, 425, 894, 435, 831, 241,
|
||||
989, 614, 987, 770, 384, 692, 698, 765, 331, 487, 251, 600, 879, 342,
|
||||
982, 527, 736, 795, 585, 40, 54, 901, 408, 359, 577, 237, 605, 847, 353,
|
||||
968, 832, 205, 838, 427, 876, 959, 686, 646, 835, 127, 621, 892, 443,
|
||||
198, 988, 791, 466, 23, 707, 467, 33, 670, 921, 180, 991, 396, 160, 436,
|
||||
717, 918, 8, 374, 101, 684, 727, 749);
|
||||
Bin_1 : Nums_Array := Bins (Limits => Limits_1, Data => Data_1);
|
||||
Bin_2 : Nums_Array := Bins (Limits => Limits_2, Data => Data_2);
|
||||
begin
|
||||
Put_Line ("Example 1:");
|
||||
Print (Limits => Limits_1, Bin_Result => Bin_1);
|
||||
New_Line;
|
||||
Put_Line ("Example 2:");
|
||||
Print (Limits => Limits_2, Bin_Result => Bin_2);
|
||||
end Main;
|
||||
Loading…
Add table
Add a link
Reference in a new issue