Fix our <complex.h> support. We build libm with -fvisibility=hidden, so we weren't exporting any of the <complex.h> functions. We also weren't building many of the functions anyway. We were also missing the complex inverse trigonometric functions. And because we didn't even have perfunctory "call each function once" tests, we didn't notice that we weren't exporting any symbols, so this patch adds at least that level of testing. Change-Id: Ibcf2843f507126c51d134cc5fc8d67747e033a0d
Catch up on upstream's round/roundf/roundl. Not sure how we missed these, but better late than never... Change-Id: Ib08d1bb6e340a1907cbeb1cbe220e33f70642bdc
Sync libm with upstream. Change-Id: I3b4e2c9c6ce6c5934f270a51ce5eb9154c5805d5
Fix lgamma_r/lgammaf_r/lgammal_r for -0. Upstream has implemented lgammal/lgammal_r for ld128, and fixed the sign problem we reported with all the lgamma*_r functions and -0. Bug: 17471883 Change-Id: Ibb175d9cab67efae75f1010796fd44c9ba6ce4fc
Get new coshl, sinhl, and tanhl implementations from upstream. Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
Sync libm with upstream. Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE). <features.h> is supposed to take user-settable stuff like _GNU_SOURCE and _BSD_SOURCE and turn them into __USE_GNU and __USE_BSD for use in the C library headers. Instead, bionic used to unconditionally define _BSD_SOURCE and _GNU_SOURCE, and then test _GNU_SOURCE in the header files (which makes no sense whatsoever). Bug: 14659579 Change-Id: Ice4cf21a364ea2e559071dc8329e995277d5b987