Regression failure for floats

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Regression failure for floats
Date: 2004-03-14 04:33:56
Message-ID: 200403140433.i2E4Xuu16844@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I am seeing the following regression failure for current CVS. On my OS,
BSD/OS 4.3, it seems once you hit Infinity, you can't negate it.
/usr/include/math.h has:

/* Generate an overflow to create +Inf; the multiply shuts up gcc 1 */
#define HUGE_VAL (1e250*1e250) /* IEEE: positive infinity */

and our float4in code has:

else if (strcasecmp(num, "-Infinity") == 0)
val = -HUGE_VAL;

Seems that doesn't work for me.

---------------------------------------------------------------------------

*** ./expected/float4.out Sat Mar 13 23:07:10 2004
--- ./results/float4.out Sat Mar 13 23:10:30 2004
***************
*** 58,65 ****

SELECT ' -INFINiTY '::float4;
float4
! -----------
! -Infinity
(1 row)

-- bad special inputs
--- 58,65 ----

SELECT ' -INFINiTY '::float4;
float4
! ----------
! Infinity
(1 row)

-- bad special inputs

======================================================================

*** ./expected/float8.out Sat Mar 13 23:07:10 2004
--- ./results/float8.out Sat Mar 13 23:10:30 2004
***************
*** 58,65 ****

SELECT ' -INFINiTY '::float8;
float8
! -----------
! -Infinity
(1 row)

-- bad special inputs
--- 58,65 ----

SELECT ' -INFINiTY '::float8;
float8
! ----------
! Infinity
(1 row)

-- bad special inputs

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Wieck 2004-03-14 04:44:03 Re: [pgsql-hackers-win32] What's left?
Previous Message Bruce Momjian 2004-03-14 04:18:48 Re: [pgsql-hackers-win32] What's left?