]> granicus.if.org Git - postgresql/commitdiff
Fix for NAN generation.
authorBruce Momjian <bruce@momjian.us>
Sun, 3 Jan 1999 02:40:12 +0000 (02:40 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 3 Jan 1999 02:40:12 +0000 (02:40 +0000)
src/backend/utils/adt/numeric.c

index 900d62d2d4819dc6bc940a07ccd0ee71e52bc7da..628aa6bb6275eba7eca7cdf93facab9a4f5ed991 100644 (file)
@@ -5,7 +5,7 @@
  *
  *     1998 Jan Wieck
  *
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.3 1999/01/01 04:17:13 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.4 1999/01/03 02:40:12 momjian Exp $
  *
  * ----------
  */
@@ -1722,11 +1722,13 @@ numeric_float8(Numeric num)
 
        if (NUMERIC_IS_NAN(num))
        {
+               float64 dummy = 1;
+               
                result = (float64)palloc(sizeof(float64data));
 #ifdef NAN
                *result = NAN;
 #else
-               *result = num;
+               *result = (dummy-dummy)/(dummy-dummy); /* generate NAN */
 #endif
                return result;
        }
@@ -1776,11 +1778,13 @@ numeric_float4(Numeric num)
 
        if (NUMERIC_IS_NAN(num))
        {
+               float32 dummy = 1;
+               
                result = (float32)palloc(sizeof(float32data));
 #ifdef NAN
                *result = NAN;
 #else
-               *result = num;
+               *result = (dummy-dummy)/(dummy-dummy); /* generate NAN */
 #endif
                return result;
        }