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

⟦d58117f4d⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, function Get_Predefined_Info, seg_03bead, separate M68k_Sunos_Vdx

Derivation

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

E3 Source Code



-- with Get_Predefineds;

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,
                         Safe_Emax         => 125,
                         Machine_Emax      => 128,
                         Machine_Emin      => -125,
                         Machine_Radix     => 2,
                         Machine_Mantissa  => 24,
                         Machine_Rounds    => True,
                         Machine_Overflows => True,
                         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,
                         Safe_Emax         => 1021,
                         Machine_Emax      => 1024,
                         Machine_Emin      => -1021,
                         Machine_Radix     => 2,
                         Machine_Mantissa  => 53,
                         Machine_Rounds    => True,
                         Machine_Overflows => True,
                         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;

    -- return Get_Predefineds (T_Name);
end Get_Predefined_Info;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1b rec1=00 rec2=01 rec3=03e
        [0x01] rec0=16 rec1=00 rec2=02 rec3=006
        [0x02] rec0=16 rec1=00 rec2=03 rec3=052
        [0x03] rec0=15 rec1=00 rec2=04 rec3=03c
        [0x04] rec0=16 rec1=00 rec2=05 rec3=00c
        [0x05] rec0=17 rec1=00 rec2=06 rec3=000
    tail 0x21739c152856575a363ce 0x42a00088462062803