|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 5450 (0x154a)
Types: TextFile
Names: »B«
└─⟦407de186f⟧ Bits:30000749 8mm tape, Rational 1000, RCFSUN
└─⟦e5cd75ab4⟧ »DATA«
└─⟦this⟧
separate (Sparc_Unix_Alsys)
function Get_Predefined_Info return Predefined.Object is
-- Appendix F Section 9 page 53
--
--[To be factorized]
--
Short_Short_Int : constant Predefined.Integer_Type_Descriptor :=
Predefined.Build (Name => "SHORT_SHORT_INTEGER",
Size => 8,
Lo_Bound => Universal.Value (Integer'(-2 ** 7)),
Hi_Bound => Universal.Value (Integer'(2 ** 7 - 1)),
For_Target => Target_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 => Target_Name);
-- Appendix F Section 9 page 53
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 => Target_Name);
Integers : constant Predefined.Integer_Type_Array :=
(Short_Short_Int, Short_Int, Int);
--------------------------------------------------
Flo : constant Predefined.Float_Type_Descriptor :=
Predefined.Build
(Name => "FLOAT",
Digitz => 6,
Size => 32,
Lo_Bound =>
Universal.Value (Float'(-(2.0 - 2.0 ** (-23)) * 2.0 ** 127)),
Hi_Bound =>
Universal.Value (Float'(+(2.0 - 2.0 ** (-23)) * 2.0 ** 127)),
Safe_Emax => 127,
Machine_Emax => 127,
Machine_Emin => -128,
Machine_Radix => 2,
Machine_Mantissa => 23,
Machine_Rounds => False,
Machine_Overflows => False,
For_Target => Target_Name);
Long_Flo : constant Predefined.Float_Type_Descriptor :=
Predefined.Build
(Name => "LONG_FLOAT",
Digitz => 15,
Size => 64,
Safe_Emax => 1023,
Lo_Bound =>
Universal.Value (Float'(-(2.0 - 2.0 ** (-52)) * 2.0 ** 1023)),
Hi_Bound =>
Universal.Value (Float'(+(2.0 - 2.0 ** (-52)) * 2.0 ** 1023)),
Machine_Emin => -1024,
Machine_Emax => 1023,
Machine_Radix => 2,
Machine_Mantissa => 52,
Machine_Rounds => False,
Machine_Overflows => False,
For_Target => Target_Name);
Floats : constant Predefined.Float_Type_Array := (Flo, Long_Flo);
-- -- Appendix F Section 9 page 54
-- Single_Last : constant Universal.Real := Universal.Value (3.40282E+38);
-- Double_Last : constant Universal.Real := Universal.Value (1.79769E+308);
--
-- -- Appendix F Section 9 page 54
-- 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 => False,
-- For_Target => Target_Name);
--
-- -- Appendix F Section 9 page 54
-- 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 => 1021,
-- Machine_Emin => -1021,
-- Machine_Emax => 1024,
-- Machine_Radix => 2,
-- Machine_Mantissa => 51,
-- Machine_Rounds => True,
-- Machine_Overflows => False,
-- For_Target => Target_Name);
--
-- Floats : constant Predefined.Float_Type_Array := (Flo, Long_Flo);
--
-- --------------------------------------------------
-- Appendix F Section 9 page 55
Dur : constant Predefined.Fixed_Type_Descriptor :=
Predefined.Build (Name => "DURATION",
Size => 32,
Scale => -14,
Lo_Bound => Universal.Value (-131_072.0),
Hi_Bound => Universal.Value (131_072.0),
For_Target => Target_Name);
--------------------------------------------------
Predefined_Characteristics : constant Predefined.Object :=
Predefined.Build (Standard_Version => 2,
Integer_Types => Integers,
Float_Types => Floats,
Duration_Type => Dur,
For_Target => Target_Name);
begin
return Predefined_Characteristics;
end Get_Predefined_Info;