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

⟦a8da66842⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Quadrant2_Dec_Up_Rule, seg_04c95c, separate Qualit_Generic_Agent.Qualit_Epsilon_Rule_Bundle

Derivation

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

E3 Source Code



with Alias;

separate (Qualit_Generic_Agent.Qualit_Epsilon_Rule_Bundle)

package body Quadrant2_Dec_Up_Rule is


    function Premiss return Fact_Queries is  
        use Qualit_Frames;
        use Slot;
        use Slot.Operators;
        The_Near_Epsilon_0_Val : constant Alias.Name := Alias.E;
    begin
        return (Updates.Exist ((Valid => Is_Equal (False_Boolean))),
                Epsilon_Near_Zeros.Exist
                   ((Value => Define_As (The_Near_Epsilon_0_Val))),
                Epsilons.Exist
                   ((Value => Is_Greater
                                 (-(Alias.Get (The_Near_Epsilon_0_Val))) and
                              Is_Less_Or_Equal (Null_Value))),
                Predictions.Absent
                   ((Quadrant_Number => Is_Any, Prediction_Name => Is_Any)),
                Up_Values.Exist ((Value => Is_Any)),
                Up_Decrements.Exist ((Value => Is_Any)));
    end Premiss;


    procedure Action (Objects : Fact_Collection) is  
        use Qualit_Frames;
        use Slot;
        use Slot.Operators;
        The_Update_Fact : Fact_Name renames Objects (1);
        The_Up_Value_Fact : Fact_Name renames Objects (5);
        The_Up_Decrement_Fact : Fact_Name renames Objects (6);
        The_Up_Value : Slot.Object := Up_Values.Get (The_Up_Value_Fact, Value);
        The_Up_Decrement : Slot.Object :=
           Up_Decrements.Get (The_Up_Decrement_Fact, Value);
    begin
        Display.New_Line (The_Output_Window);
        Display.Put_Line
           ("********************************************************",
            The_Output_Window);
        Display.Put_Line ("     quadrant 2 : DECREMENT UP_VALUE ",
                          The_Output_Window);
        Display.Put_Line
           ("********************************************************",
            The_Output_Window);

        Updates.Change (The_Update_Fact, Valid, True_Boolean);

        The_Up_Value := The_Up_Value - The_Up_Decrement;
        if The_Up_Value < Inc_Min then
            The_Up_Value := Inc_Min;
        end if;
        Up_Values.Change (The_Up_Value_Fact, Value, The_Up_Value);

        Predictions.Add
           ((Quadrant_Number => Value (2),
             Prediction_Name =>
                Epsilon_Variation_Should_Decrease_Prediction_Name));
    end Action;


end Quadrant2_Dec_Up_Rule;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=1d rec1=00 rec2=01 rec3=02a
        [0x01] rec0=17 rec1=00 rec2=04 rec3=016
        [0x02] rec0=0e rec1=00 rec2=03 rec3=000
        [0x03] rec0=08 rec1=00 rec2=02 rec3=000
    tail 0x217537ca6870d665c976d 0x42a00088462063c03
Free Block Chain:
  0x2: 0000  00 00 00 d2 80 01 64 01 00 2a 20 20 20 20 20 20  ┆      d  *      ┆