diff --git a/test/besselk_enzyme_test.jl b/test/besselk_enzyme_test.jl index 9332c51..e989f4d 100644 --- a/test/besselk_enzyme_test.jl +++ b/test/besselk_enzyme_test.jl @@ -2,28 +2,33 @@ using EnzymeCore, Enzyme import Bessels.BesselFunctions: besselkx_levin import Bessels.BesselFunctions: besselk_power_series -dbesselkx_dv(v, x) = autodiff(Forward, _v->besselkx_levin(_v, x, Val(30)), - Duplicated, Duplicated(v, 1.0))[2] +dbesselkx_dv(v, x) = only(autodiff(Forward, _v->besselkx_levin(_v, x, Val(30)), + Duplicated, Duplicated(v, 1.0))) -dbesselkx_dx(v, x) = autodiff(Forward, _x->besselkx_levin(v, _x, Val(30)), - Duplicated, Duplicated(x, 1.0))[2] +dbesselkx_dx(v, x) = only(autodiff(Forward, _x->besselkx_levin(v, _x, Val(30)), + Duplicated, Duplicated(x, 1.0))) -dbesselk_ps_dv(v, x) = autodiff(Forward, _v->besselk(_v, x), - Duplicated, Duplicated(v, 1.0))[2] +dbesselk_ps_dv(v, x) = only(autodiff(Forward, _v->besselk(_v, x), + Duplicated, Duplicated(v, 1.0))) -dbesselk_ps_dx(v, x) = autodiff(Forward, _x->besselk(v, _x), - Duplicated, Duplicated(x, 1.0))[2] +dbesselk_ps_dx(v, x) = only(autodiff(Forward, _x->besselk(v, _x), + Duplicated, Duplicated(x, 1.0))) +@testset "Besselkx autodiff" begin for line in eachline("data/besselk/enzyme/besselkx_levin_enzyme_tests.csv") + local v, x (v, x, dv, dx) = parse.(Float64, split(line)) test_dv = dbesselkx_dv(v, x) test_dx = dbesselkx_dx(v, x) @test isapprox(dv, test_dv, rtol=5e-14) @test isapprox(dx, test_dx, rtol=5e-14) end +end +@testset "Besselk autodiff" begin for line in eachline("data/besselk/enzyme/besselk_power_series_enzyme_tests.csv") + local v, x (v, x, dv, dx) = parse.(Float64, split(line)) test_dv = dbesselk_ps_dv(v, x) test_dx = dbesselk_ps_dx(v, x) @@ -35,4 +40,4 @@ for line in eachline("data/besselk/enzyme/besselk_power_series_enzyme_tests.csv" @test isapprox(dx, test_dx, rtol=5e-14) end end - +end diff --git a/test/runtests.jl b/test/runtests.jl index abe8a15..3830779 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -10,11 +10,5 @@ import SpecialFunctions @time @testset "gamma" begin include("gamma_test.jl") end @time @testset "airy" begin include("airy_test.jl") end @time @testset "sphericalbessel" begin include("sphericalbessel_test.jl") end - -# https://github.com/EnzymeAD/Enzyme.jl/issues/2699 -if VERSION > v"1.12" - @warn "Skipping enzyme autodiff tests on Julia > 1.12 due to Enzyme.jl compatibility issues." -else - @time @testset "besselk enzyme autodiff" begin include("besselk_enzyme_test.jl") end - @time @testset "besseli enzyme autodiff" begin include("besseli_enzyme_test.jl") end -end +@time @testset "besselk enzyme autodiff" begin include("besselk_enzyme_test.jl") end +@time @testset "besseli enzyme autodiff" begin include("besseli_enzyme_test.jl") end