freebsd-dev/lib
Michal Meloun e1b98d0774 Implement sincos, sincosf, and sincosl.
The primary benefit of these functions is that argument
reduction is done once instead of twice in independent
calls to sin() and cos().

* lib/msun/Makefile:
  . Add s_sincos[fl].c to the build.
  . Add sincos.3 documentation.
  . Add appropriate MLINKS.

* lib/msun/Symbol.map:
  . Expose sincos[fl] symbols in dynamic libm.so.

* lib/msun/man/sincos.3:
  . Documentation for sincos[fl].

* lib/msun/src/k_sincos.h:
  . Kernel for sincos() function.  This merges the individual kernels
    for sin() and cos().  The merger offered an opportunity to re-arrange
    the individual kernels for better performance.

* lib/msun/src/k_sincosf.h:
   . Kernel for sincosf() function.  This merges the individual kernels
     for sinf() and cosf(). The merger offered an opportunity to re-arrange
     the individual kernels for better performance.

* lib/msun/src/k_sincosl.h:
   . Kernel for sincosl() function.  This merges the individual kernels
     for sinl() and cosl(). The merger offered an opportunity to re-arrange
     the individual kernels for better performance.

* lib/msun/src/math.h:
  . Add prototytpes for sincos[fl]().

* lib/msun/src/math_private.h:
  . Add RETURNV macros.  This is needed to reset fpsetprec on I386
    hardware for a function with type void.

* lib/msun/src/s_sincos.c:
  . Implementation of sincos() where sin() and cos() were merged into
    one routine and possibly re-arranged for better performance.

* lib/msun/src/s_sincosf.c:
  . Implementation of sincosf() where sinf() and cosf() were merged into
    one routine and possibly re-arranged for better performance.

* lib/msun/src/s_sincosl.c:
  . Implementation of sincosl() where sinl() and cosl() were merged into
    one routine and possibly re-arranged for better performance.

