aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic/math_private.h
AgeCommit message (Collapse)Author
2012-09-25Fix inaccuracy of clog, clog10 near |z| = 1 (bug 13629).Joseph Myers
2012-04-17Fix ilogb exception and errno (bug 6794)Adhemerval Zanella
[BZ #6794] 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-03-28Avoid overflows from long double functions using __kernel_standard.Joseph Myers
2012-03-19Create and use libc_feupdateenv_test.Richard Henderson
We can reduce the number of STMXCSR, and often we can avoid the call to __feraiseexcept.
2012-03-19Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}.Richard Henderson
2012-03-19Convert libc_feholdexcept et al from macros to inline functions.Richard Henderson
2012-03-19Make inline __isnan, __isinf_ns, __finite generic.Richard Henderson
For code generation to stay identical on x86_64, this requires that we define the fp word manipulation macros before including the generic header.
2012-03-14Implement and use libc_feholdexcept_setround_53bit and libc_feupdateenv_53bitAndreas Jaeger
so that double arithmetic in s_sin is done in 53 bit (without extend i386 double precision)
2012-03-09Move math/math_private.h to sysdeps/generic/math_private.h.Richard Henderson
This reverts commit 60d6f5a6f50d838bcb4240fcc0223cac445c6c83.