DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦adcb0ac67⟧ TextFile

    Length: 1768 (0x6e8)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Fact;
package body Generic_Condition_Element is

    type Elements is array (Positive range <>) of Fact.Query;

    The_Elements : Elements (1 .. Max_Condition_Elements) :=
       (others => Fact.Null_Query);

    The_Last_Element : Natural := 0;

    procedure Add (The_Query : Fact.Query; Result : out Id) is
    begin
        if The_Last_Element = Max_Condition_Elements then
            raise Overflow;
        else
            The_Last_Element                := The_Last_Element + 1;
            The_Elements (The_Last_Element) := The_Query;
            Result                          := The_Last_Element;
        end if;
    end Add;

    procedure Add (The_Queries : Fact.Queries; Result : out Ids) is
    begin
        if The_Last_Element + The_Queries'Length > Max_Condition_Elements then
            raise Overflow;
        else
            for I in The_Queries'Range loop
                The_Last_Element                := The_Last_Element + 1;
                The_Elements (The_Last_Element) := The_Queries (I);
                Result (I)                      := The_Last_Element;
            end loop;
        end if;
    end Add;

    function Count return Natural is
    begin
        return The_Last_Element;
    end Count;


    function Get (The_Id : Id) return Fact.Query is
    begin
        if (The_Id > The_Last_Element) or (The_Id = 0) then
            raise Illegal_Access;
        else
            return The_Elements (The_Id);
        end if;
    end Get;

    function Get (The_Ids : Ids) return Fact.Queries is
        Result : Fact.Queries (The_Ids'Range);
    begin
        for I in The_Ids'Range loop
            Result (I) := Get (The_Ids (I));
        end loop;
        return Result;
    end Get;

end Generic_Condition_Element;