[Ada] Document characteristics of ordinary fixed point types
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 18 Sep 2020 07:04:12 +0000 (09:04 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 26 Oct 2020 08:59:10 +0000 (04:59 -0400)
gcc/ada/

* doc/gnat_rm/implementation_defined_characteristics.rst: Adjust
the entries of 3.5.9(8) and 3.5.9(10).
* gnat_rm.texi: Regenerate.

gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst
gcc/ada/gnat_rm.texi

index 71e18343532bff6e7aec8ef01f789845d0057440..31748257259521d69673e17e8497109e0a6f307e 100644 (file)
@@ -147,18 +147,19 @@ Type                   Representation
 *
   "The small of an ordinary fixed point type.  See 3.5.9(8)."
 
-``Fine_Delta`` is 2**(-63)
+The small is the largest power of two that does not exceed the delta.
 
 *
   "What combinations of small, range, and digits are
   supported for fixed point types.  See 3.5.9(10)."
 
-Any combinations are permitted that do not result in a small less than
-``Fine_Delta`` and do not result in a mantissa larger than 63 bits.
-If the mantissa is larger than 53 bits on machines where Long_Long_Float
-is 64 bits (true of all architectures except x86), then the output from
-Text_IO is accurate to only 53 bits, rather than the full mantissa.  This
-is because floating-point conversions are used to convert fixed point.
+For an ordinary fixed point type, the small must lie in 2**(-80) .. 2**80
+and the range in -10.0**36 .. 10.0**36; any combination is permitted that
+does not result in a mantissa larger than 63 bits. However, if the mantissa
+is larger than 53 bits on machines where Long_Long_Float is 64 bits (true
+of all architectures except x86), then the output from Text_IO may be
+accurate to only 53 bits, rather than the full mantissa.  This is because
+floating-point conversions may be used to convert fixed point.
 
 
 *
index 0ec85094c4da91c7cef8ee246c26386a4dc1adf0..9992cf4a13f5ceef1b1023783ab1ee5e3e164bc1 100644 (file)
@@ -15675,7 +15675,7 @@ Representation
 "The small of an ordinary fixed point type.  See 3.5.9(8)."
 @end itemize
 
-@code{Fine_Delta} is 2**(-63)
+The small is the largest power of two that does not exceed the delta.
 
 
 @itemize *
@@ -15685,12 +15685,13 @@ Representation
 supported for fixed point types.  See 3.5.9(10)."
 @end itemize
 
-Any combinations are permitted that do not result in a small less than
-@code{Fine_Delta} and do not result in a mantissa larger than 63 bits.
-If the mantissa is larger than 53 bits on machines where Long_Long_Float
-is 64 bits (true of all architectures except x86), then the output from
-Text_IO is accurate to only 53 bits, rather than the full mantissa.  This
-is because floating-point conversions are used to convert fixed point.
+For an ordinary fixed point type, the small must lie in 2**(-80) .. 2**80
+and the range in -10.0**36 .. 10.0**36; any combination is permitted that
+does not result in a mantissa larger than 63 bits. However, if the mantissa
+is larger than 53 bits on machines where Long_Long_Float is 64 bits (true
+of all architectures except x86), then the output from Text_IO may be
+accurate to only 53 bits, rather than the full mantissa.  This is because
+floating-point conversions may be used to convert fixed point.
 
 
 @itemize *