source: trunk/sys/libm/w_j1.c @ 11

Last change on this file since 11 was 1, checked in by alain, 8 years ago

First import

File size: 1.4 KB
RevLine 
[1]1
2/* @(#)w_j1.c 5.1 93/09/24 */
3/*
4 * ====================================================
5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 *
7 * Developed at SunPro, 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 of j1,y1
16 */
17
18#include <libm/fdlibm.h>
19
20#ifdef __STDC__
21        double j1(double x)             /* wrapper j1 */
22#else
23        double j1(x)                    /* wrapper j1 */
24        double x;
25#endif
26{
27#ifdef _IEEE_LIBM
28        return __ieee754_j1(x);
29#else
30        double z;
31        z = __ieee754_j1(x);
32        if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
33        if(fabs(x)>X_TLOSS) {
34                return __kernel_standard(x,x,36); /* j1(|x|>X_TLOSS) */
35        } else
36            return z;
37#endif
38}
39
40#ifdef __STDC__
41        double y1(double x)             /* wrapper y1 */
42#else
43        double y1(x)                    /* wrapper y1 */
44        double x;
45#endif
46{
47#ifdef _IEEE_LIBM
48        return __ieee754_y1(x);
49#else
50        double z;
51        z = __ieee754_y1(x);
52        if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
53        if(x <= 0.0){
54                if(x==0.0)
55                    /* d= -one/(x-x); */
56                    return __kernel_standard(x,x,10);
57                else
58                    /* d = zero/(x-x); */
59                    return __kernel_standard(x,x,11);
60        }
61        if(x>X_TLOSS) {
62                return __kernel_standard(x,x,37); /* y1(x>X_TLOSS) */
63        } else
64            return z;
65#endif
66}
Note: See TracBrowser for help on using the repository browser.