• Home
  • History
  • Annotate
  • only in /bionic/libm/upstream-freebsd/lib/msun/
History log of /bionic/libm/upstream-freebsd/lib/msun/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8cff2f95d8673b4b9002292d50ce8caa6efb98b6 29-Aug-2015 Elliott Hughes <enh@google.com> Sync with upstream FreeBSD libm.

Change-Id: I97e9b23903f1d993d84825806065e85626007d31
d128/k_expl.h
rc/catrig.c
rc/catrigf.c
rc/e_j0.c
rc/e_j0f.c
rc/e_j1.c
rc/e_j1f.c
rc/e_jn.c
rc/e_jnf.c
rc/k_exp.c
rc/k_expf.c
rc/math_private.h
rc/s_ccosh.c
rc/s_ccoshf.c
rc/s_cexp.c
rc/s_cexpf.c
rc/s_conj.c
rc/s_conjf.c
rc/s_conjl.c
rc/s_cproj.c
rc/s_cprojf.c
rc/s_cprojl.c
rc/s_csinh.c
rc/s_csinhf.c
rc/s_csqrt.c
rc/s_csqrtf.c
rc/s_csqrtl.c
rc/s_ctanh.c
rc/s_ctanhf.c
rc/s_exp2.c
rc/s_scalbln.c
f9f4a432ee4f56b8cb24b2033d3b1068200a6d30 25-Aug-2015 Elliott Hughes <enh@google.com> Revert "Revert "Use compiler builtins for fabs.""

Don't enable the inlines when building libm itself. Otherwise clang gets
upset by seeing both an inline and a non-inline definition.

This reverts commit c5deb0f883cbdca7e5ab75f92f82c31d21367f49.

Change-Id: If7abdb351f5a5549d6a331b33af408e8fcfa9868
rc/s_fabs.c
rc/s_fabsf.c
c5deb0f883cbdca7e5ab75f92f82c31d21367f49 24-Aug-2015 Elliott Hughes <enh@google.com> Revert "Use compiler builtins for fabs."

Use of "extern inline" breaks clang build.

This reverts commit d76f16973a9d06765fb1f482239b9559f893ffd0.

Change-Id: I995d0d38c3776f5c50b060f16770741c92a2acac
rc/s_fabs.c
rc/s_fabsf.c
d76f16973a9d06765fb1f482239b9559f893ffd0 21-Aug-2015 Elliott Hughes <enh@google.com> Use compiler builtins for fabs.

Change-Id: Id3bf761d6dfc187f218b5215c53d76bddc83d50b
rc/s_fabs.c
rc/s_fabsf.c
b8ee16f1dc1253e3f1c99b4a6b9df249515cd919 06-Nov-2014 Elliott Hughes <enh@google.com> 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
rc/catrig.c
rc/catrigf.c
14538ca75ef3d0edc8fb86e332d79a4913238cb6 10-Oct-2014 Elliott Hughes <enh@google.com> Catch up on upstream's round/roundf/roundl.

Not sure how we missed these, but better late than never...

Change-Id: Ib08d1bb6e340a1907cbeb1cbe220e33f70642bdc
rc/s_round.c
rc/s_roundf.c
rc/s_roundl.c
488268b134723c7a6598338bb253be5f64d53be4 10-Oct-2014 Elliott Hughes <enh@google.com> Sync libm with upstream.

Change-Id: I3b4e2c9c6ce6c5934f270a51ce5eb9154c5805d5
d128/e_lgammal_r.c
rc/e_acoshl.c
rc/e_atanhl.c
rc/e_lgamma_r.c
rc/e_lgammaf_r.c
rc/fenv-softfloat.h
rc/s_remquol.c
755318548d787c7ca36901be064c69efba41c6cf 18-Sep-2014 Elliott Hughes <enh@google.com> 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
d128/e_lgammal_r.c
rc/e_lgamma.c
rc/e_lgamma_r.c
rc/e_lgammaf_r.c
rc/e_lgammal.c
rc/imprecise.c
c729d4f23771a01226c761423c6b35210dbb6ca7 13-Sep-2014 Elliott Hughes <enh@google.com> Get new coshl, sinhl, and tanhl implementations from upstream.

Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
rc/e_coshl.c
rc/e_sinhl.c
rc/imprecise.c
rc/s_tanhl.c
460ad7454a281470a1938103f099a1e3192fb3d6 12-Sep-2014 Elliott Hughes <enh@google.com> Sync libm with upstream.

Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
d128/e_rem_pio2l.h
d128/invtrig.c
d128/k_cosl.c
d128/k_expl.h
d128/k_sinl.c
d128/s_erfl.c
d128/s_exp2l.c
d128/s_expl.c
rc/e_cosh.c
rc/e_lgamma_r.c
rc/e_lgammaf_r.c
rc/e_pow.c
rc/e_sinh.c
rc/imprecise.c
rc/s_erf.c
rc/s_erff.c
rc/s_rintl.c
rc/s_tanh.c
rc/s_tanhf.c
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
rc/imprecise.c
rc/s_isfinite.c
rc/s_isnormal.c
rc/s_signbit.c
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
rc/s_isnan.c
f723b70fe0d0c49dd764e72b01501c8a211545e4 01-Apr-2014 Calin Juravle <calin@google.com> Emit warnings when linking against imprecise math functions

