|
|
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: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body System_Defined, seg_04a336, seg_04a9e7, seg_04b455, separate Generic_Fact_Base.Predicate
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
separate (Generic_Fact_Base.Predicate)
package body System_Defined is
function Match (Using_Operator : Operators; Value : Slot.Object)
return Boolean is
begin
case Using_Operator is
when Is_Equal | Is_Less | Is_Less_Or_Equal |
Is_Greater | Is_Greater_Or_Equal | Is_Different =>
raise Illegal_Operation;
when Is_Any =>
return True;
when Is_Undefined =>
return Slot.Is_Undefined (Value);
when Is_Defined =>
return not Slot.Is_Undefined (Value);
end case;
end Match;
function Match (Using_Operator : Operators;
Value : Slot.Object;
Against : Slot.Object) return Boolean is
use Slot.Operators;
begin
if Slot.Is_A_Reference (Value) then
if Using_Operator = Is_Equal then
return Class.Is_Equal (Value, Against);
elsif Using_Operator = Is_Different then
return not Class.Is_Equal (Value, Against);
else
return False;
end if;
else
case Using_Operator is
when Is_Equal =>
return Value = Against;
when Is_Less =>
return Value < Against;
when Is_Less_Or_Equal =>
return Value <= Against;
when Is_Greater =>
return Value > Against;
when Is_Greater_Or_Equal =>
return Value >= Against;
when Is_Different =>
return Value /= Against;
when Is_Any | Is_Undefined | Is_Defined =>
raise Illegal_Operation;
end case;
end if;
end Match;
function Image (Op : Operators) return String is
begin
case Op is
when Is_Equal =>
return "Is_Equal";
when Is_Less =>
return "Is_Less";
when Is_Less_Or_Equal =>
return "Is_Less_Or_Equal";
when Is_Greater =>
return "Is_Greater";
when Is_Greater_Or_Equal =>
return "Is_Greater_Or_Equal";
when Is_Different =>
return "Is_Different";
when Is_Any =>
return "Is_Any";
when Is_Undefined =>
return "Is_Undefined";
when Is_Defined =>
return "is_defined";
end case;
end Image;
end System_Defined;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=1d rec1=00 rec2=01 rec3=02e
[0x01] rec0=1c rec1=00 rec2=02 rec3=062
[0x02] rec0=1d rec1=00 rec2=03 rec3=000
tail 0x2174ea3ba866e7cca23ac 0x42a00088462063c03