History log of /bionic/libm/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7735a38935af62330f47517142f225dcf4e09c27 01-May-2012 Elliott Hughes <enh@google.com> Update s_fabsl.c to upstream head.

Bug: http://code.google.com/p/android/issues/detail?id=29539
Change-Id: I843dcfcbfe49e8e9f43c49aae6ade1edb57a3053
_fabsl.c
bd0383acf89b9ed392bcf16ed89622cb2b33753b 19-Nov-2011 Jack Ren <jack.ren@intel.com> libm: fix invalid result of function remquo/remquof

Currently we will get the wrong result as follows:
remquof(0x7bb33336, 0x63000000) = -671088640, 0x00000000
remquo(0xbff0000000000003, 0x3ff0000000000003) = 1, 0x8000000000000000
remquo(0x9120000000000001, 0x0000000000000005) = -1288490188, 0x0000000000000004
while the correct one should be:
remquof(0x7bb33336, 0x63000000) = 1476395008, 0x00000000
remquo(0xbff0000000000003, 0x3ff0000000000003) = -1, 0x8000000000000000
remquo(0x9120000000000001, 0x0000000000000005) = -1288490189, 0x0000000000000001

Fixed in this patch.

Change-Id: I540b348cd10a539f3b39b1753945c893c4c7ec46
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
_remquo.c
_remquof.c
1fa7b45df8b146a42dc99af9004ce9ea93e7748b 27-Feb-2012 Jack Ren <jack.ren@intel.com> libm: cherry-pick one patch from freebsd to fix logb() denormals issue

from http://svnweb.freebsd.org/base?view=revision&revision=176101
"
Oops, fix the fix in rev.1.10. logb() and logbf() were broken on
denormals, and logb() remained broken after 1.10 because the fix for
logbf() was incompletely translated.

Convert to __FBSDID().
"

Change-Id: I54f33648db7c421b06eee1ea8e63c57a179fae0d
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
_logb.c
8e2ff164cc327aad8666333a1d75f86291858da0 25-Jan-2011 David 'Digit' Turner <digit@google.com> libm: Add nanf() and tgammaf() implementations.

Requested by b/3370708 to export these through RenderScript.

Change-Id: I1ae69f87a1ad4765b2dee8e4a6f2f3a6eb7c5ad4
_nan.c
_tgammaf.c
ce2ebf8d7338095bf410259abf6874af295749d6 26-Sep-2010 David 'Digit' Turner <digit@google.com> libm: remove aliasing issue.

See http://code.google.com/p/android/issues/detail?id=6697
for details about this change.

Change-Id: I516f00c6f3bc99b22be51669e4573246bdd6e33d
_frexpf.c
c3581dc78a51180d3550d0d04596657cb2db852c 11-May-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Sometimes the compiler is very right! Found bug in bessel routines for float."
c1f8dd9f0b0fe4d3953edefd2d6172573f6b7504 16-Jan-2010 Scott Turner <scotty@l5computing.com> Sometimes the compiler is very right! Found bug in bessel routines for float.

Original compiler error:

target arm C: libm <= bionic/libm/src/e_j0f.c
bionic/libm/src/e_j0f.c: In function 'j0f':
bionic/libm/src/e_j0f.c:66: warning: comparison between signed and unsigned integer expressions
bionic/libm/src/e_j0f.c: In function 'y0f':
bionic/libm/src/e_j0f.c:140: warning: comparison between signed and unsigned integer expressions
target arm C: libm <= bionic/libm/src/e_j1.c

It's subtle but ix is masked with 0x7f000000 so it can never ever have a value
greater than 0x80000000. So I switched to using the unmasked hx and added a
cast as a reward to the compiler for being right.

I checked the original routines that e_j0f.c was ported from (in e_j0.c) and
the double's don't use 0x80000000 so this issue didn't exist there.

Let that be a warning to those that just slap on casts to shut up the compiler,
sometimes it's sniffed out a bug for you. :-)

Similar fixes in the other functions.

Change-Id: I7a776e5d4721fc3a9e3bd89179b67e9af3a2ebfa
_j0f.c
_j1f.c
_jnf.c
72d3489612b77d4544e500a2a2a1783914ee56b7 16-Jan-2010 Scott Turner <scotty@l5computing.com> Reduce compiler anxiety.

Warning from compiler:

