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

⟦646ee9733⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Types, seg_04bb59

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



-- Copyright 1990, 1992  Verdix Corporation

------------------------------------------------------------------------------
-- Standard interface types used for RTF
------------------------------------------------------------------------------
with System;
with Unsigned_Types;
package V_I_Types is

    pragma Suppress (All_Checks);
    pragma Suppress (Exception_Tables);
    pragma Not_Elaborated;
    pragma Local_Access;

    --------------------------------------------------------------------------
    -- TIME type
    --------------------------------------------------------------------------
    -- Internal representation for current or absolute time. The current time
    -- is normalized so that sec is less than a day (86400.0 seconds)
    type Time_T is
        record
            Day : System.Day_T;
            Sec : Duration;
        end record;
    type A_Time_T is access Time_T;

    --------------------------------------------------------------------------
    -- Allocation length type
    --------------------------------------------------------------------------
    subtype Alloc_T is Integer;

    --------------------------------------------------------------------------
    -- Misc types provided for backward compatibility with
    -- earlier releases of VADS.
    --------------------------------------------------------------------------
    subtype A_Task_T is System.Task_Id;
    Null_Task : constant A_Task_T := System.No_Task_Id;
    subtype A_Program_T is System.Program_Id;
    subtype User_Field_T is Integer;

    --------------------------------------------------------------------------
    -- Values corresponding to a zero/non-zero for the machine test-and-set
    --------------------------------------------------------------------------
    type Test_And_Set_T is new Tiny_Integer;
    -- note, false is nonzero
    Test_And_Set_False : constant Test_And_Set_T := 1;
    Test_And_Set_True : constant Test_And_Set_T := 0;

    ----------------------------------------------------------------------
    -- The following types define the structure of the Floating Point Status
    -- on the RS/6000.  A configuration parameter of this type allows
    -- the user to control the operating characteristics of the FPP by
    -- providing the value to which the Control Register should be initialized.
    ----------------------------------------------------------------------

    type Rnd_Mode_T is (Fp_Near, Fp_Zero, Fp_Up, Fp_Down);
    for Rnd_Mode_T use (0, 1, 2, 3);

    type Floating_Point_Control_T is
        record
            Fx : Boolean; -- Exception Summary
            Fex : Boolean; -- Enabled Exception Summary
            Vx : Boolean; -- Invalid Operation Exception Summary
            Ox : Boolean; -- Overflow Exception
            Ux : Boolean; -- Underflow Exception
            Zx : Boolean; -- Zero Divide Exception
            Xx : Boolean; -- Inexact Exception
            Vxsnan : Boolean; -- Invalid Operation Exception
            Vxisi : Boolean; -- Invalid Operation Exception (Inf - Inf)
            Vxidi : Boolean; -- Invalid Operation Exception (Inf / Inf)
            Vxzdz : Boolean; -- Invalid Operation Exception (0 / 0)
            Vximz : Boolean; -- Invalid Operation Exception (Inf * 0)
            Vxvc : Boolean; -- Invalid Operation Exception (Invalid Compare)
            Fr : Boolean; -- Fraction Rounded
            Fi : Boolean; -- Fraction Inexact
            C : Boolean; -- Result Class Descriptor
            Fl : Boolean; -- Less Than or Negative
            Fg : Boolean; -- Greater Than or Positive
            Fe : Boolean; -- Equal or Zero
            Fo : Boolean; -- Unordered or NaN
            Ve : Boolean; -- Invalid Operation Exception Enable
            Oe : Boolean; -- Overflow Exception Enable
            Ue : Boolean; -- Underflow Exception Enable
            Ze : Boolean; -- Zero Divide Exception Enable
            Xe : Boolean; -- Inexact Exception Enable
            Rn : Rnd_Mode_T; -- Rounding Control
        end record;

    for Floating_Point_Control_T use
        record
            Fx at 0 range 0 .. 0;
            Fex at 0 range 1 .. 1;
            Vx at 0 range 2 .. 2;
            Ox at 0 range 3 .. 3;
            Ux at 0 range 4 .. 4;
            Zx at 0 range 5 .. 5;
            Xx at 0 range 6 .. 6;
            Vxsnan at 0 range 7 .. 7;
            Vxisi at 0 range 8 .. 8;
            Vxidi at 0 range 9 .. 9;
            Vxzdz at 0 range 10 .. 10;
            Vximz at 0 range 11 .. 11;
            Vxvc at 0 range 12 .. 12;
            Fr at 0 range 13 .. 13;
            Fi at 0 range 14 .. 14;
            C at 0 range 15 .. 15;
            Fl at 0 range 16 .. 16;
            Fg at 0 range 17 .. 17;
            Fe at 0 range 18 .. 18;
            Fo at 0 range 19 .. 19;
            Ve at 0 range 24 .. 24;
            Oe at 0 range 25 .. 25;
            Ue at 0 range 26 .. 26;
            Ze at 0 range 27 .. 27;
            Xe at 0 range 28 .. 28;
            Rn at 0 range 30 .. 31;
        end record;

    for Floating_Point_Control_T'Size use 32;

end V_I_Types;


E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1c rec1=00 rec2=01 rec3=07a
        [0x01] rec0=14 rec1=00 rec2=02 rec3=02e
        [0x02] rec0=14 rec1=00 rec2=03 rec3=03e
        [0x03] rec0=11 rec1=00 rec2=04 rec3=044
        [0x04] rec0=1c rec1=00 rec2=05 rec3=00e
        [0x05] rec0=0b rec1=00 rec2=06 rec3=001
    tail 0x21548cee6868438c3cff9 0x42a00088462060003