finite
int finite(double);
if(x==1) { y=copysign(y,one); t=y; if(finite(t)) goto begin;}
if(!finite(x))
if(!finite(y))
if(!finite(y)) return(copysign(PIo2,signy));
if(finite(x))
if(finite(y))
else if(finite(y))
if(finite(x))
if(finite(y))
else if(finite(y))
if(!finite(x)) { /* erf(nan)=nan */
if (!finite(x)) {
if(finite(x)) return(scalb(1.0,-5000));
return( finite(x) ? scalb(1.0,5000) : x);
if(finite(x)) return(scalb(1.0,-5000));
return( finite(x) ? scalb(1.0,5000) : x);
if(finite(x))
return( finite(x) ? scalb(one,5000) : x);
extern int isnan(),finite();
|| isnan(y) || !finite(x)
} else if (!finite(x)) {
if (!finite(x))
if (!finite(x)) {
if (!finite(x)) {
if (!finite(x)) { /* Inf or NaN */
if (!finite(x)) {
if (x == 0 || !finite (x)) /* if x is 0 or inf */
else if (!finite(x)) return(0);
for (i = 1; i < n && !finite(b); i++){
if (!_IEEE && !finite(b))
if (!finite(x)) {
if (_IEEE == 0 && !finite(t.a))
} else if (!finite(x)) {
if(finite(x)) {
else if (!finite(y)) /* if y is INF */
if (!finite(x)) {
if(!finite(x)) /* sin(NaN) and sin(INF) must be NaN */
if(!finite(x)) /* cos(NaN) and cos(INF) must be NaN */
if(!finite(x)) return(x);
if(!finite(x)) /* tan(NaN) and tan(INF) must be NaN */
else if(finite(x))
if(finite(x)) return(scalb(1.0,-5000));
return( finite(x) ? scalb(1.0,5000) : x);
} else if (!finite(x))
if (!finite(fn)) {
__weak_alias(finite, _finite)
finite(double x)
if(finite(x)) {
if(!finite(y)&&finite(x)) {
if(!finite(y)&&finite(x)) {
if((!finite(z))&&finite(x)&&finite(y))
if(!finite(y)&&finite(x)) {
if(!finite(y)&&finite(x)) {
if(finite(y)&&y<0.0)
if(!finite(z)) {
if(finite(x)&&finite(y)) {
if(z==0.0&&finite(x)&&finite(y))
if(!(finite(z)||isnan(z))&&finite(x)) {
if(!finite(fn)) errno = ERANGE;
if(!finite(z)&&finite(x)) {
BFUNC_DBL(finite)
TESTI(finite(1.0 / 0.0));
extern int finite(double);
return finite(d);
return finite(d) != 0;