Lines Matching refs:J0
27 // Method -- j0(x):
28 // 1. For tiny x, we use j0(x) = 1 - x**2/4 + x**4/64 - ...
29 // 2. Reduce x to |x| since j0(x)=j0(-x), and
31 // j0(x) = 1-z/4+ z**2*R0/S0, where z = x*x;
32 // (precision: |j0-1+z/4-z**2R0/S0 |<2**-63.67 )
34 // j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0))
46 // j0(nan)= nan
47 // j0(0) = 1
48 // j0(inf) = 0
53 // y0(x) = 2/pi*(j0(x)*(ln(x/2)+Euler) + x**2/4 - ...)
54 // therefore y0(x)-2/pi*j0(x)*ln(x) is an even function.
56 // y0(x) = U(z)/V(z) + (2/pi)*(j0(x)*ln(x)), z= x**2
61 // Note: For tiny x, U/V = u0 and j0(x)~1, hence
70 // J0 returns the order-zero Bessel function of the first kind.
73 // J0(ħInf) = 0
74 // J0(0) = 1
75 // J0(NaN) = NaN
76 func J0(x float64) float64 {
120 // j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
199 // j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
227 return u/v + (2/Pi)*J0(x)*Log(x) // ~7.4506e-9 < |x| < 2.0