From 6fd29f2c013212ee6e652d8eccac50e42caf8c67 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sun, 3 Jan 1999 02:40:12 +0000
Subject: [PATCH] Fix for NAN generation.

---
 src/backend/utils/adt/numeric.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index 900d62d2d48..628aa6bb627 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -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;
 	}
-- 
GitLab