summaryrefslogtreecommitdiffstats
path: root/libm/upstream-freebsd
Commit message (Collapse)AuthorAgeFilesLines
* Fix our <complex.h> support.Elliott Hughes2014-11-062-0/+1032
| | | | | | | | | | | | | | | 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.Elliott Hughes2014-10-103-24/+47
| | | | | | Not sure how we missed these, but better late than never... Change-Id: Ib08d1bb6e340a1907cbeb1cbe220e33f70642bdc
* Sync libm with upstream.Elliott Hughes2014-10-097-288/+99
| | | | Change-Id: I3b4e2c9c6ce6c5934f270a51ce5eb9154c5805d5
* Fix lgamma_r/lgammaf_r/lgammal_r for -0.Elliott Hughes2014-09-186-101/+466
| | | | | | | | 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.Elliott Hughes2014-09-124-3/+433
| | | | Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
* Sync libm with upstream.Elliott Hughes2014-09-1219-413/+918
| | | | Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
* Clean-up _fpmath and fake_long_doublesCalin Juravle2014-04-233-139/+34
| | | | | | | | | | | | | | - promoted IEEEld2bits to fpmath since most of the where the same for diffrent archs - removed _fpmath - reinstated weak_references - moved isfinite and isnormal to libc - clean up fake_long_doubles - clean up some useless ifdefs - added missing nexttoward* tests Bug: 14134235 Change-Id: I95639c4885653fe47fd7dc0570ee5bb3389bbc6b
* Reimplement isinf/isnan/fpclassify.Elliott Hughes2014-04-141-65/+0
| | | | | | | | | | | | | | | | Also move isinf and isnan into libc like everyone else. Also move fpclassify to libc like the BSDs (but unlike glibc). We need this to be able to upgrade our float/double/long double parsing to gdtoa. Also add some missing aliases. We now have all of: isnan, __isnan, isnanf, __isnanf, isnanl, __isnanl, isinf, __isinf, isinff, __isinff, isinfl, __isinfl, __fpclassify, __fpclassifyd, __fpclassifyf, __fpclassifyl. Bug: 13469877 Change-Id: I407ffbac06c765a6c5fffda8106c37d7db04f27d
* Emit warnings when linking against imprecise math functionsCalin Juravle2014-04-021-69/+0
| | | | Change-Id: I3da7b8396a64d7899fcb89452c879806a8a511ff
* Fix LP64 libm for 128-bit long doublesCalin Juravle2014-03-2416-1/+2621
| | | | | | | | | | | | | * reworked amd64/_fpmath.h and arm64/_fpmath.h to support 128-bit long doubles. * improved tests to cover long double cases * made modfl an alias for LP32 Tests pass on x86, x86_64, arm, arm64 and mips. Bug: 12921273 Change-Id: Ibe39acde57972447a8950fa45b1e702acc68ebeb
* Update libm to the upstream head (2014.03.13)Calin Juravle2014-03-134-100/+72
| | | | | | | The most relevant changes are the ones in s_erff.c which should improve the overall speed of exececution and the maximum error in ULP. Change-Id: I7bd867f902db418db67f02cd58578624357b1ee8
* Take upstream libm changes.Elliott Hughes2013-06-1221-22/+383
| | | | | | Mostly workarounds for GCC and Clang bugs. Change-Id: I4ef428a42d4ac6d622659053711a8cc416925727
* Upgrade libm.Elliott Hughes2013-02-01211-0/+20309
This brings us up to date with FreeBSD HEAD, fixes various bugs, unifies the set of functions we support on ARM, MIPS, and x86, fixes "long double", adds ISO C99 support, and adds basic unit tests. It turns out that our "long double" functions have always been broken for non-normal numbers. This patch fixes that by not using the upstream implementations and just forwarding to the regular "double" implementation instead (since "long double" on Android is just "double" anyway, which is what BSD doesn't support). All the tests pass on ARM, MIPS, and x86, plus glibc on x86-64. Bug: 3169850 Bug: 8012787 Bug: https://code.google.com/p/android/issues/detail?id=6697 Change-Id: If0c343030959c24bfc50d4d21c9530052c581837