|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7168 (0x1c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Robots_Bricks_Tests, seg_011735
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Slot, Instance, Text_Io;
with Robot, Brick, Robot_Features, Brick_Features;
package body Robots_Bricks_Tests is
use Robot_Features, Brick_Features, Slot.Operators;
-- True : constant Slot.Object := Slot.True_Object;
-- False : Slot.Object := Slot.True_Object;
------------------------------------------------------------------------------
function Pack_It_Test
(Br : Brick.Object; Ro : Robot.Object) return Boolean is
Ok : Boolean;
begin
return Brick.Value_Of (Br, Place) = In_The_Heap and then
Robot.Value_Of (Ro, Is_Busy) = Slot.False_Object and then
Robot.Value_Of (Ro, The_Task) =
State_Slot_Tasks.Value (Take) and then
not Brick.Exist (Attribute => Place,
Operator => Brick.Equal,
Value => In_The_Heap,
Attribute2 => Size,
Operator2 => Brick.Greater,
Value2 => Brick.Value_Of (Br, Size));
end Pack_It_Test;
------------------------------------------------------------------------------
function Get_Test (Br : Brick.Object; Ro : Robot.Object) return Boolean is
begin
return Robot.Value_Of (Ro, The_Task) =
State_Slot_Tasks.Value (Take) and then
Robot.Value_Of (Ro, Is_Busy) = Slot.True_Object and then
Brick.Value_Of (Br, Place) = In_The_Nippers;
end Get_Test;
------------------------------------------------------------------------------
function Put_To_Case_Test
(Br : Brick.Object; Ro : Robot.Object) return Boolean is
begin
return
Robot.Value_Of (Ro, The_Task) = State_Slot_Tasks.Value (Put) and then
Brick.Value_Of (Br, Place) = In_The_Nippers and then
not Robot.Exist (Attribute => Old,
Operator => Robot.Less,
Value => Robot.Value_Of (Ro, Old),
Attribute2 => The_Task,
Operator2 => Robot.Equal,
Value2 => State_Slot_Tasks.Value (Put));
end Put_To_Case_Test;
------------------------------------------------------------------------------
function Stop_Test (Br : Brick.Object; Ro : Robot.Object) return Boolean is
begin
return
Robot.Value_Of (Ro, The_Task) =
State_Slot_Tasks.Value (Take) and then
Robot.Value_Of (Ro, Is_Busy) = Slot.False_Object and then
Brick.Value_Of (Br, Place) /= In_The_Heap;
end Stop_Test;
end Robots_Bricks_Tests;
nblk1=6
nid=5
hdr6=6
[0x00] rec0=15 rec1=00 rec2=01 rec3=05e
[0x01] rec0=17 rec1=00 rec2=02 rec3=022
[0x02] rec0=15 rec1=00 rec2=06 rec3=000
[0x03] rec0=14 rec1=00 rec2=05 rec3=002
[0x04] rec0=0f rec1=00 rec2=02 rec3=000
[0x05] rec0=04 rec1=00 rec2=05 rec3=000
tail 0x2150cf6aa823a4c1bee74 0x42a00088462063c03
Free Block Chain:
0x5: 0000 00 04 03 66 80 1c 6f 74 2e 45 78 69 73 74 20 28 ┆ f ot.Exist (┆
0x4: 0000 00 03 03 fc 80 1a 56 61 6c 75 65 20 20 20 20 20 ┆ Value ┆
0x3: 0000 00 00 00 5e 80 03 2d 2d 2d 03 00 00 00 00 4e 20 ┆ ^ --- N ┆