aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/numeric.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-01-03 02:40:12 +0000
committerBruce Momjian <bruce@momjian.us>1999-01-03 02:40:12 +0000
commit6fd29f2c013212ee6e652d8eccac50e42caf8c67 (patch)
tree458e05771d2d1eff8cf44839e6342d26cbdf929d /src/backend/utils/adt/numeric.c
parent61e16adebc488ed815db8aa8822dd1371f8487e9 (diff)
downloadpostgresql-6fd29f2c013212ee6e652d8eccac50e42caf8c67.tar.gz
postgresql-6fd29f2c013212ee6e652d8eccac50e42caf8c67.zip
Fix for NAN generation.
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
-rw-r--r--src/backend/utils/adt/numeric.c10
1 files 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;
}