DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦314d1ed77⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Tuple, seg_01136a, seg_01156f

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Instance;

package Tuple is

    type Object is private;


    procedure Null_Action (The_Tuple : Tuple.Object);

    function Cardinality (Of_Tuple : Tuple.Object)  return Natural;
    function Is_Null     (The_Tuple : Tuple.Object) return Boolean;

    generic
        with procedure Action (The_Reference : Instance.Reference);
    procedure For_All (The_Tuple : Tuple.Object);

    procedure Split (The_Tuple : Tuple.Object;
                     In_Ref1   : out Instance.Reference);
    procedure Split (The_Tuple        : Tuple.Object;
                     In_Ref1, In_Ref2 : out Instance.Reference);
    procedure Split (The_Tuple                 : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3 : out Instance.Reference);
    procedure Split (The_Tuple                          : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4 : out
                        Instance.Reference);
    procedure Split (The_Tuple : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4, In_Ref5 : out
                        Instance.Reference);
    procedure Split (The_Tuple : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4, In_Ref5, In_Ref6 : out
                        Instance.Reference);
    procedure Split (The_Tuple                 : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4,
                     In_Ref5, In_Ref6, In_Ref7 : out Instance.Reference);
    procedure Split (The_Tuple                          : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4,
                     In_Ref5, In_Ref6, In_Ref7, In_Ref8 : out
                        Instance.Reference);
    procedure Split (The_Tuple                          : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4, In_Ref5,
                     In_Ref6, In_Ref7, In_Ref8, In_Ref9 : out
                        Instance.Reference);
    procedure Split (The_Tuple : Tuple.Object;
                     In_Ref1, In_Ref2, In_Ref3, In_Ref4, In_Ref5,
                     In_Ref6, In_Ref7, In_Ref8, In_Ref9, In_Ref10 : out
                        Instance.Reference);


    function Get (In_Tuple : Tuple.Object; The_Item : Positive := 1)
                 return Instance.Reference;

    procedure Add (In_Tuple      : in out Tuple.Object;
                   The_Reference :        Instance.Reference);

    procedure Merge (In_Tuple   : in out Tuple.Object;
                     With_Size  : Natural;
                     The_Ref_1  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_2  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_3  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_4  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_5  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_6  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_7  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_8  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_9  : Instance.Reference := Instance.Null_Reference;
                     The_Ref_10 : Instance.Reference :=
                        Instance.Null_Reference);

    function Object_To_Tuple
                (The_Reference : Instance.Reference) return Tuple.Object;

    generic
        with function "<" (Left_Reference, Right_Reference : Instance.Reference)
                          return Boolean;
    procedure Sort (The_Tuple : in out Tuple.Object);


    Overflow : exception;

private

    Max_Size : constant Natural := 10;

    type Tuple_Array is array (1 .. Max_Size) of Instance.Reference;

    type Object is
        record
            Cells : Tuple_Array;
            Count : Natural  := 0;
            Unity : Positive := 1;
        end record;

end Tuple;



E3 Meta Data

    nblk1=7
    nid=5
    hdr6=c
        [0x00] rec0=1b rec1=00 rec2=01 rec3=04a
        [0x01] rec0=00 rec1=00 rec2=04 rec3=006
        [0x02] rec0=11 rec1=00 rec2=06 rec3=018
        [0x03] rec0=13 rec1=00 rec2=07 rec3=02c
        [0x04] rec0=1c rec1=00 rec2=02 rec3=012
        [0x05] rec0=06 rec1=00 rec2=03 rec3=000
        [0x06] rec0=00 rec1=3d rec2=41 rec3=089
    tail 0x2150ba3ba822f60328dc7 0x42a00088462063c03
Free Block Chain:
  0x5: 0000  00 00 00 10 80 04 70 6c 65 3b 04 00 00 00 00 00  ┆      ple;      ┆