PR:		215977, 218300
Submitted by:	Steven G. Kargl <sgk@troutmask.apl.washington.edu>
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D10765
2017-05-28 06:13:38 +00:00
..
atf Don't bake all of CC/CPP/CXX into CFLAGS 2016-09-01 02:42:11 +00:00
clang Add function and data sections when building llvm, clang, lld and lldb, 2017-04-20 21:00:09 +00:00
csu Rework r234502 to include a modified CFLAGS along with ACFLAGS. 2017-04-07 19:53:14 +00:00
lib80211 Don't end up manpage titles with a full stop. 2017-05-24 21:02:53 +00:00
libalias Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:34:59 +00:00
libarchive Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libauditd Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:55:21 +00:00
libbegemot Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:55:43 +00:00
libblacklist DIRDEPS_BUILD: Connect new directories and update dependencies. 2016-06-03 19:25:30 +00:00
libblocksruntime Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:56:10 +00:00
libbluetooth Make cached Bluetooth LE host advertise information visible from userland. 2017-04-27 15:03:24 +00:00
libbsdstat Fix off by one error in index limit calculation 2016-05-16 15:42:59 +00:00
libbsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
libbsnmp DIRDEPS_BUILD: Update dependencies. 2017-05-09 01:48:23 +00:00
libbz2 Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:58:50 +00:00
libc Fix a -Wunused-but-set-variable warning reported by gcc 6.3.0 2017-05-28 05:31:18 +00:00
libc_nonshared Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:04:25 +00:00
libc++ Belatedly add variant.cpp to libc++. This completes the support for the 2017-02-19 14:53:59 +00:00
libc++experimental Add PICFLAG to build libc++experimental.a, so it can be used in all 2017-05-21 21:33:15 +00:00
libcalendar First pass through library packaging. 2016-02-04 21:16:35 +00:00
libcam Use __FBSDID instead of the license agreement to embed the $FreeBSD$ RCS keyword 2017-04-06 05:36:35 +00:00
libcapsicum capsicum_helpers: Add LOOKUP flag 2016-12-16 01:37:44 +00:00
libcasper In libcasper, prefer to send a function index or service name over the IPC 2017-03-23 14:35:21 +00:00
libclang_rt Merge ^/head r312968 through r313054. 2017-02-01 21:21:01 +00:00
libcom_err Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:51:36 +00:00
libcompat Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libcompiler_rt [libcompiler-rt] add bswapdi2/bswapsi2 2017-05-21 23:15:32 +00:00
libcrypt Increase WARNS for libcrypt tests 2017-03-11 00:07:04 +00:00
libcuse libcuse: make more use of the howmany() macro when available. 2016-04-26 01:20:16 +00:00
libcxxrt Surround any unmangled C++ names in libcxxrt's version map with 'extern 2017-02-22 18:44:57 +00:00
libdevctl Implement 'devctl clear driver' to undo a previous 'devctl set driver'. 2016-08-29 22:48:36 +00:00
libdevdctl Use .CURDIR:H instead of .CURDIR to simplify pathing in output, etc 2017-01-20 04:55:14 +00:00
libdevinfo MFH 2016-04-04 23:55:32 +00:00
libdevstat First pass through library packaging. 2016-02-04 21:16:35 +00:00
libdpv MFH 2016-03-02 16:14:46 +00:00
libdwarf Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:54:21 +00:00
libedit editline.3: Add missing argument to H_SET description 2017-04-28 21:05:28 +00:00
libefivar Fix a coverity-discovered NULL pointer dereference. 2017-03-23 02:30:57 +00:00
libelf Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:54:09 +00:00
libelftc libelftc: bump version number for r317075 2017-04-17 23:57:42 +00:00
libevent [private] add libevent1 and sqlite3 include files for our private libraries. 2017-03-27 22:34:43 +00:00
libexecinfo Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:53:40 +00:00
libexpat Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:53:45 +00:00
libfetch r308996 broke IP literals by assuming that a colon could only occur as 2017-03-17 14:18:52 +00:00
libfigpar MFH 2016-03-02 16:14:46 +00:00
libgcc_eh libcc_{s,eh}: build without SSP 2016-11-11 23:28:07 +00:00
libgcc_s Apply r315689 to lib/libgcc_s as well to unbreak the gcc xtoolchain build 2017-03-28 19:01:01 +00:00
libgeom Remove getpagesize(3) error checking added in r317312 2017-05-28 00:28:11 +00:00
libgpio Use GPIOTOGGLE to toggle the pin state instead of read, modify and write. 2016-04-19 15:18:31 +00:00
libgssapi lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libiconv_modules lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libifconfig Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libipsec Add large replay widow support to setkey(8) and libipsec. 2017-04-13 14:44:17 +00:00
libjail libjail: make allocation in jailparam_all() somewhat more robust. 2017-04-16 19:23:10 +00:00
libkiconv Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:50:46 +00:00
libkvm Fix #if conditional added in r319008 2017-05-27 23:23:22 +00:00
libldns Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:50:19 +00:00
liblzma Use SRCTOP-relative paths and .CURDIR with :H instead of ".." specified paths 2017-01-20 04:46:20 +00:00
libmagic Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:45:09 +00:00
libmd Fix bootstrapping libmd on older systems after r314709. 2017-03-06 21:06:55 +00:00
libmemstat Fix buildworld for powerpc. 2016-11-20 06:10:12 +00:00
libmilter Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libmp Increase WARNS for libmp tests 2017-03-11 00:08:11 +00:00
libmt Add LTO-8 density codes. 2017-05-11 13:46:30 +00:00
libnandfs First pass through library packaging. 2016-02-04 21:16:35 +00:00
libnetbsd libnetbsd: add emalloc and friends 2017-04-06 14:36:08 +00:00
libnetgraph First pass through library packaging. 2016-02-04 21:16:35 +00:00
libngatm Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:41:53 +00:00
libnv Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:40:55 +00:00
libopenbsd First pass through library packaging. 2016-02-04 21:16:35 +00:00
libopie Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:40:10 +00:00
libpam Add options to capture stdout and / or stderr and pass the output on 2017-03-22 13:16:04 +00:00
libpathconv Fix two CURDIR references in comments that should be SRCTOP 2017-03-12 18:59:05 +00:00
libpcap Stop installing pcap-int.h, which is the internal interface for libpcap. 2017-03-07 16:06:53 +00:00
libpe Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:37:03 +00:00
libpjdlog MFH 2016-03-02 16:14:46 +00:00
libpmc Don't end up manpage titles with a full stop. 2017-05-24 21:02:53 +00:00
libproc Ensure that the mappings table is populated in proc_objname(). 2017-05-22 23:21:24 +00:00
libprocstat procstat(1): Add TCP socket send/recv buffer size 2017-05-26 22:17:44 +00:00
libradius The NAS-Identifier attribute is a string, not an integer. 2016-05-24 11:44:43 +00:00
librpcsec_gss Fix a potential problem where we might try to shift by more than 31 bits 2017-04-25 10:29:08 +00:00
librpcsvc Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:36:28 +00:00
librss librss: simplify some NULL checks. 2017-02-27 00:10:00 +00:00
librt Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:36:06 +00:00
librtld_db Avoid double-closing an fd if elf_begin() fails. 2017-03-22 18:14:55 +00:00
libsbuf Use __FBSDID instead of the license agreement to embed the $FreeBSD$ RCS keyword 2017-04-06 05:36:35 +00:00
libsdp lib: minor spelling fixes in comments. 2016-05-01 19:37:33 +00:00
libsm Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:36 +00:00
libsmb Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:00 +00:00
libsmdb Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:18 +00:00
libsmutil Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:34:34 +00:00
libsqlite3 [private] add libevent1 and sqlite3 include files for our private libraries. 2017-03-27 22:34:43 +00:00
libstand Use the usual FreeBSD spelling for the DHCP user class 2017-05-27 14:06:57 +00:00
libstdbuf First pass through library packaging. 2016-02-04 21:16:35 +00:00
libstdthreads Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:33:45 +00:00
libsysdecode Improve the decoding of the third argument of the socket() call. 2017-05-25 14:27:54 +00:00
libtacplus First pass through library packaging. 2016-02-04 21:16:35 +00:00
libtelnet Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:32:36 +00:00
libthr libthr: increase WARNS to the default (6) 2017-05-26 15:57:54 +00:00
libthread_db libthread_db: unbreak build due to sign/unsigned comparison. 2017-04-20 21:01:59 +00:00
libucl Use SRCTOP to find the sources of libucl 2016-10-15 13:17:27 +00:00
libufs Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libugidfw First pass through library packaging. 2016-02-04 21:16:35 +00:00
libulog Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:29:23 +00:00
libunbound Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:31:19 +00:00
libusb Fix libusb20_dev_get_desc(3) to use the "vendor product" order, not 2016-10-22 14:37:13 +00:00
libusbhid Sync ^/vendor/NetBSD/tests/dist with upstream 2017-01-12 07:26:39 +00:00
libutil lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libvgl MFH 2016-04-13 16:19:50 +00:00
libvmmapi Capsicum support for bhyve(8). 2017-02-14 13:35:59 +00:00
libwrap Use SRCTOP instead of .CURDIR-relative path in .PATH directive 2017-01-18 18:14:50 +00:00
libxo Import libxo-0.7.2; add xo_options.7. 2017-05-16 18:46:56 +00:00
liby Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libypclnt Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:28:41 +00:00
libz Add missing double quote to fix r316635 commit. 2017-04-09 03:50:48 +00:00
libzstd DIRDEPS_BUILD: Connect new directories. 2017-05-09 01:48:14 +00:00
msun Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +00:00
ncurses Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
Makefile [lib] disable libc++experimental on mips platforms for now. 2017-05-25 05:02:43 +00:00
Makefile.inc