diff options
author | Arnaud Charlet <charlet@adacore.com> | 2020-10-30 11:17:29 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-11-27 04:15:40 -0500 |
commit | 9df8679166e3dde5bdc45b5ed3289ffcab1b20f1 (patch) | |
tree | 220d3aaddae6cead3b3d708311c17b7b4cba7ed2 | |
parent | 890cfc503ac71d96ac298a3aefa3b29fdcc33634 (diff) | |
download | gcc-9df8679166e3dde5bdc45b5ed3289ffcab1b20f1.zip gcc-9df8679166e3dde5bdc45b5ed3289ffcab1b20f1.tar.gz gcc-9df8679166e3dde5bdc45b5ed3289ffcab1b20f1.tar.bz2 |
[Ada] Error in Big_Real comparison
gcc/ada/
* libgnat/a-nbnbre.adb ("=", "<"): Fix.
-rw-r--r-- | gcc/ada/libgnat/a-nbnbre.adb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ada/libgnat/a-nbnbre.adb b/gcc/ada/libgnat/a-nbnbre.adb index ff5b448..e5d810e 100644 --- a/gcc/ada/libgnat/a-nbnbre.adb +++ b/gcc/ada/libgnat/a-nbnbre.adb @@ -29,8 +29,6 @@ -- -- ------------------------------------------------------------------------------ --- This is the default version of this package, based on Big_Integers only. - with Ada.Strings.Text_Output.Utils; with System.Img_Real; use System.Img_Real; @@ -85,14 +83,16 @@ package body Ada.Numerics.Big_Numbers.Big_Reals is --------- function "=" (L, R : Valid_Big_Real) return Boolean is - (abs L.Num = abs R.Num and then L.Den = R.Den); + (L.Num = R.Num and then L.Den = R.Den); --------- -- "<" -- --------- function "<" (L, R : Valid_Big_Real) return Boolean is - (abs L.Num * R.Den < abs R.Num * L.Den); + (L.Num * R.Den < R.Num * L.Den); + -- The denominator is guaranteed to be positive since Normalized is + -- always called when constructing a Valid_Big_Real ---------- -- "<=" -- |