|
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 - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Detail, seg_046198
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io, The_Order, Complement_Identifier_Array, Field_Identifier_Array; package body Detail is procedure Create_Real_Field (Item : in out Object; An_Index : in Positive) is begin Item := (Kind => Real_Field, Field_Index => An_Index); end Create_Real_Field; procedure Create_Real_Complement (Item : in out Object; An_Index : in Positive) is begin Item := (Kind => Real_Complement, Complement_Index => An_Index); end Create_Real_Complement; procedure Create_Group (Item : in out Object; Position : in Positive) is begin Item := (Kind => Group, Group_Position => Position); end Create_Group; procedure Show (Item : in Object) is begin Text_Io.Put_Line ("Detail : Kind : " & Detail_Kind'Image (Item.Kind) & " Image : " & Image (Item)); end Show; function Is_A_Real_Field (Item : in Object) return Boolean is begin return Item.Kind = Real_Field; end Is_A_Real_Field; function Is_A_Real_Complement (Item : in Object) return Boolean is begin return Item.Kind = Real_Complement; end Is_A_Real_Complement; function Is_A_Group_Field (Item : in Object) return Boolean is begin return Item.Kind = Group_Field; end Is_A_Group_Field; function Is_A_Group_Complement (Item : in Object) return Boolean is begin return Item.Kind = Group_Complement; end Is_A_Group_Complement; function Exist (Item : in Object) return Boolean is begin return Index (Item) /= 0; end Exist; function Index (Item : in Object) return Natural is begin case Item.Kind is when Real_Field => return Item.Field_Index; when Real_Complement => return Item.Complement_Index; when Group_Field => return Field_Identifier_Array.Index (Complement_Identifier_Array.Image (The_Order.Complement (Item.Group_Position))); when Group_Complement => return The_Order.Complement (Item.Group_Position); when Unknown => return 0; end case; end Index; function Image (Item : Object) return String is begin case Item.Kind is when Real_Field => return Field_Identifier_Array.Image (Item.Field_Index); when Real_Complement => return Complement_Identifier_Array.Image (Item.Complement_Index); when Group_Field => return Complement_Identifier_Array.Image (The_Order.Complement (Item.Group_Position)); when Group_Complement => return Complement_Identifier_Array.Image (The_Order.Complement (Item.Group_Position)); when Unknown => return ""; end case; end Image; end Detail;
nblk1=5 nid=2 hdr6=8 [0x00] rec0=21 rec1=00 rec2=01 rec3=06c [0x01] rec0=26 rec1=00 rec2=03 rec3=036 [0x02] rec0=19 rec1=00 rec2=04 rec3=04a [0x03] rec0=08 rec1=00 rec2=05 rec3=000 [0x04] rec0=c0 rec1=00 rec2=00 rec3=100 tail 0x217487ea8864d7e951a26 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 00 0f 80 09 64 20 44 65 74 61 69 6c 3b 09 ┆ d Detail; ┆