18b17e97757a59718a23f8128dfc91c016df08b1 |
|
07-Jun-2014 |
Elliott Hughes <enh@google.com> |
Add a regression test for two libm bugs we didn't have. Reported on the OpenBSD list, but we already had the fix for one from FreeBSD, and I think the other only affected ld80 anyway. Worth having tests thuogh. Change-Id: Ic4bbeb2384fd578a3ef13e4907be83deda50815f
|
de9ac710534626e6796ea885f8480fc4cfd64158 |
|
20-May-2014 |
Elliott Hughes <enh@google.com> |
Use -fvisibility=hidden to build libm. Bug: 11156955 Change-Id: I77b7772a44313a1eb3970f5d2c8e2af63690efa4
|
9a5a3e8e74e2c6d7850ab29711189acf0f7378a2 |
|
06-May-2014 |
Elliott Hughes <enh@google.com> |
Fix <math.h> to quieten most of our warnings. I've reported the wcsftime bug upstream, but we really just want to use -D to ensure the buggy code isn't built. (I've also brought our strftime a bit closer to upstream now we have the right define.) I don't think upstream is likely to fix all their sign-compare and uninitialized warnings, so let's just silence them. As for libm, again upstream isn't likely to fix all their warnings, and silencing those made the ones that were our fault stand out. I've fixed our <math.h> to fix the warnings caused by our lack of definitions for the non-imprecise long-double functions. I checked the C99 standard, and all these functions are there. Change-Id: Iee8e1182c1db375058fb2c451eceb212bab47a37
|
1abc9ff6a5b5f8a9925f1b8d9d333bc5bc7d407f |
|
17-Apr-2014 |
Calin Juravle <calin@google.com> |
Clean-up _fpmath and fake_long_doubles - 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
|
02c78a386739a8a2b3007efeb00a9ca04132100a |
|
12-Apr-2014 |
Elliott Hughes <enh@google.com> |
Reimplement isinf/isnan/fpclassify. 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
|
d8d6feed3add3965f481dcdd6e1bb259a46f21c2 |
|
01-Apr-2014 |
Calin Juravle <calin@google.com> |
Fix modf* tests Use a value that can be exactly represented. Change-Id: Idf3b1db5e6042fb49c1f591f25f9eee656659ece
|
b7afa9df2552c6a6889a43c6a1722e1ce46f1969 |
|
01-Apr-2014 |
Calin Juravle <calin@google.com> |
Changed long double literal suffix from 'l' to 'L'. Change-Id: Id569f2d335b0930704d12ad7f388cb98b65f3ab7
|
c8564f2df2a85a753e25bf48b4eefbf8379fe31a |
|
27-Mar-2014 |
Calin Juravle <calin@google.com> |
Fix math tests. Bug: 13657654 Change-Id: I39b2f13b5b3d3e6897618ac3aed49a0a08458dd0
|
133bd09334cb28b45cca1ca0e5b4e22a9e5b68e5 |
|
25-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG (cherry picked from commit 1711c6ea3a0d891da665325c75738a68bd7d501f) Change-Id: Ia64676b2b904f042fec678003e3f2cd5bd82b510
|
4d77c1151c40010d137e4a2fa8629bff4bea72b0 |
|
14-Mar-2014 |
Calin Juravle <calin@google.com> |
Fix LP64 libm for 128-bit long doubles * 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
|
5f6f4a956cd630f873fe41058e96262f897f4bc9 |
|
19-Feb-2014 |
Narayan Kamath <narayan@google.com> |
Fix signbit / infinite / isinf / isnan unit tests. Turns out stlport isn't broken. <cmath> (included transitively via gtest in our case) is not required to make C99 math macros (like signbit) available, nor is it required to preserve them if they're already defined. It is only required to make the equivalent functions in namespace std available. I couldn't find any documentation of required behaviour for programs that include both <math.h> and <cmath>. I've verified experimentally that llvm's libc++ and gnu stl behave the same as stlport. bug: 12935307 Change-Id: I9dc5cc0fd9f4f259abc8eefb280177cdd092a94b
|
f04935c85e0b466f0d30d2cd4c0fa2fff62e7d6d |
|
21-Dec-2013 |
Christopher Ferris <cferris@google.com> |
Make sure that the same tests are on all platforms. In order to be able to generate a list of tests for cts, the same set of tests must exist across all platforms. This CL adds empty tests where a test was conditionally compiled out. This CL creates a single library libBionicTests that includes all of the tests found in bionic-unit-tests-static. Also fix a few missing include files in some test files. Tested by running and compiling the tests for every platform and verifying the same number of tests are on each platform. Change-Id: I9989d4bfebb0f9c409a0ce7e87169299eac605a2
|
af64dad4796ab4f077e2f2ba1e90cc56b6575d63 |
|
18-Nov-2013 |
Narayan Kamath <narayan@google.com> |
Add test case for 1^NaN Should be 1. Change-Id: I6cf723a419f51d3bda58286a538774b71276c7b5
|
6a8f00d49c30107903f2449ae563cfee51b48468 |
|
13-Nov-2013 |
Elliott Hughes <enh@google.com> |
Add unit tests for pow's behavior with NaNs. Bug: 11669804 Change-Id: Idfa6527640c8d0c2cf3e5343bf7afe013e237545
|
5227663d2ffd70dc32f03a7a5b103ef0d3fc0584 |
|
13-Feb-2013 |
Elliott Hughes <enh@google.com> |
Put the right number of Ls after 64-bit constants. Change-Id: I9f96259f21e42a84b9ebe20655fe0edb31f41892
|
a0ee07829a9ba7e99ef68e8c12551301cc797f0f |
|
31-Jan-2013 |
Elliott Hughes <enh@google.com> |
Upgrade libm. 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
|