libm: bring in 16 complex functions from NetBSD
authorJohn Marino <draco@marino.st>
Sun, 30 Nov 2014 21:23:15 +0000 (22:23 +0100)
committerJohn Marino <draco@marino.st>
Sun, 30 Nov 2014 23:46:58 +0000 (00:46 +0100)
commit51a20a6e36a735a8fdc39066a0e405c51e4fc539
tree3616ffd2d0e5d7e44eef43010e9cf9ad99568b61
parentb7b72b6236dd95a2ca9275ce9655ec581237e53a
libm: bring in 16 complex functions from NetBSD

FreeBSD is still missing a number of (obscure) complex functions that
causes GCC conclude that C99 is not supported.  Seven weeks ago, NetBSD
brought the functions into their base.

To avoid a repeat of the unholy mixture of libm from FreeBSD and NetBSD
that we had before, I've created a separate directory for NetBSD functions
called "gaps".  If/when FreeBSD acquires these functions, we can remove
files from "gaps" as we sync their equivalents.  The NetBSD sources were
modified as follows:
  * On the man pages, references to the float and double versions of the
    functions were removed when only the long double version was imported.
    This includes singular/plural changes, and file/function name changes.
  * Changed "#include <math.h>" to "#include "math.h"
  * Removed the include for namespace.h
  * Removed all "#if 0" blocks

The sixteen functions have symbol versions of DF402.0 and are:
  * cpow    cpowf   cpowl
  * clog    clogf   clogl
  * cacosl  casinl  catanl
  * ccoshl  csinhl  ctanhl
  * ccosl   csinl   ctanl
  * cexpl
33 files changed:
lib/libm/Makefile
lib/libm/Symbol.map
lib/libm/gaps/cacosl.3 [new file with mode: 0644]
lib/libm/gaps/cacosl.c [new file with mode: 0644]
lib/libm/gaps/casinl.3 [new file with mode: 0644]
lib/libm/gaps/casinl.c [new file with mode: 0644]
lib/libm/gaps/catanl.3 [new file with mode: 0644]
lib/libm/gaps/catanl.c [new file with mode: 0644]
lib/libm/gaps/ccoshl.3 [new file with mode: 0644]
lib/libm/gaps/ccoshl.c [new file with mode: 0644]
lib/libm/gaps/ccosl.3 [new file with mode: 0644]
lib/libm/gaps/ccosl.c [new file with mode: 0644]
lib/libm/gaps/cephes_subrl.c [new file with mode: 0644]
lib/libm/gaps/cephes_subrl.h [new file with mode: 0644]
lib/libm/gaps/cexpl.3 [new file with mode: 0644]
lib/libm/gaps/cexpl.c [new file with mode: 0644]
lib/libm/gaps/clog.3 [new file with mode: 0644]
lib/libm/gaps/clog.c [new file with mode: 0644]
lib/libm/gaps/clogf.c [new file with mode: 0644]
lib/libm/gaps/clogl.c [new file with mode: 0644]
lib/libm/gaps/cpow.3 [new file with mode: 0644]
lib/libm/gaps/cpow.c [new file with mode: 0644]
lib/libm/gaps/cpowf.c [new file with mode: 0644]
lib/libm/gaps/cpowl.c [new file with mode: 0644]
lib/libm/gaps/csinhl.3 [new file with mode: 0644]
lib/libm/gaps/csinhl.c [new file with mode: 0644]
lib/libm/gaps/csinl.3 [new file with mode: 0644]
lib/libm/gaps/csinl.c [new file with mode: 0644]
lib/libm/gaps/ctanhl.3 [new file with mode: 0644]
lib/libm/gaps/ctanhl.c [new file with mode: 0644]
lib/libm/gaps/ctanl.3 [new file with mode: 0644]
lib/libm/gaps/ctanl.c [new file with mode: 0644]
lib/libm/src/complex.h