From c02cd5a2c73fb10bee35119281f527e388f96860 Mon Sep 17 00:00:00 2001 From: Oscar Smith Date: Wed, 23 Apr 2025 22:13:34 -0400 Subject: [PATCH 1/2] default besselh to k=1 like the docs say it does --- src/BesselFunctions/hankel.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/BesselFunctions/hankel.jl b/src/BesselFunctions/hankel.jl index ba8d18f..810a92a 100644 --- a/src/BesselFunctions/hankel.jl +++ b/src/BesselFunctions/hankel.jl @@ -217,6 +217,8 @@ function besselh(nu::Real, k::Integer, x) end end +besselh(nu, x) = besselh(nu, 1, x) + function besselh(nu::AbstractRange, k::Integer, x::T) where T (nu[1] >= 0 && step(nu) == 1) || throw(ArgumentError("nu must be >= 0 with step(nu)=1")) if nu[end] < x From f1427e98a6dfc838c75ecd07e01e036d6b379645 Mon Sep 17 00:00:00 2001 From: Oscar Smith Date: Wed, 23 Apr 2025 22:15:52 -0400 Subject: [PATCH 2/2] add test --- test/hankel_test.jl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/hankel_test.jl b/test/hankel_test.jl index 16cefba..cc495de 100644 --- a/test/hankel_test.jl +++ b/test/hankel_test.jl @@ -31,3 +31,7 @@ v, x = 14.3, 29.4 @test isapprox(hankelh1(0.5:1:25.5, 15.0), SpecialFunctions.hankelh1.(0.5:1:25.5, 15.0), rtol=2e-13) @test isapprox(hankelh1(1:50, 100.0), SpecialFunctions.hankelh1.(1:50, 100.0), rtol=2e-13) @test isapprox(hankelh2(1:50, 10.0), SpecialFunctions.hankelh2.(1:50, 10.0), rtol=2e-13) + +#test 2 arg version +@test besselh(v, 1, x) == besselh(v, x) +@test besselh(1:50, 1, 10.0) == besselh(1:50, 10.0)