freebsd-skq/lib
Bruce Evans 21b0341c80 Start trying to make the float precision trig functions actually worth
using under FreeBSD.  Before this commit, all float precision functions
except exp2f() were implemented using only float precision, apparently
because Cygnus needed this in 1993 for embedded systems with slow or
inefficient double precision.  For FreeBSD, except possibly on systems
that do floating point entirely in software (very old i386 and now
arm), this just gives a more complicated implementation, many bugs,
and usually worse performance for float precision than for double
precision.  The bugs and worse performance were particulary large in
arg reduction for trig functions.  We want to divide by an approximation
to pi/2 which has as many as 1584 bits, so we should use the widest
type that is efficient and/or easy to use, i.e., double.  Use fdlibm's
__kernel_rem_pio2() to do this as Sun apparently intended.  Cygnus's
k_rem_pio2f.c is now unused.  e_rem_pio2f.c still needs to be separate
from e_rem_pio2.c so that it can be optimized for float args.  Similarly
for long double precision.

This speeds up cosf(x) on large args by a factor of about 2.  Correct
arg reduction on large args is still inherently very slow, so hopefully
these args rarely occur in practice.  There is much more efficiency
to be gained by using double precision to speed up arg reduction on
medium and small float args.
2005-10-29 08:15:29 +00:00
..
bind Disable thread support in BIND. It appears to reduce performance rather 2005-07-25 14:44:11 +00:00
csu Fixed profiling of main() for amd64 and i386. This started rotting 2005-10-07 22:13:17 +00:00
libalias Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libarchive Fix installworld breakage. <sigh> 2005-10-14 16:32:50 +00:00
libatm Enforce style.Makefile(5). 2005-04-22 18:57:32 +00:00
libautofs Fix all the spelling mistakes I could find in the man pages for words 2005-07-31 03:30:48 +00:00
libbegemot Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libbluetooth Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libbsnmp Catch up with the import of bsnmp-1.11. Add a couple of new 2005-10-04 15:02:07 +00:00
libbz2 Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libc Make __sem_timedwait() consistent with the sem_timedwait() prototype. 2005-10-18 17:24:03 +00:00
libc_r - Prefix MUTEX_TYPE_MAX with PTHREAD_ to avoid namespace pollution. 2005-08-19 21:31:42 +00:00
libcalendar Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
libcam Better memory handling: 2005-07-13 10:40:07 +00:00
libcom_err
libcompat Expand contractions. 2005-02-13 23:45:54 +00:00
libcrypt Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libdevinfo Add __BEGIN_DECLS/__END_DECLS so that this header can be included in C++ 2005-08-31 14:57:39 +00:00
libdevstat Remove an unused variable. 2005-10-04 22:00:35 +00:00
libdisk Merge two slice_type_name() functions. 2005-04-13 13:42:38 +00:00
libedit Add el_get to the NAME section. 2005-10-20 08:26:03 +00:00
libexpat Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libfetch Ignore HTTP_PROXY if it is defined but empty. This was already handled 2005-08-24 12:28:05 +00:00
libform
libftpio Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libgeom Check for NULL pointer return. 2005-05-24 10:10:38 +00:00
libgpib Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libio Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
libipsec Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libipx Various markup and spelling fixes. 2004-12-29 02:18:24 +00:00
libkiconv - Fix checking range of strings of struct iconv_add_in in libsmb and libkiconv, 2005-08-24 12:38:26 +00:00
libkse Include files thr_condattr_pshared.c and thr_mattr_pshare.c. 2005-10-24 05:48:32 +00:00
libkvm Fix a well duplicated fencepost error that stopped crashdumps being 2005-10-20 05:41:38 +00:00
libmagic Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libmd Correct type. 2005-09-14 10:42:51 +00:00
libmemstat The "Mbuf" zone was renamed "mbuf" to improve consistency, but the code 2005-08-15 10:24:20 +00:00
libmenu
libmilter NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
libmp Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libncp Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libncurses Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libnetgraph Recognize all current standard node types. 2005-10-25 20:58:30 +00:00
libngatm Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libopie Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libpam Commenting out WARNS actually brought it up to 4. 2005-09-28 14:36:16 +00:00
libpanel
libpcap bump SHLIB_MAJOR as libpcap refers getnetbyname(3). 2005-06-03 09:41:26 +00:00
libpmc Add COMPATIBILITY and HISTORY sections. 2005-07-21 06:44:54 +00:00
libpthread Include files thr_condattr_pshared.c and thr_mattr_pshare.c. 2005-10-24 05:48:32 +00:00
libradius Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
librpcsvc Fix the source path. 2005-06-04 10:48:21 +00:00
libsbuf
libsdp Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libsm Add a new source file in sendmail 8.13.4 2005-06-07 04:18:25 +00:00
libsmb Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libsmdb For variables that are only checked with defined(), don't provide 2004-10-24 15:33:08 +00:00
libsmutil For variables that are only checked with defined(), don't provide 2004-10-24 15:33:08 +00:00
libstand Implement the full range of ISO9660 number conversion routines in iso.h. 2005-10-18 13:35:08 +00:00
libtacplus Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libtelnet NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
libthr Kill unused variable declaration. 2005-10-29 03:08:43 +00:00
libthread_db Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libufs minor style.Makefile(5) fixes: 2005-09-26 06:23:43 +00:00
libugidfw Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libusbhid Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libutil When removing the local domain, only do so when the result will be a 2005-10-05 04:42:20 +00:00
libvgl Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libwrap Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
liby Drop useless with NO_PIC SHLIB_MAJOR. 2005-07-20 14:35:26 +00:00
libypclnt Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libz Correct a buffer overflow which can occur when decompressing a 2005-07-27 08:41:17 +00:00
msun Start trying to make the float precision trig functions actually worth 2005-10-29 08:15:29 +00:00
ncurses Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
Makefile Disconnect libc_r from buildworld, it is still kept in the tree to 2005-10-27 03:09:20 +00:00
Makefile.inc Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00