Go to file
Scott Turner c1f8dd9f0b 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
2010-05-07 15:02:36 -07:00
libc Merge "Fix log channel initialization at bionic/logd_write.c." 2010-05-01 15:31:39 -07:00
libdl Added support for dladdr() 2010-03-17 16:11:37 -05:00
libm Sometimes the compiler is very right! Found bug in bessel routines for float. 2010-05-07 15:02:36 -07:00
libstdc++ optimize delete/delete[] operators by removing unneeded branch 2010-01-30 22:26:30 -02:00
libthread_db auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
linker Fixed support for RTLD_NEXT in dlsym() 2010-04-08 10:14:47 -05:00
.gitignore add msm_camera.h header and .gitignore file to bionic 2009-05-26 17:06:24 -07:00
Android.mk auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
MAINTAINERS added and modified libm to support SuperH architecture 2009-08-31 16:25:42 +09:00