Fix error handling for j0, j1, y0, y1 Bessel functions.
Remove useless defines

svn path=/trunk/; revision=54552
This commit is contained in:
Pierre Schweitzer 2011-11-30 22:04:54 +00:00
parent 5a339d9479
commit 054f2fe7ce
2 changed files with 14 additions and 8 deletions

View file

@ -2,8 +2,6 @@
#include <float.h>
#include "ieee754/ieee754.h"
typedef int fpclass_t;
fpclass_t _fpclass(double __d);
int *_errno(void);
/*
@ -11,7 +9,7 @@ int *_errno(void);
*/
double _j0(double num)
{
/* FIXME: errno handling */
if (!_finite(num)) *_errno() = EDOM;
return __ieee754_j0(num);
}
@ -21,7 +19,12 @@ double _j0(double num)
double _y0(double num)
{
double retval;
if (!_finite(num)) *_errno() = EDOM;
int fpclass = _fpclass(num);
if (!_finite(num) || fpclass == _FPCLASS_NN ||
fpclass == _FPCLASS_ND || fpclass == _FPCLASS_NZ)
*_errno() = EDOM;
retval = __ieee754_y0(num);
if (_fpclass(retval) == _FPCLASS_NINF)
{

View file

@ -2,8 +2,6 @@
#include <float.h>
#include "ieee754/ieee754.h"
typedef int fpclass_t;
fpclass_t _fpclass(double __d);
int *_errno(void);
/*
@ -11,7 +9,7 @@ int *_errno(void);
*/
double _j1(double num)
{
/* FIXME: errno handling */
if (!_finite(num)) *_errno() = EDOM;
return __ieee754_j1(num);
}
@ -21,7 +19,12 @@ double _j1(double num)
double _y1(double num)
{
double retval;
if (!_finite(num)) *_errno() = EDOM;
int fpclass = _fpclass(num);
if (!_finite(num) || fpclass == _FPCLASS_NN ||
fpclass == _FPCLASS_ND || fpclass == _FPCLASS_NZ)
*_errno() = EDOM;
retval = __ieee754_y1(num);
if (_fpclass(retval) == _FPCLASS_NINF)
{