DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦89bdbc364⟧ TextFile

    Length: 3308 (0xcec)
    Types: TextFile
    Names: »B«

Derivation

└─⟦5829e5ed5⟧ Bits:30000534 8mm tape, Rational 1000, RCI 2_0_5
    └─ ⟦c9a165082⟧ »DATA« 
        └─⟦c3895f76e⟧ 
            └─⟦this⟧ 

TextFile

separate (Template)
function Get_Predefined_Info return Predefined.Object is

    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);

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

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

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

    Flo : constant Predefined.Float_Type_Descriptor :=
       Predefined.Build (Name => "FLOAT",
                         Digitz => 6,
                         Size => 32,
                         Lo_Bound => Universal."-" (Single_Last),
                         Hi_Bound => Single_Last,
                         Safe_Emax => 125,
                         Machine_Emin => -125,
                         Machine_Emax => 128,
                         Machine_Radix => 2,
                         Machine_Mantissa => 21,
                         Machine_Rounds => True,  
                         Machine_Overflows => True,  
                         For_Target => T_Name);

    Long_Flo : constant Predefined.Float_Type_Descriptor :=
       Predefined.Build (Name => "LONG_FLOAT",
                         Digitz => 15,
                         Size => 64,
                         Lo_Bound => Universal."-" (Double_Last),
                         Hi_Bound => Double_Last,
                         Safe_Emax => 1020,
                         Machine_Emin => -1021,
                         Machine_Emax => 1024,
                         Machine_Radix => 2,
                         Machine_Mantissa => 53,
                         Machine_Rounds => True,  
                         Machine_Overflows => True,  
                         For_Target => T_Name);

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

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

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


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

    Predefined_Characteristics : constant Predefined.Object :=
       Predefined.Build (Standard_Version => 1,
                         Integer_Types => Integers,
                         Float_Types => Floats,
                         Duration_Type => Dur,
                         For_Target => T_Name);

begin
    return Predefined_Characteristics;
end Get_Predefined_Info;