|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10240 (0x2800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Package_Static_List_Generic, seg_026cfc
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Static_List_Generic; with Text_Io; package body Package_Static_List_Generic is package Static_List is new Static_List_Generic (20, Integer); procedure Display_Integer (The_Element : Integer; String_Before : String) is begin Text_Io.Put_Line (String_Before & "The_Integer => " & Integer'Image (The_Element)); end Display_Integer; procedure Display_List is new Static_List.Display (Display_Integer); procedure Test_Creation is use Text_Io; L : Static_List.Object := Static_List.Null_Object; L2 : Static_List.Object := Static_List.Null_Object; begin Put_Line ("-- Liste : 23 90 11 23 14 2 6 3 1"); L := Static_List.Add (1, L); L := Static_List.Add (3, L); L := Static_List.Add (6, L); L := Static_List.Add (2, L); L := Static_List.Add (14, L); L := Static_List.Add (23, L); L := Static_List.Add (11, L); L := Static_List.Add (90, L); L := Static_List.Add (23, L); Display_List (L); Put_Line ("-- Ajout de 11 elements"); L := Static_List.Add (1, L); L := Static_List.Add (2, L); L := Static_List.Add (3, L); L := Static_List.Add (4, L); L := Static_List.Add (5, L); L := Static_List.Add (6, L); L := Static_List.Add (7, L); L := Static_List.Add (8, L); L := Static_List.Add (9, L); L := Static_List.Add (10, L); L := Static_List.Add (11, L); Put_Line ("-- Liste pleine :"); Put_Line ("Pleine (=TRUE) : " & Boolean'Image (Static_List.Is_Full (L))); Put_Line ("-- Reste de la file (19 elements)"); L2 := Static_List.Rest (L); Display_List (L2); Static_List.Set_First (L, 4); Put_Line ("-- First( Set_First(4)) (=4) : " & Integer'Image (Static_List.First (L))); Put_Line ("-- Debordement de la file"); L := Static_List.Add (10, L); Put_Line ("-- Pas d'exception levee !?!"); exception when Static_List.Full_Error => Put_Line ("-- Exception levee"); end Test_Creation; procedure Test_Iterateur is L : Static_List.Object := Static_List.Null_Object; Iter : Static_List.Iterator; use Text_Io; begin New_Line; Put_Line ("-- Creation Liste vide :"); Put_Line ("-- Vide (TRUE) : " & Boolean'Image (Static_List.Is_Empty (L))); Display_List (L); New_Line; Put_Line ("-- Liste : 23 90 11 23 14 2 6 3 1"); L := Static_List.Add (1, L); L := Static_List.Add (3, L); L := Static_List.Add (6, L); L := Static_List.Add (2, L); L := Static_List.Add (14, L); L := Static_List.Add (23, L); L := Static_List.Add (11, L); L := Static_List.Add (90, L); L := Static_List.Add (23, L); New_Line; Put_Line ("-- Iterateur"); Static_List.Init (Iter, L); while (not Static_List.Done (Iter, L)) loop Display_Integer (Static_List.Value (Iter, L), "--->"); Static_List.Next (Iter, L); end loop; end Test_Iterateur; function Int_String (I : Integer) return String is begin return Integer'Image (I); end Int_String; procedure Test_Trie is L : Static_List.Object := Static_List.Null_Object; use Text_Io; begin declare procedure Trie is new Static_List.Sort ("<" => Standard."<"); function List_Image is new Static_List.Image (Separator => ",", Image => Int_String); begin Put_Line ("-- Liste : 23 90 11 23 14 2 6 3 1"); L := Static_List.Add (1, L); L := Static_List.Add (3, L); L := Static_List.Add (6, L); L := Static_List.Add (2, L); L := Static_List.Add (14, L); L := Static_List.Add (23, L); L := Static_List.Add (11, L); L := Static_List.Add (90, L); L := Static_List.Add (23, L); Put_Line ("-- Resultat attendu apres Trie : 1 2 3 6 11 14 23 23 90"); New_Line; Trie (L); Display_List (L); Put_Line ("ENTEXTE : " & List_Image (L)); end; end Test_Trie; procedure Test_Compare is L1 : Static_List.Object := Static_List.Null_Object; L2 : Static_List.Object := Static_List.Null_Object; function Egal is new Static_List.Is_Equal (Is_Equal => Standard."="); use Text_Io; begin Put_Line ("-- Liste : 9 8 7 6 5 4 3 2 1"); L1 := Static_List.Add (1, L1); L1 := Static_List.Add (2, L1); L1 := Static_List.Add (3, L1); L1 := Static_List.Add (4, L1); L1 := Static_List.Add (5, L1); L1 := Static_List.Add (6, L1); L1 := Static_List.Add (7, L1); L1 := Static_List.Add (8, L1); L1 := Static_List.Add (9, L1); Put_Line ("-- Copie de liste"); L2 := L1; Put_Line ("-- Test (TRUE) : " & Boolean'Image (Egal (L1, L2))); Put_Line ("-- Ajout d'un nombre dans une liste"); L1 := Static_List.Add (10, L1); Put_Line ("-- Test (FALSE) : " & Boolean'Image (Egal (L1, L2))); end Test_Compare; procedure Test_Presence is L1 : Static_List.Object := Static_List.Null_Object; function Is_Into is new Static_List.Is_Element (Is_Equal => Standard."="); use Text_Io; begin Put_Line ("-- Liste : 9 8 7 6 5 4 3 2 1"); L1 := Static_List.Add (1, L1); L1 := Static_List.Add (2, L1); L1 := Static_List.Add (3, L1); L1 := Static_List.Add (4, L1); L1 := Static_List.Add (5, L1); L1 := Static_List.Add (6, L1); L1 := Static_List.Add (7, L1); L1 := Static_List.Add (8, L1); L1 := Static_List.Add (9, L1); Put_Line ("-- Test presence de 1 (TRUE) : " & Boolean'Image (Is_Into (1, L1))); Put_Line ("-- Test presence de 10 (FALSE) : " & Boolean'Image (Is_Into (10, L1))); end Test_Presence; procedure Test is use Text_Io; begin New_Line; Put_Line ("---> Test package Static_List_Generic"); New_Line; Put_Line ("-- Test de creation"); Test_Creation; New_Line; Put_Line ("-- Test iterateur"); Test_Iterateur; New_Line; Put_Line ("-- Test trie"); Test_Trie; New_Line; Put_Line ("-- Test comparaison"); Test_Compare; New_Line; Put_Line ("-- Test presence"); Test_Presence; New_Line; end Test; end Package_Static_List_Generic; pragma Main;
nblk1=9 nid=0 hdr6=12 [0x00] rec0=1e rec1=00 rec2=01 rec3=03e [0x01] rec0=1b rec1=00 rec2=08 rec3=052 [0x02] rec0=1d rec1=00 rec2=07 rec3=026 [0x03] rec0=1d rec1=00 rec2=02 rec3=00c [0x04] rec0=19 rec1=00 rec2=06 rec3=03a [0x05] rec0=19 rec1=00 rec2=04 rec3=036 [0x06] rec0=01 rec1=00 rec2=09 rec3=032 [0x07] rec0=22 rec1=00 rec2=05 rec3=026 [0x08] rec0=0b rec1=00 rec2=03 rec3=000 tail 0x21520469883aa76ac5307 0x42a00088462063c03