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:
positiveinfinity */
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@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073