Change-Id: I3da7b8396a64d7899fcb89452c879806a8a511ff
rc/imprecise.c
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
d128/e_rem_pio2l.h
d128/invtrig.c
d128/invtrig.h
d128/k_cosl.c
d128/k_sinl.c
d128/k_tanl.c
d128/s_exp2l.c
d128/s_expl.c
d128/s_logl.c
d128/s_nanl.c
rc/e_acoshl.c
rc/e_atanhl.c
rc/imprecise.c
rc/s_asinhl.c
rc/s_remquol.c
rc/s_rintl.c
bd3155dc5ddf09647388ad7f8fdbe6df123fbd6a 13-Mar-2014 Calin Juravle <calin@google.com> Update libm to the upstream head (2014.03.13)

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
rc/math_private.h
rc/s_erff.c
rc/s_fma.c
rc/s_fmal.c
78419467a2f88744ae2445fca5eb442877ebb1b0 13-Jun-2013 Elliott Hughes <enh@google.com> Take upstream libm changes.

Mostly workarounds for GCC and Clang bugs.

Change-Id: I4ef428a42d4ac6d622659053711a8cc416925727
rc/e_acosh.c
rc/e_atanh.c
rc/e_exp.c
rc/e_expf.c
rc/e_log.c
rc/e_log10.c
rc/e_log10f.c
rc/e_log2.c
rc/e_log2f.c
rc/e_logf.c
rc/math_private.h
rc/s_asinh.c
rc/s_exp2.c
rc/s_exp2f.c
rc/s_expm1.c
rc/s_expm1f.c
rc/s_fma.c
rc/s_fmal.c
rc/s_log1p.c
rc/s_log1pf.c
rc/s_nearbyint.c
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
sdsrc/b_exp.c
sdsrc/b_log.c
sdsrc/b_tgamma.c
sdsrc/mathimpl.h
rc/e_acos.c
rc/e_acosf.c
rc/e_acosh.c
rc/e_acoshf.c
rc/e_acosl.c
rc/e_asin.c
rc/e_asinf.c
rc/e_asinl.c
rc/e_atan2.c
rc/e_atan2f.c
rc/e_atan2l.c
rc/e_atanh.c
rc/e_atanhf.c
rc/e_cosh.c
rc/e_coshf.c
rc/e_exp.c
rc/e_expf.c
rc/e_fmod.c
rc/e_fmodf.c
rc/e_fmodl.c
rc/e_gamma.c
rc/e_gamma_r.c
rc/e_gammaf.c
rc/e_gammaf_r.c
rc/e_hypot.c
rc/e_hypotf.c
rc/e_hypotl.c
rc/e_j0.c
rc/e_j0f.c
rc/e_j1.c
rc/e_j1f.c
rc/e_jn.c
rc/e_jnf.c
rc/e_lgamma.c
rc/e_lgamma_r.c
rc/e_lgammaf.c
rc/e_lgammaf_r.c
rc/e_log.c
rc/e_log10.c
rc/e_log10f.c
rc/e_log2.c
rc/e_log2f.c
rc/e_logf.c
rc/e_pow.c
rc/e_powf.c
rc/e_rem_pio2.c
rc/e_rem_pio2f.c
rc/e_remainder.c
rc/e_remainderf.c
rc/e_remainderl.c
rc/e_scalb.c
rc/e_scalbf.c
rc/e_sinh.c
rc/e_sinhf.c
rc/e_sqrt.c
rc/e_sqrtf.c
rc/e_sqrtl.c
rc/fenv-softfloat.h
rc/k_cos.c
rc/k_cosf.c
rc/k_exp.c
rc/k_expf.c
rc/k_log.h
rc/k_logf.h
rc/k_rem_pio2.c
rc/k_sin.c
rc/k_sinf.c
rc/k_tan.c
rc/k_tanf.c
rc/math_private.h
rc/s_asinh.c
rc/s_asinhf.c
rc/s_atan.c
rc/s_atanf.c
rc/s_atanl.c
rc/s_carg.c
rc/s_cargf.c
rc/s_cargl.c
rc/s_cbrt.c
rc/s_cbrtf.c
rc/s_cbrtl.c
rc/s_ccosh.c
rc/s_ccoshf.c
rc/s_ceil.c
rc/s_ceilf.c
rc/s_ceill.c
rc/s_cexp.c
rc/s_cexpf.c
rc/s_cimag.c
rc/s_cimagf.c
rc/s_cimagl.c
rc/s_conj.c
rc/s_conjf.c
rc/s_conjl.c
rc/s_copysign.c
rc/s_copysignf.c
rc/s_copysignl.c
rc/s_cos.c
rc/s_cosf.c
rc/s_cosl.c
rc/s_cproj.c
rc/s_cprojf.c
rc/s_cprojl.c
rc/s_creal.c
rc/s_crealf.c
rc/s_creall.c
rc/s_csinh.c
rc/s_csinhf.c
rc/s_csqrt.c
rc/s_csqrtf.c
rc/s_csqrtl.c
rc/s_ctanh.c
rc/s_ctanhf.c
rc/s_erf.c
rc/s_erff.c
rc/s_exp2.c
rc/s_exp2f.c
rc/s_expm1.c
rc/s_expm1f.c
rc/s_fabs.c
rc/s_fabsf.c
rc/s_fabsl.c
rc/s_fdim.c
rc/s_finite.c
rc/s_finitef.c
rc/s_floor.c
rc/s_floorf.c
rc/s_floorl.c
rc/s_fma.c
rc/s_fmaf.c
rc/s_fmal.c
rc/s_fmax.c
rc/s_fmaxf.c
rc/s_fmaxl.c
rc/s_fmin.c
rc/s_fminf.c
rc/s_fminl.c
rc/s_frexp.c
rc/s_frexpf.c
rc/s_frexpl.c
rc/s_ilogb.c
rc/s_ilogbf.c
rc/s_ilogbl.c
rc/s_isfinite.c
rc/s_isnan.c
rc/s_isnormal.c
rc/s_llrint.c
rc/s_llrintf.c
rc/s_llrintl.c
rc/s_llround.c
rc/s_llroundf.c
rc/s_llroundl.c
rc/s_log1p.c
rc/s_log1pf.c
rc/s_logb.c
rc/s_logbf.c
rc/s_logbl.c
rc/s_lrint.c
rc/s_lrintf.c
rc/s_lrintl.c
rc/s_lround.c
rc/s_lroundf.c
rc/s_lroundl.c
rc/s_modf.c
rc/s_modff.c
rc/s_modfl.c
rc/s_nan.c
rc/s_nearbyint.c
rc/s_nextafter.c
rc/s_nextafterf.c
rc/s_nextafterl.c
rc/s_nexttoward.c
rc/s_nexttowardf.c
rc/s_remquo.c
rc/s_remquof.c
rc/s_remquol.c
rc/s_rint.c
rc/s_rintf.c
rc/s_rintl.c
rc/s_round.c
rc/s_roundf.c
rc/s_roundl.c
rc/s_scalbln.c
rc/s_scalbn.c
rc/s_scalbnf.c
rc/s_scalbnl.c
rc/s_signbit.c
rc/s_signgam.c
rc/s_significand.c
rc/s_significandf.c
rc/s_sin.c
rc/s_sinf.c
rc/s_sinl.c
rc/s_tan.c
rc/s_tanf.c
rc/s_tanh.c
rc/s_tanhf.c
rc/s_tanl.c
rc/s_tgammaf.c
rc/s_trunc.c
rc/s_truncf.c
rc/s_truncl.c
rc/w_cabs.c
rc/w_cabsf.c
rc/w_cabsl.c
rc/w_drem.c
rc/w_dremf.c