target arm C: libm <= bionic/libm/src/e_atan2.c
bionic/libm/src/e_atan2.c: In function 'atan2':
bionic/libm/src/e_atan2.c:71: warning: suggest parentheses around arithmetic in operand of '|'
target arm C: libm <= bionic/libm/src/e_atan2f.c
_atan2.c
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
_acos.c
_acosf.c
_acosh.c
_acoshf.c
_asin.c
_asinf.c
_atan2.c
_atan2f.c
_atanh.c
_atanhf.c
_cosh.c
_coshf.c
_exp.c
_expf.c
_fmod.c
_fmodf.c
_gamma.c
_gamma_r.c
_gammaf.c
_gammaf_r.c
_hypot.c
_hypotf.c
_j0.c
_j0f.c
_j1.c
_j1f.c
_jn.c
_jnf.c
_ldexpf.c
_lgamma.c
_lgamma_r.c
_lgammaf.c
_lgammaf_r.c
_log.c
_log10.c
_log10f.c
_logf.c
_pow.c
_powf.c
_rem_pio2.c
_rem_pio2f.c
_remainder.c
_remainderf.c
_scalb.c
_scalbf.c
_sinh.c
_sinhf.c
_sqrt.c
_sqrtf.c
pmath.h
_cos.c
_cosf.c
_rem_pio2.c
_rem_pio2f.c
_sin.c
_sinf.c
_tan.c
_tanf.c
ath_private.h
_asinh.c
_asinhf.c
_atan.c
_atanf.c
_cbrt.c
_cbrtf.c
_ceil.c
_ceilf.c
_ceill.c
_cimag.c
_cimagf.c
_cimagl.c
_conj.c
_conjf.c
_conjl.c
_copysign.c
_copysignf.c
_copysignl.c
_cos.c
_cosf.c
_creal.c
_crealf.c
_creall.c
_erf.c
_erff.c
_exp2.c
_exp2f.c
_expm1.c
_expm1f.c
_fabs.c
_fabsf.c
_fabsl.c
_fdim.c
_finite.c
_finitef.c
_floor.c
_floorf.c
_floorl.c
_fma.c
_fmaf.c
_fmal.c
_fmax.c
_fmaxf.c
_fmaxl.c
_fmin.c
_fminf.c
_fminl.c
_frexp.c
_frexpf.c
_frexpl.c
_ilogb.c
_ilogbf.c
_ilogbl.c
_isfinite.c
_isnan.c
_isnormal.c
_llrint.c
_llrintf.c
_llround.c
_llroundf.c
_llroundl.c
_log1p.c
_log1pf.c
_logb.c
_logbf.c
_lrint.c
_lrintf.c
_lround.c
_lroundf.c
_lroundl.c
_modf.c
_modff.c
_nearbyint.c
_nextafter.c
_nextafterf.c
_nextafterl.c
_nexttoward.c
_nexttowardf.c
_remquo.c
_remquof.c
_rint.c
_rintf.c
_round.c
_roundf.c
_roundl.c
_scalbln.c
_scalbn.c
_scalbnf.c
_scalbnl.c
_signbit.c
_signgam.c
_significand.c
_significandf.c
_sin.c
_sinf.c
_tan.c
_tanf.c
_tanh.c
_tanhf.c
_trunc.c
_truncf.c
_truncl.c
_cabs.c
_cabsf.c
_drem.c
_dremf.c
1767f908af327fa388b1c66883760ad851267013 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
_acos.c
_acosf.c
_acosh.c
_acoshf.c
_asin.c
_asinf.c
_atan2.c
_atan2f.c
_atanh.c
_atanhf.c
_cosh.c
_coshf.c
_exp.c
_expf.c
_fmod.c
_fmodf.c
_gamma.c
_gamma_r.c
_gammaf.c
_gammaf_r.c
_hypot.c
_hypotf.c
_j0.c
_j0f.c
_j1.c
_j1f.c
_jn.c
_jnf.c
_ldexpf.c
_lgamma.c
_lgamma_r.c
_lgammaf.c
_lgammaf_r.c
_log.c
_log10.c
_log10f.c
_logf.c
_pow.c
_powf.c
_rem_pio2.c
_rem_pio2f.c
_remainder.c
_remainderf.c
_scalb.c
_scalbf.c
_sinh.c
_sinhf.c
_sqrt.c
_sqrtf.c
pmath.h
_cos.c
_cosf.c
_rem_pio2.c
_rem_pio2f.c
_sin.c
_sinf.c
_tan.c
_tanf.c
ath_private.h
_asinh.c
_asinhf.c
_atan.c
_atanf.c
_cbrt.c
_cbrtf.c
_ceil.c
_ceilf.c
_ceill.c
_cimag.c
_cimagf.c
_cimagl.c
_conj.c
_conjf.c
_conjl.c
_copysign.c
_copysignf.c
_copysignl.c
_cos.c
_cosf.c
_creal.c
_crealf.c
_creall.c
_erf.c
_erff.c
_exp2.c
_exp2f.c
_expm1.c
_expm1f.c
_fabs.c
_fabsf.c
_fabsl.c
_fdim.c
_finite.c
_finitef.c
_floor.c
_floorf.c
_floorl.c
_fma.c
_fmaf.c
_fmal.c
_fmax.c
_fmaxf.c
_fmaxl.c
_fmin.c
_fminf.c
_fminl.c
_frexp.c
_frexpf.c
_frexpl.c
_ilogb.c
_ilogbf.c
_ilogbl.c
_isfinite.c
_isnan.c
_isnormal.c
_llrint.c
_llrintf.c
_llround.c
_llroundf.c
_llroundl.c
_log1p.c
_log1pf.c
_logb.c
_logbf.c
_lrint.c
_lrintf.c
_lround.c
_lroundf.c
_lroundl.c
_modf.c
_modff.c
_nearbyint.c
_nextafter.c
_nextafterf.c
_nextafterl.c
_nexttoward.c
_nexttowardf.c
_remquo.c
_remquof.c
_rint.c
_rintf.c
_round.c
_roundf.c
_roundl.c
_scalbln.c
_scalbn.c
_scalbnf.c
_scalbnl.c
_signbit.c
_signgam.c
_significand.c
_significandf.c
_sin.c
_sinf.c
_tan.c
_tanf.c
_tanh.c
_tanhf.c
_trunc.c
_truncf.c
_truncl.c
_cabs.c
_cabsf.c
_drem.c
_dremf.c
4e468ed2eb86a2406e14f1eca82072ee501d05fd 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
_ldexpf.c
ath_private.h
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
_acos.c
_acosf.c
_acosh.c
_acoshf.c
_asin.c
_asinf.c
_atan2.c
_atan2f.c
_atanh.c
_atanhf.c
_cosh.c
_coshf.c
_exp.c
_expf.c
_fmod.c
_fmodf.c
_gamma.c
_gamma_r.c
_gammaf.c
_gammaf_r.c
_hypot.c
_hypotf.c
_j0.c
_j0f.c
_j1.c
_j1f.c
_jn.c
_jnf.c
_lgamma.c
_lgamma_r.c
_lgammaf.c
_lgammaf_r.c
_log.c
_log10.c
_log10f.c
_logf.c
_pow.c
_powf.c
_rem_pio2.c
_rem_pio2f.c
_remainder.c
_remainderf.c
_scalb.c
_scalbf.c
_sinh.c
_sinhf.c
_sqrt.c
_sqrtf.c
pmath.h
_cos.c
_cosf.c
_rem_pio2.c
_rem_pio2f.c
_sin.c
_sinf.c
_tan.c
_tanf.c
ath_private.h
_asinh.c
_asinhf.c
_atan.c
_atanf.c
_cbrt.c
_cbrtf.c
_ceil.c
_ceilf.c
_ceill.c
_cimag.c
_cimagf.c
_cimagl.c
_conj.c
_conjf.c
_conjl.c
_copysign.c
_copysignf.c
_copysignl.c
_cos.c
_cosf.c
_creal.c
_crealf.c
_creall.c
_erf.c
_erff.c
_exp2.c
_exp2f.c
_expm1.c
_expm1f.c
_fabs.c
_fabsf.c
_fabsl.c
_fdim.c
_finite.c
_finitef.c
_floor.c
_floorf.c
_floorl.c
_fma.c
_fmaf.c
_fmal.c
_fmax.c
_fmaxf.c
_fmaxl.c
_fmin.c
_fminf.c
_fminl.c
_frexp.c
_frexpf.c
_frexpl.c
_ilogb.c
_ilogbf.c
_ilogbl.c
_isfinite.c
_isnan.c
_isnormal.c
_llrint.c
_llrintf.c
_llround.c
_llroundf.c
_llroundl.c
_log1p.c
_log1pf.c
_logb.c
_logbf.c
_lrint.c
_lrintf.c
_lround.c
_lroundf.c
_lroundl.c
_modf.c
_modff.c
_nearbyint.c
_nextafter.c
_nextafterf.c
_nextafterl.c
_nexttoward.c
_nexttowardf.c
_remquo.c
_remquof.c
_rint.c
_rintf.c
_round.c
_roundf.c
_roundl.c
_scalbln.c
_scalbn.c
_scalbnf.c
_scalbnl.c
_signbit.c
_signgam.c
_significand.c
_significandf.c
_sin.c
_sinf.c
_tan.c
_tanf.c
_tanh.c
_tanhf.c
_trunc.c
_truncf.c
_truncl.c
_cabs.c
_cabsf.c
_drem.c
_dremf.c