Skip to content

Commit 9971fd2

Browse files
committed
Merge pull request #15272 from JuliaLang/sb/besselfix
besselj Float32 calling incorrect function
2 parents c5be4fc + 38f988d commit 9971fd2

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

base/special/bessel.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ function besselj(nu::Float64, z::Complex128)
233233
end
234234

235235
besselj(nu::Cint, x::Float64) = ccall((:jn, libm), Float64, (Cint, Float64), nu, x)
236-
besselj(nu::Cint, x::Float32) = ccall((:jn, libm), Float32, (Cint, Float32), nu, x)
236+
besselj(nu::Cint, x::Float32) = ccall((:jnf, libm), Float32, (Cint, Float32), nu, x)
237237

238238

239239
function besseljx(nu::Float64, z::Complex128)

test/math.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,12 +387,20 @@ j33 = besselj(3,3.)
387387
@test besselj(-3,-3) == j33
388388
@test besselj(-3,3) == -j33
389389
@test besselj(3,-3) == -j33
390+
@test besselj(3,3f0) Float32(j33)
391+
@test besselj(3,complex(3.)) j33
392+
@test besselj(3,complex(3f0)) Float32(j33)
393+
@test besselj(3,complex(3)) j33
390394

391395
j43 = besselj(4,3.)
392396
@test besselj(4,3) == j43
393397
@test besselj(-4,-3) == j43
394398
@test besselj(-4,3) == j43
395399
@test besselj(4,-3) == j43
400+
@test besselj(4,3f0) Float32(j43)
401+
@test besselj(4,complex(3.)) j43
402+
@test besselj(4,complex(3f0)) Float32(j43)
403+
@test besselj(4,complex(3)) j43
396404

397405
@test_approx_eq j33 0.30906272225525164362
398406
@test_approx_eq j43 0.13203418392461221033

0 commit comments

Comments
 (0)