Update.
[glibc.git] / sysdeps / libm-ieee754 / w_j1.c
blobae6e9b5537ca0146c7d613cd3304b1df79f23619
1 /* @(#)w_j1.c 5.1 93/09/24 */
2 /*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 * Developed at SunPro, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
13 #if defined(LIBM_SCCS) && !defined(lint)
14 static char rcsid[] = "$NetBSD: w_j1.c,v 1.6 1995/05/10 20:49:15 jtc Exp $";
15 #endif
18 * wrapper of j1,y1
21 #include "math.h"
22 #include "math_private.h"
24 #ifdef __STDC__
25 double __j1(double x) /* wrapper j1 */
26 #else
27 double __j1(x) /* wrapper j1 */
28 double x;
29 #endif
31 #ifdef _IEEE_LIBM
32 return __ieee754_j1(x);
33 #else
34 double z;
35 z = __ieee754_j1(x);
36 if(_LIB_VERSION == _IEEE_ || __isnan(x) ) return z;
37 if(fabs(x)>X_TLOSS) {
38 return __kernel_standard(x,x,36); /* j1(|x|>X_TLOSS) */
39 } else
40 return z;
41 #endif
43 weak_alias (__j1, j1)
44 #ifdef NO_LONG_DOUBLE
45 strong_alias (__j1, __j1l)
46 weak_alias (__j1, j1l)
47 #endif
50 #ifdef __STDC__
51 double __y1(double x) /* wrapper y1 */
52 #else
53 double __y1(x) /* wrapper y1 */
54 double x;
55 #endif
57 #ifdef _IEEE_LIBM
58 return __ieee754_y1(x);
59 #else
60 double z;
61 z = __ieee754_y1(x);
62 if(_LIB_VERSION == _IEEE_ || __isnan(x) ) return z;
63 if(x <= 0.0){
64 if(x==0.0)
65 /* d= -one/(x-x); */
66 return __kernel_standard(x,x,10);
67 else
68 /* d = zero/(x-x); */
69 return __kernel_standard(x,x,11);
71 if(x>X_TLOSS) {
72 return __kernel_standard(x,x,37); /* y1(x>X_TLOSS) */
73 } else
74 return z;
75 #endif
77 weak_alias (__y1, y1)
78 #ifdef NO_LONG_DOUBLE
79 strong_alias (__y1, __y1l)
80 weak_alias (__y1, y1l)
81 #endif