DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦990a58fb0⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, function Get_Predefined_Info, seg_021c6a, separate Mac_Os_Meridian

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



separate (Mac_Os_Meridian)
function Get_Predefined_Info return Predefined.Object is

    Byte_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build (Name => "BYTE_INTEGER",
                         Size => 8,
                         Lo_Bound => Universal.Value (Integer'(-2 ** 7)),
                         Hi_Bound => Universal.Value (Integer'(2 ** 7 - 1)),
                         For_Target => T_Name);

    Short_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build (Name => "SHORT_INTEGER",
                         Size => 16,
                         Lo_Bound => Universal.Value (Integer'(-2 ** 15)),
                         Hi_Bound => Universal.Value (Integer'(2 ** 15 - 1)),
                         For_Target => T_Name);

    Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build
          (Name => "INTEGER",
           Size => 32,
           Lo_Bound => Universal.Value (Long_Integer'(-2 ** 31)),
           Hi_Bound => Universal.Value (Long_Integer'(2 ** 31 - 1)),
           For_Target => T_Name);

    Long_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build
          (Name => "LONG_INTEGER",
           Size => 32,
           Lo_Bound => Universal.Value (Long_Integer'(-2 ** 31)),
           Hi_Bound => Universal.Value (Long_Integer'(2 ** 31 - 1)),
           For_Target => T_Name);

    Integers : constant Predefined.Integer_Type_Array :=
       (Byte_Int, Short_Int, Int, Long_Int);

    --------------------------------------------------

    Double_Last : constant Universal.Real :=
       Universal.Value (1.79769313486231E+308);

    Flo : constant Predefined.Float_Type_Descriptor :=
       Predefined.Build (Name => "FLOAT",
                         Digitz => 15,
                         Size => 64,
                         Lo_Bound => Universal."-" (Double_Last),
                         Hi_Bound => Double_Last,
                         Safe_Emax => 1020,
                         Machine_Emin => -1021,
                         Machine_Emax => 1024,
                         Machine_Radix => 2,
                         Machine_Mantissa => 53,
                         Machine_Rounds => True,  
                         Machine_Overflows => True,  
                         For_Target => T_Name);

    Floats : constant Predefined.Float_Type_Array := (1 => Flo);

    --------------------------------------------------

    Dur : constant Predefined.Fixed_Type_Descriptor :=
       Predefined.Build (Name => "DURATION",
                         Size => 32,
                         Scale => -14,
                         Lo_Bound => Universal.Value (-86400.0),
                         Hi_Bound => Universal.Value (86400.0),
                         For_Target => T_Name);


    --------------------------------------------------

    Predefined_Characteristics : constant Predefined.Object :=
       Predefined.Build (Standard_Version => 1,
                         Integer_Types => Integers,
                         Float_Types => Floats,
                         Duration_Type => Dur,
                         For_Target => T_Name);

begin
    return Predefined_Characteristics;
end Get_Predefined_Info;

E3 Meta Data

    nblk1=5
    nid=5
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=06c
        [0x01] rec0=19 rec1=00 rec2=04 rec3=05a
        [0x02] rec0=19 rec1=00 rec2=02 rec3=054
        [0x03] rec0=0a rec1=00 rec2=03 rec3=000
        [0x04] rec0=0c rec1=00 rec2=03 rec3=000
    tail 0x2151d1ef0838f7c217809 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 03 fc 80 19 6f 6e 73 74 61 6e 74 20 55 6e  ┆      onstant Un┆