about summary refs log tree commit diff
path: root/sysdeps/generic/math_private.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix ilogb exception and errno (bug 6794)Adhemerval Zanella2012-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | [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.
* Avoid overflows from long double functions using __kernel_standard.Joseph Myers2012-03-281-0/+1
|
* Create and use libc_feupdateenv_test.Richard Henderson2012-03-191-0/+18
| | | | | We can reduce the number of STMXCSR, and often we can avoid the call to __feraiseexcept.
* Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}.Richard Henderson2012-03-191-0/+69
|
* Convert libc_feholdexcept et al from macros to inline functions.Richard Henderson2012-03-191-21/+78
|
* Make inline __isnan, __isinf_ns, __finite generic.Richard Henderson2012-03-191-13/+26
| | | | | | For code generation to stay identical on x86_64, this requires that we define the fp word manipulation macros before including the generic header.
* Implement and use libc_feholdexcept_setround_53bit and libc_feupdateenv_53bitAndreas Jaeger2012-03-141-0/+5
| | | | so that double arithmetic in s_sin is done in 53 bit (without extend i386 double precision)
* Move math/math_private.h to sysdeps/generic/math_private.h.Richard Henderson2012-03-091-0/+392
This reverts commit 60d6f5a6f50d838bcb4240fcc0223cac445c6c83.