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

⟦7d3dd8e83⟧ Ada Source

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

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



--| @SUMMARY This package defines the size of all atomic elements.  These
--| values should represent the number of bits required on the target machine
--| for each defined type.  The initialize procedure can be used to set these
--| values based on input from a file.
package Sizing_Parameters is

    subtype Long_Natural is Long_Integer range 0 .. Long_Integer'Last;

    Bits  : Long_Integer := 1;
    Bytes : Long_Integer := 8 * Bits;

    Short_Short_Integer_Lower_Bound : Long_Integer := -2 ** 7;
    Short_Short_Integer_Upper_Bound : Long_Integer := 2 ** 7 - 1;
    Short_Short_Integer_Size        : Long_Natural := 8 * Bits;

    Short_Integer_Lower_Bound : Long_Integer := -2 ** 15;
    Short_Integer_Upper_Bound : Long_Integer := 2 ** 15 - 1;
    Short_Integer_Size        : Long_Natural := 16 * Bits;

    Integer_Lower_Bound : Long_Integer := -2 ** 23;
    Integer_Upper_Bound : Long_Integer := 2 ** 23 - 1;  
    Integer_Size        : Long_Natural := 24 * Bits;

    Long_Integer_Lower_Bound : Long_Integer := -2 ** 31;
    Long_Integer_Upper_Bound : Long_Integer := 2 ** 31 - 1;
    Long_Integer_Size        : Long_Natural := 32 * Bits;

    function Integer_Type_Size
                (Lower, Upper : Long_Integer; Is_Packed : Boolean := False)
                return Long_Natural;

    Short_Float_Lower_Bound : Float := -2.0 ** 252 * (1.0 - 2.0 ** (-24));
    Short_Float_Upper_Bound : Float := 2.0 ** 252 * (1.0 - 2.0 ** (-24));
    Short_Float_Digits      : Long_Natural := 6;
    Short_Float_Size        : Long_Natural := 32 * Bits;

    Float_Lower_Bound : Float        := -2.0 ** 252 * (1.0 - 2.0 ** (-56));
    Float_Upper_Bound : Float        := 2.0 ** 252 * (1.0 - 2.0 ** (-56));
    Float_Digits      : Long_Natural := 15;
    Float_Size        : Long_Natural := 64 * Bits;

    Long_Float_Lower_Bound : Float        := 0.0;
    Long_Float_Upper_Bound : Float        := 0.0;
    Long_Float_Digits      : Long_Natural := 18;
    Long_Float_Size        : Long_Natural := 64 * Bits;

    function Float_Type_Size
                (Lower, Upper : Float; Number_Of_Digits : Long_Natural)
                return Long_Natural;

    Boolean_Size   : Long_Natural := 8 * Bits;
    Character_Size : Long_Natural := 8 * Bits;

    Access_Type_Size : Long_Natural := 32 * Bits;
    Task_Type_Size   : Long_Natural := 32 * Bits;

    Short_Enumeration_Length : Long_Natural := 2 ** 8;
    Short_Enumeration_Size   : Long_Natural := 8 * Bits;

    Enumeration_Length : Long_Natural := 2 ** 16;
    Enumeration_Size   : Long_Natural := 16 * Bits;

    Long_Enumeration_Length : Long_Natural := 2 ** 31 - 1;
    Long_Enumeration_Size   : Long_Natural := 32 * Bits;


    function Enumeration_Type_Size
                (Lower_Bound, Upper_Bound : Long_Integer;
                 Is_Packed : Boolean := False) return Long_Natural;

    Record_Component_Alignment   : Long_Natural := 4 * Bytes;  -- word
    Array_Component_Alignment    : Long_Natural := 1 * Bits;   -- no alignment
    Object_Declaration_Alignment : Long_Natural := 1 * Bits;  -- no alignment

    Discriminated_Record_Overhead : Long_Natural := 0 * Bits;

    --| @DESCRIPTION Initialized the above variables by parsing a file
    --| for values.  The Type_Sizing file in this view is an example input
    --| file.
    procedure Initialize (File : String);
end Sizing_Parameters;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=17 rec1=00 rec2=01 rec3=062
        [0x01] rec0=02 rec1=00 rec2=06 rec3=01a
        [0x02] rec0=15 rec1=00 rec2=02 rec3=01e
        [0x03] rec0=02 rec1=00 rec2=05 rec3=032
        [0x04] rec0=1a rec1=00 rec2=03 rec3=012
        [0x05] rec0=09 rec1=00 rec2=04 rec3=000
    tail 0x215003f7e815c65820755 0x42a00088462061e03