File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -114,7 +114,8 @@ function besselj1(x::Float64)
114
114
p = evalpoly (z, PP_j1 (T)) / evalpoly (z, PQ_j1 (T))
115
115
q = evalpoly (z, QP_j1 (T)) / evalpoly (z, QQ_j1 (T))
116
116
xn = x - THPIO4 (T)
117
- p = p * cos (xn) - w * q * sin (xn)
117
+ sc = sincos (xn)
118
+ p = p * sc[2 ] - w * q * sc[1 ]
118
119
return p * SQ2OPI (T) / sqrt (x)
119
120
else
120
121
xinv = inv (x)
Original file line number Diff line number Diff line change @@ -29,7 +29,8 @@ function _bessely0_compute(x::Float64)
29
29
p = evalpoly (z, PP_y0 (T)) / evalpoly (z, PQ_y0 (T))
30
30
q = evalpoly (z, QP_y0 (T)) / evalpoly (z, QQ_y0 (T))
31
31
xn = x - PIO4 (T)
32
- p = p * sin (xn) + w * q * cos (xn);
32
+ sc = sincos (xn)
33
+ p = p * sc[1 ] + w * q * sc[2 ]
33
34
return p * SQ2OPI (T) / sqrt (x)
34
35
else
35
36
xinv = inv (x)
@@ -89,13 +90,14 @@ function _bessely1_compute(x::Float64)
89
90
w = x * (evalpoly (z, YP_y1 (T)) / evalpoly (z, YQ_y1 (T)))
90
91
w += TWOOPI (T) * (besselj1 (x) * log (x) - inv (x))
91
92
return w
92
- elseif x < 100 .0
93
+ elseif x < 75 .0
93
94
w = T (5 ) / x
94
95
z = w * w
95
96
p = evalpoly (z, PP_j1 (T)) / evalpoly (z, PQ_j1 (T))
96
97
q = evalpoly (z, QP_j1 (T)) / evalpoly (z, QQ_j1 (T))
97
98
xn = x - THPIO4 (T)
98
- p = p * sin (xn) + w * q * cos (xn)
99
+ sc = sincos (xn)
100
+ p = p * sc[1 ] + w * q * sc[2 ]
99
101
return p * SQ2OPI (T) / sqrt (x)
100
102
else
101
103
xinv = inv (x)
You can’t perform that action at this time.
0 commit comments