DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 3582 (0xdfe) Types: TextFile Names: »B«
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧
with Frame_Robots_Briques, Slot, Instance, Text_Io; use Frame_Robots_Briques; package body Robots_Briques_First_Bak is ------------------------------------------------------------------------------ function Pack_It_Test (Br : Brique.Object; Ro : Robot.Object) return Boolean is use Frame_Robots_Briques.Robot_Features, Frame_Robots_Briques.Brique_Features, Slot.Operators, Frame_Robots_Briques.Robot_Features; begin return Brique.Value_Of (Br, Place) = In_The_Heap and then not (Slot.Get (Robot.Value_Of (Ro, Is_Busy))) and then State_Slot_Tasks.Get (Robot.Value_Of (Ro, T_Ask)) = Get and then -- Brique.Value_Of (Br, Size) = -- Brique.Value_Of (Brique.Maximize (Size), Size); not Brique.Exist (With_Conditions => ((Attribute => Place, Operator => Brique.Equal, Value => In_The_Heap), (Attribute => Size, Operator => Brique.Greater, Value => Brique.Value_Of (Br, Size)))); end Pack_It_Test; ------------------------------------------------------------------------------ function Get_Test (Br : Brique.Object; Ro : Frame_Robots_Briques.Robot.Object) return Boolean is use Frame_Robots_Briques.Robot_Features, Frame_Robots_Briques.Brique_Features, Slot.Operators; begin return State_Slot_Tasks.Get (Robot.Value_Of (Ro, T_Ask)) = Get and then Slot.Get (Robot.Value_Of (Ro, Is_Busy)) and then Brique.Value_Of (Br, Place) = In_The_Pince; end Get_Test; ------------------------------------------------------------------------------ function Put_To_Case_Test (Br : Brique.Object; Ro : Frame_Robots_Briques.Robot.Object) return Boolean is use Frame_Robots_Briques.Robot_Features, Frame_Robots_Briques.Brique_Features, Slot.Operators; begin return State_Slot_Tasks.Get (Robot.Value_Of (Ro, T_Ask)) = Put and then Brique.Value_Of (Br, Place) = In_The_Pince and then not Robot.Exist (With_Conditions => ((Attribute => Old, Operator => Robot.Less, Value => Robot.Value_Of (Ro, Old)), (Attribute => T_Ask, Operator => Robot.Equal, Value => State_Slot_Tasks.Value (Put)))); end Put_To_Case_Test; ------------------------------------------------------------------------------ function Stop_Test (Br : Brique.Object; Ro : Robot.Object) return Boolean is use Frame_Robots_Briques.Robot_Features, Frame_Robots_Briques.Brique_Features, Slot.Operators; begin return State_Slot_Tasks.Get (Robot.Value_Of (Ro, T_Ask)) = Get and then not Slot.Get (Robot.Value_Of (Ro, Is_Busy)) and then -- not Brique.Exist (Attribute => Place, -- Operator => Brique.Equal, -- Value => In_The_Heap); Brique.Value_Of (Br, Place) /= In_The_Heap; end Stop_Test; end Robots_Briques_First_Bak;