]> granicus.if.org Git - postgresql/commitdiff
Paranoia about unordered comparisons in IEEE float math. If we are
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 2 Jun 2001 17:12:12 +0000 (17:12 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 2 Jun 2001 17:12:12 +0000 (17:12 +0000)
given values that compare as unordered, make sure we reply that they
are equal, which is better than giving an arbitrary answer --- at least
it doesn't depend on which one is passed as which arg.

src/backend/utils/adt/float.c

index 06405d0cee152e4790585c03ef948a75e1bde8b4..42239cced021066975358312035c975e93205a9d 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.71 2001/05/03 19:00:36 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.72 2001/06/02 17:12:12 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -566,10 +566,10 @@ float4_cmp_internal(float4 a, float4 b)
        {
                if (a > b)
                        return 1;
-               else if (a == b)
-                       return 0;
-               else
+               else if (a < b)
                        return -1;
+               else
+                       return 0;
        }
 }
 
@@ -662,10 +662,10 @@ float8_cmp_internal(float8 a, float8 b)
        {
                if (a > b)
                        return 1;
-               else if (a == b)
-                       return 0;
-               else
+               else if (a < b)
                        return -1;
+               else
+                       return 0;
        }
 }