From c30b8f9dbda8038afad9f829267b058f9bd1399c Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 26 Sep 1997 20:32:02 +0000 Subject: [PATCH] AIX float fix. --- src/backend/utils/adt/float.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c index 64da51ada4..6917e52f24 100644 --- a/src/backend/utils/adt/float.c +++ b/src/backend/utils/adt/float.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.23 1997/09/24 15:40:59 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.24 1997/09/26 20:32:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1518,14 +1518,31 @@ double x; #ifndef HAVE_ISINF #if defined(aix) + #ifdef CLASS_CONFLICT /* we want the math symbol */ #undef class #endif /* CLASS_CONFICT */ +/* The gcc doesn't support isinf() (without libgcc?) so we + * have to do it - Gerhard Reitofer + */ +#ifdef __GNUC__ + static int -isinf(x) -double x; +isinf(double x) +{ + if (x == HUGE_VAL) + return(1); + if (x == -HUGE_VAL) + return(-1); + return(0); +} + +#else /* __GNUC__ */ + +static int +isinf(double x) { int fpclass = class(x); @@ -1536,6 +1553,8 @@ double x; return (0); } +#endif /* __GNUC__ */ + #endif /* aix */ #if defined(ultrix4) -- 2.40.0