Skip to content

Commit df2db0c

Browse files
committed
fix besselk f16
1 parent c095ae2 commit df2db0c

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

src/besselk.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,11 @@ end
243243
244244
Scaled modified Bessel function of the second kind of order nu, ``K_{nu}(x)*e^{x}``.
245245
"""
246-
function besselkx(nu, x::T) where T <: Union{Float32, Float64}
246+
besselkx(nu::Real, x::Real) = _besselkx(nu, float(x))
247+
248+
_besselkx(nu, x::Float16) = Float16(_besselkx(nu, Float32(x)))
249+
250+
function _besselkx(nu, x::T) where T <: Union{Float32, Float64}
247251
# dispatch to avoid uniform expansion when nu = 0
248252
iszero(nu) && return besselk0x(x)
249253

test/besseli_test.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ t = [besseli(m, x) for m in m, x in x]
9292
t = [besselix(m, x) for m in m, x in x]
9393
@test t[10] isa Float64
9494
@test t [SpecialFunctions.besselix(m, x) for m in m, x in x]
95+
@test besselix(10, Float16(1.0)) isa Float16
9596

9697
## Tests for besselk
9798

test/besselk_test.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ end
122122

123123
# test Float16
124124
@test besselk(10, Float16(1.0)) isa Float16
125+
@test besselkx(10, Float16(1.0)) isa Float16
125126

126127
# test Inf
127128
@test iszero(besselk(2, Inf))

0 commit comments

Comments
 (0)