On Sun, Jun 14, 2020 at 03:00:11PM +0000, Tom Lane wrote:
> Fix behavior of exp() and power() for infinity inputs.
>
> Previously, these functions tended to throw underflow errors for
> negative-infinity exponents. The correct thing per POSIX is to
> return 0, so let's do that instead. (Note that the SQL standard
> is silent on such issues, as it lacks the concepts of either Inf
> or NaN; so our practice is to follow POSIX whenever a corresponding
> C-library function exists.)
>
> Also, add a bunch of test cases verifying that exp() and power()
> actually do follow POSIX for Inf and NaN inputs. While this patch
> should guarantee that exp() passes the tests, power() will not unless
> the platform's pow(3) is fully POSIX-compliant. I already know that
> gaur fails some of the tests, and I am suspicious that the Windows
> animals will too; the extent of compliance of other old platforms
> remains to be seen. We might choose to drop failing test cases, or
> to work harder at overriding pow(3) for these cases, but first let's
> see just how good or bad the situation is.
The Windows servers don't actually cay anything here, but sidewinder
and hoverfly complain, on top of gaur of course:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hoverfly&dt=2020-06-14%2015%3A05%3A33
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=sidewinder&dt=2020-06-14%2018%3A45%3A28
--
Michael