Add support for the error functions erf() and erfc().
authorDean Rasheed <dean.a.rasheed@gmail.com>
Tue, 14 Mar 2023 09:17:36 +0000 (09:17 +0000)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Tue, 14 Mar 2023 09:17:36 +0000 (09:17 +0000)
commitd5d574146d71c362852748c82ba8b9c873f5bf24
treeb9576eabe4977b350f2df44001c5c2779a7c6803
parent3a465cc6783f586096d9f885c3fc544d82eb8f19
Add support for the error functions erf() and erfc().

Expose the standard error functions as SQL-callable functions. These
are expected to be useful to people working with normal distributions,
and we use them here to test the distribution from random_normal().

Since these functions are defined in the POSIX and C99 standards, they
should in theory be available on all supported platforms. If that
turns out not to be the case, more work will be needed.

On all platforms tested so far, using extra_float_digits = -1 in the
regression tests is sufficient to allow for variations between
implementations. However, past experience has shown that there are
almost certainly going to be additional unexpected portability issues,
so these tests may well need further adjustments, based on the
buildfarm results.

Dean Rasheed, reviewed by Nathan Bossart and Thomas Munro.

Discussion: https://postgr.es/m/CAEZATCXv5fi7+Vu-POiyai+ucF95+YMcCMafxV+eZuN1B-=MkQ@mail.gmail.com
doc/src/sgml/func.sgml
src/backend/utils/adt/float.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/test/regress/expected/float8.out
src/test/regress/expected/random.out
src/test/regress/sql/float8.sql
src/test/regress/sql/random.sql