summaryrefslogtreecommitdiffstats
path: root/libm/include
Commit message (Collapse)AuthorAgeFilesLines
* Move the meat of <features.h> into <sys/cdefs.h>.Elliott Hughes2014-08-191-1/+0
| | | | | | | | This way it's a lot harder for us to screw up (since we should always be including <sys/cdefs.h> anyway). Bug: 14659579 Change-Id: I23070fff3296b0d1c683bb5e3a6e214146327d53
* Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).Elliott Hughes2014-08-181-2/+3
| | | | | | | | | | | <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
* Merge "Move mips fenv implementation details into fenv.c."Elliott Hughes2014-06-091-7/+0
|\
| * Move mips fenv implementation details into fenv.c.Elliott Hughes2014-06-091-7/+0
| | | | | | | | Change-Id: I2415e4808e40c2981d016c01969ba14ea22bf82e
* | Move x86 fenv implementation details into fenv.c.Elliott Hughes2014-06-092-11/+0
|/ | | | Change-Id: I6cb8c730483c325dc3cb75c2b2fbdd2d8455a54c
* Clean up the ARM fenv.h, moving implementation details into fenv.c.Elliott Hughes2014-06-091-5/+0
| | | | Change-Id: I919d35db27ec16a6f54a7a5c3c070f33f03d9bb9
* AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation.Serban Constantinescu2014-06-091-63/+44
| | | | | | | | | | | | | | | | This patch fixes the ARM64 ABI for libm. fenv_t is now split in 32bit status and 32bit control. This mirrors the AArch64 FPU control and status registers (FPCR, FPSR). The patch also refactors the libm implementation for ARM64 into a finer grained control over the FPU registers. Bionic-benchmarks has been expanded with 3 more benchmarks for floating point operations. The new libm implementation for ARM64 performs better over all the math benchmarks available. Change-Id: I2a7f81d6b4e55c91f8a63a4c69614fc8b1bcf2db Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Use -fvisibility=hidden to build libm.Elliott Hughes2014-05-192-1/+8
| | | | | Bug: 11156955 Change-Id: I77b7772a44313a1eb3970f5d2c8e2af63690efa4
* Declare sincos/sincosf/sincosl in <math.h>.Elliott Hughes2014-05-081-0/+7
| | | | Change-Id: If7b98f98c7ab4d3d77d310be082bff64512d51a8
* Fix <math.h> to quieten most of our warnings.Elliott Hughes2014-05-051-35/+16
| | | | | | | | | | | | | | | | | 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
* Fix x86_64 buildPavel Chupin2014-02-281-1/+1
| | | | | | | | Fix types after recent update: https://android-review.googlesource.com/#/c/83435/ Change-Id: I17ed28af84b7adeb8572e18834e66f3264ec061d Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Fix mips buildCalin Juravle2014-02-261-1/+1
| | | | Change-Id: Ica843d387e115d0b27afd961af73237ec9109ed9
* Moved to a more openbsd-like fenv.hCalin Juravle2014-02-268-646/+303
| | | | | | | | Factored out common declarations to include/fenv.h and pushed the implementation to .c files. Bug: 11050744 Change-Id: I446b13cc4bc599d328343a8d392b07de280f6304
* Remove <sys/_types.h>.Elliott Hughes2014-02-071-3/+4
| | | | | Bug: 12213562 Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
* bionic: rename aarch64 target to arm64Colin Cross2014-01-231-0/+0
| | | | | | | Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
* AArch64: Initial AArch64 port of libmSerban Constantinescu2013-12-161-0/+232
| | | | | | | This patch adds intial support for AArch64 to bionic's libm. Change-Id: I9ae0f895bbdd7fe67815e6ca1ead627581163a27 Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Fix the x86_64 fenv.h.Elliott Hughes2013-10-021-5/+35
| | | | | | | We should clean all the fenv.h files up, but not now. I've raised bug 11050744 as a reminder. Change-Id: I640c15b0f0477ec1a7891c031860404875bbe4b5
* Fix libm build for x86_64.Elliott Hughes2013-10-011-0/+117
| | | | Change-Id: If89da2d5c3d9a88f78ffd8b260ad0f2fd391c608
* Upgrade libm.Elliott Hughes2013-02-012-93/+169
| | | | | | | | | | | | | | | | | | | 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
* [MIPS] Rewrite fenv.h for AndroidRaghu Gandham2013-01-041-145/+152
| | | | Change-Id: I4d1e2f0b37b587426ccc9f26c525ec0d36637c7d
* Rewrite <fenv.h> for ARM.Elliott Hughes2012-11-051-151/+109
| | | | | | | The old code was one big no-op. Bug: http://code.google.com/p/android/issues/detail?id=38196 Change-Id: I201a6ffa477385b2629f45e8c948bdfbd47b5bf1
* Start cleaning up libm.Elliott Hughes2012-10-318-1153/+7
| | | | | | | | | | | We have two copies of fenv.h for every architecture, one of which isn't used. We also have unused makefiles and files for architectures we don't support. This patch removes all the obviously useless files. Bug: http://code.google.com/p/android/issues/detail?id=38196 Change-Id: I1919b6621ba513aa24aa947a34815bc51191487c
* Enclosed functions in fenv.h with __BEGIN_DECLS/__END_DECLSAndrew Hsieh2012-08-211-2/+2
| | | | | | | | Those are C funcitons Related CL: https://android-review.googlesource.com/#/c/41833/ Change-Id: I4386bcf948ad31c3690c9b7a145103088133d041
* Had include/arm/fenv.h, but missed include/mips/fenv.h.Shih-wei Liao2012-07-301-0/+217
| | | | | | | Needed for the device-build for LLVM's constant folding pass. Change-Id: I412a98d52458231650801a8b59fe3159a789b8b9 Author: fu@mips.com
* resolved conflicts for merge of 6cda7b62 to gingerbread-plus-aospDavid 'Digit' Turner2011-09-301-154/+14
|\ | | | | | | Change-Id: I85bd5291c2a9cd29bff538b6d5a4dcd73f85a1fd
| * Bionic: x86: Fix libm macro definitionsBruce Beare2011-09-291-153/+14
| | | | | | | | | | | | | | | | | | | | | | | | http://code.google.com/p/android/issues/detail?id=19276 GCC would remove inline asm due to lack of knowledge of FPU register changes. Change-Id: I9f9e8623fa6580843b7cd8178439ace8c2db2d51 Signed-off-by: Mark D Horn <mark.d.horn@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Author: Jingwei Zhang <jingwei.zhang@intel.com>
| * Use proper variable typingBruce Beare2011-07-071-2/+3
| | | | | | | | | | Orig-Change-Id: If5c33d90b33f538448ac12e7bee94b4b9173d39c Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | libm: Add nanf() and tgammaf() implementations.David 'Digit' Turner2011-01-251-0/+3
| | | | | | | | | | | | Requested by b/3370708 to export these through RenderScript. Change-Id: I1ae69f87a1ad4765b2dee8e4a6f2f3a6eb7c5ad4
* | android-x86: use proper variable typingChih-Wei Huang2010-12-231-1/+2
| | | | | | | | Change-Id: Iff99932acd2f6cb482fc5da9ff586d7ab2a8b209
* | am 4efbf95d: Merge "Use proper variable typing"David Turner2010-12-071-2/+3
|\ \ | |/ |/| | | | | * commit '4efbf95d8c88a3a203d687d9048b51e256ef3641': Use proper variable typing
| * Use proper variable typingBruce Beare2010-10-111-2/+3
| | | | | | | | | | Change-Id: If5c33d90b33f538448ac12e7bee94b4b9173d39c Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | Add sincosl() function to bionic. So that sincos optimization can - DO NOT MERGEDavid 'Digit' Turner2010-06-091-0/+7
|/ | | | | | be enabled. Change-Id: I672cb319689aa4fb3f1f7cd868dda76842bebae9
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-038-0/+2090
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-038-2090/+0
|
* Initial Contributionandroid-1.0The Android Open Source Project2008-10-218-0/+2090