Skip to content

Commit 711f9ac

Browse files
committed
update coefficients
1 parent 75795b6 commit 711f9ac

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/U_polynomials.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function Uk_poly_In(p, v, p2, ::Type{Float32})
2626
u2 = 1 / 1152 * evalpoly(p2, (81, -462, 385))
2727
return evalpoly(-p/v, (u0, u1, u2))
2828
end
29-
function Uk_poly_Jn(p, v, p2, ::Type{T}) where T <: Float64
29+
function Uk_poly_Jn(p, v, p2, ::Type{T}) where T <: Union{Float64, BigFloat}
3030
u0 = one(T)
3131
u1 = -1 / 24 * evalpoly(p2, (3, -5))
3232
u2 = 1 / 1152 * evalpoly(p2, (81, -462, 385))

src/besselj.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,10 +226,11 @@ function besselj_debye(v, x)
226226
T = eltype(x)
227227
S = promote_type(T, Float64)
228228
x = S(x)
229-
n = v*log(v/x + sqrt((v/x)^2 - 1)) - sqrt(v^2 - x^2)
230-
coef = inv(sqrt(2*T(pi))) * exp(-n) / (v^2 - x^2)^(1/4)
229+
b = sqrt(v^2 - x^2)
230+
n = v * log(v/x + sqrt((v/x)^2 - 1)) - b
231+
coef = inv(sqrt(2*T(pi))) * exp(-n) / sqrt(b)
231232
p = v / sqrt(v^2 - x^2)
232-
p2 = v^2/fma(max(v,x), max(v,x), -min(v,x)^2)
233+
p2 = v^2/fma(v,v, -x^2)
233234

234235
return coef * Uk_poly_Jn(p, v, p2, T)
235236
end

0 commit comments

Comments
 (0)