about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_j0f.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix y0 and y1 exception handling for zero input [BZ #21134]Gabriel F. T. Gomes2017-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | The Bessel functions of the second type (Yn) should raise the "divide by zero" exception when input is zero (both positive and negative). Current code gives the right output, but fails to set the exception. This error is exposed for float, double, and long double when linking with -lieee. Without this flag, the error is not exposed, because the wrappers for these functions, which use __kernel_standard functionality, set the exception as expected. Tested for powerpc64le. [BZ #21134] * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise the "divide by zero" exception when the input is zero. * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y1): Likewise. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise. * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.
* Avoid uninitialized warnings in Bessel functions.Joseph Myers2015-02-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | math/Makefile currently has: # The fdlibm code generates a lot of these warnings but is otherwise clean. override CFLAGS += -Wno-uninitialized This is of course undesirable; warnings should be disabled as narrowly as possible. To remove this override, we need to fix files that generate such warnings, or put warning-disabling pragmas in them. This patch does so for Bessel function implementations, one of the cases that have the warnings if the override is removed. The warnings arise because functions set pointer variables p and q only for certain values of the function argument, then use them unconditionally. As the static functions in question only get called for arguments that satisfy the last condition in the if/else chain, the natural fix is to change the last "else if" to just "else", which this patch does. (The ldbl-128 / ldbl-128ibm implementation of these functions is substantially different and looks like it already does use "else" in the last case in the nearest corresponding code.) Tested for x86_64 and x86. * sysdeps/ieee754/dbl-64/e_j0.c (pzero): Change last case for setting p and q from "else if" to "else". (qzero): Likewise. * sysdeps/ieee754/dbl-64/e_j1.c (pone): Likewise. (qone): Likewise. * sysdeps/ieee754/flt-32/e_j0f.c (pzerof): Likewise. (qzerof): Likewise. * sysdeps/ieee754/flt-32/e_j1f.c (ponef): Likewise. (qonef): Likewise. * sysdeps/ieee754/ldbl-96/e_j0l.c (pzero): Likewise. (qzero): Likewise. * sysdeps/ieee754/ldbl-96/e_j1l.c (pone): Likewise. (qone): Likewise.
* Correct tinyness handling in long-double and float y0/y1.David S. Miller2012-11-181-1/+1
| | | | | | | | | | | | | | | | | With help from Joseph Myers. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness cutoff to 2**-13. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness cutoff to 2**-25. * sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant. ( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very small. * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise. * math/libm-test.inc (y0_test): New tests. (y1_test): New tests. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Update. * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Use <> for math.h and math_private.h everywhere.Richard Henderson2012-03-091-2/+2
| | | | Entire tree edited via find | grep | sed.
* Fix uses of math_force_evalAndreas Schwab2011-10-261-1/+1
|
* Use math_force_eval in more placesUlrich Drepper2011-10-251-4/+3
|
* Optimize libmUlrich Drepper2011-10-121-153/+47
| | | | | libm is now somewhat integrated with gcc's -ffinite-math-only option and lots of the wrapper functions have been optimized.
* Update.Andreas Jaeger2003-12-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only overflow for 0 as argument. Raise Invalid exception for negative args. * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise. * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise. * sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise. * sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise. * sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise. * sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise. * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise. * math/libm-test.inc (yn_test): Expect invalid exception for negative arguments. (y0_test): Likewise. (y1_test): Likewise.
* Little optimization, use sincos.Ulrich Drepper2001-02-131-2/+1
|
* Update.Ulrich Drepper2001-02-131-2/+1
| | | | | | | | 2001-02-12 Ulrich Drepper <drepper@redhat.com> * sysdeps/dbl-64/e_j0.c: Little optimization, use sincos. * sysdeps/flt-32/e_j0f.c: Likewise. * sysdeps/ldbl-96/e_j0l.c: Likewise.
* Update.Ulrich Drepper2000-10-251-13/+13
| | | | | | | | | | 2000-10-25 Ulrich Drepper <drepper@redhat.com> * sysdeps/ieee754/dbl-64/e_jn.c: Use __ieee754_sqrt instead of __sqrt. * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. * sysdeps/ieee754/dbl-64/e_j0.c: Likewise. * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. * sysdeps/ieee754/flt-32/e_j0f.c: Likewise.
* Update.Ulrich Drepper1999-07-141-0/+444