Re: exp() versus the POSIX standard
От | Tom Lane |
---|---|
Тема | Re: exp() versus the POSIX standard |
Дата | |
Msg-id | 583847.1591919809@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | exp() versus the POSIX standard (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: exp() versus the POSIX standard
|
Список | pgsql-hackers |
I wrote: > The POSIX standard says this about the exp(3) function: > If x is -Inf, +0 shall be returned. > At least on my Linux box, our version does no such thing: > regression=# select exp('-inf'::float8); > ERROR: value out of range: underflow Now that I look, power() has similar issues: regression=# select power('1.1'::float8, '-inf'); ERROR: value out of range: underflow regression=# select power('0.1'::float8, 'inf'); ERROR: value out of range: underflow regression=# select power('-inf'::float8, '-3'); ERROR: value out of range: underflow regression=# select power('-inf'::float8, '-4'); ERROR: value out of range: underflow contradicting POSIX which says For |x| > 1, if y is -Inf, +0 shall be returned. For |x| < 1, if y is +Inf, +0 shall be returned. For y an odd integer < 0, if x is -Inf, -0 shall be returned. For y < 0 and not an odd integer, if x is -Inf, +0 shall be returned. regards, tom lane
В списке pgsql-hackers по дате отправления: