[Ada] Another small edition to documentation of Ada.Text_IO.Fixed_IO
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 19 Sep 2020 08:42:51 +0000 (10:42 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 26 Oct 2020 08:59:12 +0000 (04:59 -0400)
gcc/ada/

* libgnat/a-tifiio.adb: Move around documentaton paragraph.

gcc/ada/libgnat/a-tifiio.adb

index f48239fd206f1b788bf2110b52c3b933567ed4eb..f6777f672988f51d6dc9781030187a00305d654d 100644 (file)
 --  solution. The downside however may be a too limited set of acceptable
 --  fixed point types.
 
---  Extra Precision
---  ---------------
-
---  Using a scaled divide which truncates and returns a remainder R,
---  another E trailing digits can be calculated by computing the value
---  (R * (10.0**E)) / Z using another scaled divide. This procedure
---  can be repeated to compute an arbitrary number of digits in linear
---  time and storage. The last scaled divide should be rounded, with
---  a possible carry propagating to the more significant digits, to
---  ensure correct rounding of the unit in the last place.
-
---  An extension of this technique is to limit the value of Q to 9 decimal
---  digits, since 32-bit integers can be much more efficient than 64-bit
---  integers to output.
-
 with Interfaces;                        use Interfaces;
 with System.Arith_64;                   use System.Arith_64;
 with System.Img_Real;                   use System.Img_Real;
@@ -260,6 +245,20 @@ package body Ada.Text_IO.Fixed_IO is
    --  in the denominator for the extra decimal scaling required, so case (3)
    --  will not overflow.
 
+   --  Extra Precision
+
+   --  Using a scaled divide which truncates and returns a remainder R,
+   --  another E trailing digits can be calculated by computing the value
+   --  (R * (10.0**E)) / Z using another scaled divide. This procedure
+   --  can be repeated to compute an arbitrary number of digits in linear
+   --  time and storage. The last scaled divide should be rounded, with
+   --  a possible carry propagating to the more significant digits, to
+   --  ensure correct rounding of the unit in the last place.
+
+   --  A variant of this technique is to limit the value of Q to 9 decimal
+   --  digits, since 32-bit integers can be much more efficient than 64-bit
+   --  integers to output.
+
    pragma Assert (System.Fine_Delta >= 2.0**(-63));
    pragma Assert (Num'Small in 2.0**(-80) .. 2.0**80);
    pragma Assert (Num'Fore <= 37);