]>
Commit | Line | Data |
---|---|---|
f7eac6eb RM |
1 | /* @(#)w_j1.c 5.1 93/09/24 */ |
2 | /* | |
3 | * ==================================================== | |
4 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. | |
5 | * | |
6 | * Developed at SunPro, a Sun Microsystems, Inc. business. | |
7 | * Permission to use, copy, modify, and distribute this | |
cccda09f | 8 | * software is freely granted, provided that this notice |
f7eac6eb RM |
9 | * is preserved. |
10 | * ==================================================== | |
11 | */ | |
12 | ||
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 | |
16 | ||
cccda09f UD |
17 | /* |
18 | * wrapper of j1,y1 | |
f7eac6eb RM |
19 | */ |
20 | ||
a334319f | 21 | #include "math.h" |
f7eac6eb RM |
22 | #include "math_private.h" |
23 | ||
24 | #ifdef __STDC__ | |
9a8fcca0 | 25 | double j1(double x) /* wrapper j1 */ |
f7eac6eb | 26 | #else |
9a8fcca0 | 27 | double j1(x) /* wrapper j1 */ |
f7eac6eb RM |
28 | double x; |
29 | #endif | |
30 | { | |
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 | |
42 | } | |
cccda09f | 43 | #ifdef NO_LONG_DOUBLE |
9a8fcca0 | 44 | strong_alias (j1, j1l) |
cccda09f UD |
45 | #endif |
46 | ||
f7eac6eb RM |
47 | |
48 | #ifdef __STDC__ | |
9a8fcca0 | 49 | double y1(double x) /* wrapper y1 */ |
f7eac6eb | 50 | #else |
9a8fcca0 | 51 | double y1(x) /* wrapper y1 */ |
f7eac6eb RM |
52 | double x; |
53 | #endif | |
54 | { | |
55 | #ifdef _IEEE_LIBM | |
56 | return __ieee754_y1(x); | |
57 | #else | |
58 | double z; | |
59 | z = __ieee754_y1(x); | |
60 | if(_LIB_VERSION == _IEEE_ || __isnan(x) ) return z; | |
61 | if(x <= 0.0){ | |
62 | if(x==0.0) | |
63 | /* d= -one/(x-x); */ | |
64 | return __kernel_standard(x,x,10); | |
65 | else | |
66 | /* d = zero/(x-x); */ | |
67 | return __kernel_standard(x,x,11); | |
68 | } | |
69 | if(x>X_TLOSS) { | |
70 | return __kernel_standard(x,x,37); /* y1(x>X_TLOSS) */ | |
71 | } else | |
72 | return z; | |
73 | #endif | |
74 | } | |
cccda09f | 75 | #ifdef NO_LONG_DOUBLE |
9a8fcca0 | 76 | strong_alias (y1, y1l) |
cccda09f | 77 | #endif |