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

⟦0d4c98711⟧ Ada Source

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

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 (M68k_Sunos_Vdx)
function Get_Predefined_Info return Predefined.Object is

-- AN IMPORTANT NOTE!
-- Any time a change is made to the definitions found in this body, the
-- STANDARD_VERSION parameter to the final Predefined.Build command must be
-- incremented.  This is what causes a new version of the package Standard
-- to be created.
--
-- WARNING:
-- Creation of a new version of package standard causes all units contained
-- in any worlds/views with the M68K_SUNOS_VDX target key to be demoted and
-- repromoted.
--
-- Be advised that running the M68K_SUNOS_VDX.REGISTER command after making
-- changes to this body and incrementing the STANDARD_VERSION parameter will
-- cause this command to take quite a while to run.  BE PATIENT, it really
-- is doing something.
--
--
    Tiny_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build (Name       => "TINY_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);
    --
    --
    -- The definition of the RCF_UNSIGNED_INTEGER is made here to facilitate
    -- the implementation of the Ada spec of package Unsigned_Integer.
    -- RCF_UNSIGNED_INTEGER IS NOT PORTABLE AND SHOULD NOT BE USED BY
    -- IMPLEMENTORS.
    --
    -- Implementors may chose to use SunAda's package Unsigned_Integer.  The
    -- RCI implementation of this package spec requires that we create the
    -- RCF_UNSIGNED_INTEGER type in package Standard.
    --
    -- Users should see the WARNINGS pertaining to the use of the
    -- non-standard package Unsigned_Integer in the SunAda appendix F.
    --
    --
    Rcf_Us_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build
          (Name       => "RCF_UNSIGNED_INTEGER",
           Size       => 32,
           Lo_Bound   => Universal.Value (Long_Integer'(0)),
           Hi_Bound   => Universal.Value (Long_Integer'(2 ** 32 - 1)),
           For_Target => T_Name);


    Integers : constant Predefined.Integer_Type_Array :=
       (Tiny_Int, Short_Int, Int, Rcf_Us_Int);

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

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

    Short_Flo : constant Predefined.Float_Type_Descriptor :=
       Predefined.Build (Name       => "SHORT_FLOAT",
                         Digitz     => 6,
                         Size       => 32,
                         Lo_Bound   => Universal."-" (Single_Last),
                         Hi_Bound   => Single_Last,
                         For_Target => T_Name);

    Flo : constant Predefined.Float_Type_Descriptor :=
       Predefined.Build (Name       => "FLOAT",
                         Digitz     => 15,
                         Size       => 64,
                         Lo_Bound   => Universal."-" (Double_Last),
                         Hi_Bound   => Double_Last,
                         For_Target => T_Name);

    Floats : constant Predefined.Float_Type_Array := (Short_Flo, Flo);

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

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


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

    Predefined_Characteristics : constant Predefined.Object :=
       Predefined.Build (Standard_Version => 3,
                         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=0
    hdr6=a
        [0x00] rec0=19 rec1=00 rec2=01 rec3=028
        [0x01] rec0=15 rec1=00 rec2=02 rec3=01a
        [0x02] rec0=18 rec1=00 rec2=03 rec3=014
        [0x03] rec0=16 rec1=00 rec2=04 rec3=03c
        [0x04] rec0=19 rec1=00 rec2=05 rec3=000
    tail 0x2153482f485657537591b 0x42a00088462062803