aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-10-30 11:17:29 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-11-27 04:15:40 -0500
commit9df8679166e3dde5bdc45b5ed3289ffcab1b20f1 (patch)
tree220d3aaddae6cead3b3d708311c17b7b4cba7ed2
parent890cfc503ac71d96ac298a3aefa3b29fdcc33634 (diff)
downloadgcc-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.adb8
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
----------
-- "<=" --