base/math/w_j1.c

Go to the documentation of this file.
00001 /* @(#)w_j1.c 5.1 93/09/24 */ 00002 /* 00003 * ==================================================== 00004 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 00005 * 00006 * Developed at SunPro, a Sun Microsystems, Inc. business. 00007 * Permission to use, copy, modify, and distribute this 00008 * software is freely granted, provided that this notice 00009 * is preserved. 00010 * ==================================================== 00011 */ 00012 00013 #if defined(LIBM_SCCS) && !defined(lint) 00014 static char rcsid[] = "$NetBSD: w_j1.c,v 1.6 1995/05/10 20:49:15 jtc Exp $"; 00015 #endif 00016 00017 /* 00018 * wrapper of j1,y1 00019 */ 00020 00021 #include "math.h" 00022 #include "mathP.h" 00023 00024 #ifdef __STDC__ 00025 double j1(double x) /* wrapper j1 */ 00026 #else 00027 double j1(x) /* wrapper j1 */ 00028 double x; 00029 #endif 00030 { 00031 #ifdef _IEEE_LIBM 00032 return __ieee754_j1(x); 00033 #else 00034 double z; 00035 z = __ieee754_j1(x); 00036 if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z; 00037 if(fabs(x)>X_TLOSS) { 00038 return __kernel_standard(x,x,36); /* j1(|x|>X_TLOSS) */ 00039 } else 00040 return z; 00041 #endif 00042 } 00043 00044 #ifdef __STDC__ 00045 double y1(double x) /* wrapper y1 */ 00046 #else 00047 double y1(x) /* wrapper y1 */ 00048 double x; 00049 #endif 00050 { 00051 #ifdef _IEEE_LIBM 00052 return __ieee754_y1(x); 00053 #else 00054 double z; 00055 z = __ieee754_y1(x); 00056 if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z; 00057 if(x <= 0.0){ 00058 if(x==0.0) 00059 /* d= -one/(x-x); */ 00060 return __kernel_standard(x,x,10); 00061 else 00062 /* d = zero/(x-x); */ 00063 return __kernel_standard(x,x,11); 00064 } 00065 if(x>X_TLOSS) { 00066 return __kernel_standard(x,x,37); /* y1(x>X_TLOSS) */ 00067 } else 00068 return z; 00069 #endif 00070 }

Generated on Thu Nov 20 11:49:52 2008 for RTAI API by doxygen 1.3.8