|
|
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: 3787 (0xecb)
Types: TextFile
Names: »B«
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦this⟧
with Instance;
with Tuple_Collection, Slot;
with Bbs_Tests;
use Bbs_Tests;
with New_Ball, New_Box, New_Sticker, Constant_Colours;
with Ball_Features, Box_Features, Sticker_Features;
package body Bbs_Conditions is
use New_Ball, New_Box, New_Sticker, Constant_Colours,
Ball_Features, Box_Features, Sticker_Features, Slot.Operators;
function Pack_It_Restriction_1
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Ball.Value_Of (The_Reference, Place) = In_The_Heap;
end Pack_It_Restriction_1;
function Pack_It_Restriction_2
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Box.Value_Of (The_Reference, State) =
State_Slot_Box.Value (Is_Empty);
end Pack_It_Restriction_2;
function Pack_It_Restriction_3
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Sticker.Value_Of (The_Reference, State) =
State_Slot_Sticker.Value (Is_Unused);
end Pack_It_Restriction_3;
function Sticker_Lack_Restriction_1
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Ball.Value_Of (The_Reference, Place) = In_The_Heap;
end Sticker_Lack_Restriction_1;
function Box_Lack_Restriction_1
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Ball.Value_Of (The_Reference, Place) = In_The_Heap;
end Box_Lack_Restriction_1;
function Too_Big_Restriction_1
(The_Reference : Instance.Reference) return Boolean is
begin
return New_Ball.Value_Of (The_Reference, Place) = In_The_Heap;
end Too_Big_Restriction_1;
function Pack_It_Filter is new Tuple_Collection.Join_3
(Collection_1 => New_Ball.Instances,
Restrict_1 => Pack_It_Restriction_1,
Collection_2 => New_Box.Instances,
Restrict_2 => Pack_It_Restriction_2,
Collection_3 => New_Sticker.Instances,
Restrict_3 => Pack_It_Restriction_3,
Match => Bbs_Tests.Pack_It_Test);
function Sticker_Lack_Filter is
new Tuple_Collection.Join_1 (Collection_1 => New_Ball.Instances,
Restrict_1 => Sticker_Lack_Restriction_1,
Match => Bbs_Tests.Sticker_Lack_Test);
function Box_Lack_Filter is new Tuple_Collection.Join_1
(Collection_1 => New_Ball.Instances,
Restrict_1 => Box_Lack_Restriction_1,
Match => Bbs_Tests.Box_Lack_Test);
function Too_Big_Filter is new Tuple_Collection.Join_1
(Collection_1 => New_Ball.Instances,
Restrict_1 => Too_Big_Restriction_1,
Match => Bbs_Tests.Too_Big_Test);
function Pack_It_Condition return Tuple_Collection.Object is
begin
return Pack_It_Filter;
end Pack_It_Condition;
function Sticker_Lack_Condition return Tuple_Collection.Object is
begin
return Sticker_Lack_Filter;
end Sticker_Lack_Condition;
function Box_Lack_Condition return Tuple_Collection.Object is
begin
return Box_Lack_Filter;
end Box_Lack_Condition;
function Too_Big_Condition return Tuple_Collection.Object is
begin
return Too_Big_Filter;
end Too_Big_Condition;
end Bbs_Conditions;