|
|
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 - metrics - 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;