Lines Matching +full:fraction +full:- +full:z
1 /* e_jnf.c -- float version of e_jn.c.
36 float z, w; in jnf() local
38 /* J(-n,x) = (-1)^n * J(n, x), J(n, -x) = (-1)^n * J(n, x) in jnf()
39 * Thus, J(-n,x) = J(n,-x) in jnf()
46 n = -n; in jnf()
47 x = -x; in jnf()
52 sgn = (n&1)&(hx>>31); /* even n -- 0, odd n -- sign(x) */ in jnf()
57 /* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */ in jnf()
62 b = b*((float)(i+i)/x) - a; /* avoid underflow */ in jnf()
66 if(ix<0x30800000) { /* x < 2**-29 */ in jnf()
68 * J(n,x) = 1/n!*(x/2)^n - ... in jnf()
83 * J(n,x)/J(n-1,x) = ---- ------ ------ ..... in jnf()
84 * 2n - 2(n+1) - 2(n+2) in jnf()
87 * (for large x) = ---- ------ ------ ..... in jnf()
89 * -- - ------ - ------ - in jnf()
93 * is equal to the continued fraction: in jnf()
95 * = ----------------------- in jnf()
97 * w - ----------------- in jnf()
99 * w+h - --------- in jnf()
100 * w+2h - ... in jnf()
103 * Q(0) = w, Q(1) = w(w+h) - 1, in jnf()
104 * Q(k) = (w+k*h)*Q(k-1) - Q(k-2), in jnf()
113 q0 = w; z = w+h; q1 = w*z - (float)1.0; k=1; in jnf()
115 k += 1; z += h; in jnf()
116 tmp = z*q1 - q0; in jnf()
121 for(t=zero, i = 2*(n+k); i>=m; i -= 2) t = one/(i/x-t); in jnf()
136 for(i=n-1,di=(float)(i+i);i>0;i--){ in jnf()
139 b = b/x - a; in jnf()
141 di -= two; in jnf()
144 for(i=n-1,di=(float)(i+i);i>0;i--){ in jnf()
147 b = b/x - a; in jnf()
149 di -= two; in jnf()
158 z = j0f(x); in jnf()
160 if (fabsf(z) >= fabsf(w)) in jnf()
161 b = (t*z/b); in jnf()
166 if(sgn==1) return -b; else return b; in jnf()
179 if(ix==0) return -one/vzero; in ynf()
183 n = -n; in ynf()
184 sign = 1 - ((n&1)<<1); in ynf()
192 /* quit if b is -inf */ in ynf()
196 b = ((float)(i+i)/x)*b - a; in ynf()
200 if(sign>0) return b; else return -b; in ynf()