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

⟦8f242d23a⟧ Ada Source

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

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



--with Get_Predefineds;

separate (Rs6000_Aix_Vads)

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 RS6000_AIX_VADS target key to be demoted and
-- repromoted.
--
-- Be advised that running the RS6000_AIX_VADS.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'(-128)),
                         Hi_Bound => Universal.Value (Integer'(+127)),
                         For_Target => T_Name);

    Short_Int : constant Predefined.Integer_Type_Descriptor :=
       Predefined.Build (Name => "SHORT_INTEGER",
                         Size => 16,
                         Lo_Bound => Universal.Value (Integer'(-32_768)),
                         Hi_Bound => Universal.Value (Integer'(+32_767)),
                         For_Target => T_Name);

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


    -- The definition of the RCI_UNSIGNED_INTEGER is made here to
    -- facilitate the implementation of the Ada spec of package
    -- Unsigned_Integer.  RCI_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 => "UNSIGNED_INTEGER",
           Size => 32,
           Lo_Bound => Universal.Value (Long_Integer'(0)),
           Hi_Bound => Universal.Value (Long_Integer'(+2_147_483_647)),
           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.79769313486228E+308);
    --[changed standard.float to accomodate the R1000]

    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 => -10,
                         Lo_Bound => Universal.Value (-214748.3648),
                         Hi_Bound => Universal.Value (214748.3647),
                         For_Target => T_Name);


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

    Predefined_Characteristics : constant Predefined.Object :=
       Predefined.Build (Standard_Version => 0001,  --[]
                         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=046
        [0x01] rec0=16 rec1=00 rec2=02 rec3=072
        [0x02] rec0=19 rec1=00 rec2=03 rec3=000
        [0x03] rec0=16 rec1=00 rec2=04 rec3=018
        [0x04] rec0=16 rec1=00 rec2=05 rec3=084
        [0x05] rec0=14 rec1=00 rec2=06 rec3=000
    tail 0x2154af488878e7477f2c0 0x42a00088462060003