1 2 /* @(#)w_j0.c 1.3 95/01/18 */ 3 /* 4 * ==================================================== 5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 6 * 7 * Developed at SunSoft, a Sun Microsystems, Inc. business. 8 * Permission to use, copy, modify, and distribute this 9 * software is freely granted, provided that this notice 10 * is preserved. 11 * ==================================================== 12 */ 13 14 /* 15 * wrapper ieee_j0(double x), ieee_y0(double x) 16 */ 17 18 #include "fdlibm.h" 19 20 #ifdef __STDC__ ieee_j0(double x)21 double ieee_j0(double x) /* wrapper j0 */ 22 #else 23 double ieee_j0(x) /* wrapper j0 */ 24 double x; 25 #endif 26 { 27 #ifdef _IEEE_LIBM 28 return __ieee754_j0(x); 29 #else 30 double z = __ieee754_j0(x); 31 if(_LIB_VERSION == _IEEE_ || ieee_isnan(x)) return z; 32 if(ieee_fabs(x)>X_TLOSS) { 33 return __kernel_standard(x,x,34); /* ieee_j0(|x|>X_TLOSS) */ 34 } else 35 return z; 36 #endif 37 } 38 39 #ifdef __STDC__ ieee_y0(double x)40 double ieee_y0(double x) /* wrapper y0 */ 41 #else 42 double ieee_y0(x) /* wrapper y0 */ 43 double x; 44 #endif 45 { 46 #ifdef _IEEE_LIBM 47 return __ieee754_y0(x); 48 #else 49 double z; 50 z = __ieee754_y0(x); 51 if(_LIB_VERSION == _IEEE_ || ieee_isnan(x) ) return z; 52 if(x <= 0.0){ 53 if(x==0.0) 54 /* d= -one/(x-x); */ 55 return __kernel_standard(x,x,8); 56 else 57 /* d = zero/(x-x); */ 58 return __kernel_standard(x,x,9); 59 } 60 if(x>X_TLOSS) { 61 return __kernel_standard(x,x,35); /* ieee_y0(x>X_TLOSS) */ 62 } else 63 return z; 64 #endif 65 } 66