This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Wednesday 11 April 2012 15:30:13 Adhemerval Zanella wrote: > Following Joseph comments about bug 6794, here is a proposed fix. It turned > out to be a large fix mainly because I had to move some file along to > follow libm files/names conventions. > > Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that > now calls the symbol '__ieee754_ilogb'. The wrappers checks for > '__ieee754_ilogb' output and set the errno and raise exceptions as > expected. > > The '__ieee754_ilogb' is implemented in sysdeps. I have moved the > 's_ilogb[f|l]' files to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to > '__ieee754_ilogb[f|l]'. > > I also found out a bug in i386 and x86-64 assembly coded ilogb > implementation where it raises a FE_DIVBYZERO when argument is '0.0'. I > corrected this issue as well. > > Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF > argument. Tested on i386, x86-64, ppc32 and ppc64. > > --- > 2012-04-11 Adhemerval Zanella <azanella@linux.vnet.ibm.com> > > [BZ #6794] > * math/Makefile: Add e_ilogb and w_ilogb, remove s_logb. > * math/libm-test.inc: Add ilogb errno and exception tests. > * math/w_ilogb.c: New file: ilogb wrapper. > * math/w_ilogbf.c: New file: ilogbf wrapper. > * math/w_ilogbl.c: New file: ilogbl wrapper. > * sysdeps/generic/math_private.h: Add __ieee754_ilogb[l|f] prototypes. > * sysdeps/i386/fpu/s_ilogb.S: Moved to ... > * sysdeps/i386/fpu/e_ilogb.S: ... here. Also fixed a FE_DIVBYZERO > exception being thrown with 0.0 as argument. > * sysdeps/i386/fpu/s_ilogbf.S: Moved to ... > * sysdeps/i386/fpu/e_ilogbf.S: ... here. Also fixed a FE_DIVBYZERO > exception being thrown with 0.0 as argument. > * sysdeps/i386/fpu/s_ilogbl.S: Moved to ... > * sysdeps/i386/fpu/e_ilogbl.S: ... here. Also fixed a FE_DIVBYZERO > exception being thrown with 0.0 as argument. > * sysdeps/x86_64/fpu/s_ilogbl.S: Moved to ... > * sysdeps/x86_64/fpu/e_ilogbl.S: ... here. Also fixed a FE_DIVBYZERO > exception being thrown with 0.0 as argument. > * sysdeps/ieee754/dbl-64/s_ilogb.c: Moved to ... > * sysdeps/ieee754/dbl-64/e_ilogb.c: ... here. > * sysdeps/ieee754/flt-32/e_ilogbf.c: Moved to ... > * sysdeps/ieee754/flt-32/e_ilogbf.c: ... here. > * sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c: Moved to ... > * sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c: ... here. > * sysdeps/ieee754/ldbl-opt/s_ilogb.c: Moved to ... > * sysdeps/ieee754/ldbl-opt/w_ilogb.c: ... here. > * sysdeps/ieee754/ldbl-opt/w_ilogbl.c: New file: ilogbl wrapper. i see a bunch of e_ilogbl.c files still in the tree. did you miss some in renaming to e_ilogbl.c ? sysdeps/ieee754/ldbl-128/s_ilogbl.c sysdeps/ieee754/ldbl-64-128/s_ilogbl.c sysdeps/ieee754/ldbl-96/s_ilogbl.c sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |