-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
--- MA 02111-1307, USA. --
+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
+-- Boston, MA 02110-1301, USA. --
-- --
-- As a special exception, if other files instantiate generics from this --
-- unit, or you link this unit with other files to produce an executable, --
-- Flag set if value is negative
end record;
+ -- The following representation clause ensures that the above record
+ -- has no holes. We do this so that when instances of this record are
+ -- written by Tree_Gen, we do not write uninitialized values to the file.
+
+ for Ureal_Entry use record
+ Num at 0 range 0 .. 31;
+ Den at 4 range 0 .. 31;
+ Rbase at 8 range 0 .. 31;
+ Negative at 12 range 0 .. 31;
+ end record;
+
+ for Ureal_Entry'Size use 16 * 8;
+ -- This ensures that we did not leave out any fields
+
package Ureals is new Table.Table (
Table_Component_Type => Ureal_Entry,
- Table_Index_Type => Ureal,
+ Table_Index_Type => Ureal'Base,
Table_Low_Bound => Ureal_First_Entry,
Table_Initial => Alloc.Ureals_Initial,
Table_Increment => Alloc.Ureals_Increment,
return UR_10_36;
end Ureal_10_36;
- -------------------
- -- Ureal_M_10_36 --
- -------------------
+ ----------------
+ -- Ureal_2_80 --
+ ----------------
- function Ureal_M_10_36 return Ureal is
+ function Ureal_2_80 return Ureal is
begin
- return UR_M_10_36;
- end Ureal_M_10_36;
+ return UR_2_80;
+ end Ureal_2_80;
-----------------
-- Ureal_2_128 --
return UR_2_128;
end Ureal_2_128;
- ----------------
- -- Ureal_2_80 --
- ----------------
+ -------------------
+ -- Ureal_2_M_80 --
+ -------------------
- function Ureal_2_80 return Ureal is
+ function Ureal_2_M_80 return Ureal is
begin
- return UR_2_80;
- end Ureal_2_80;
+ return UR_2_M_80;
+ end Ureal_2_M_80;
-------------------
-- Ureal_2_M_128 --
return UR_2_M_128;
end Ureal_2_M_128;
- -------------------
- -- Ureal_2_M_80 --
- -------------------
-
- function Ureal_2_M_80 return Ureal is
- begin
- return UR_2_M_80;
- end Ureal_2_M_80;
-
----------------
-- Ureal_Half --
----------------
return UR_M_0;
end Ureal_M_0;
+ -------------------
+ -- Ureal_M_10_36 --
+ -------------------
+
+ function Ureal_M_10_36 return Ureal is
+ begin
+ return UR_M_10_36;
+ end Ureal_M_10_36;
+
-----------------
-- Ureal_Tenth --
-----------------