@@ -2,28 +2,33 @@ using EnzymeCore, Enzyme
22import Bessels. BesselFunctions: besselkx_levin
33import Bessels. BesselFunctions: besselk_power_series
44
5- dbesselkx_dv (v, x) = autodiff (Forward, _v-> besselkx_levin (_v, x, Val (30 )),
6- Duplicated, Duplicated (v, 1.0 ))[ 2 ]
5+ dbesselkx_dv (v, x) = only ( autodiff (Forward, _v-> besselkx_levin (_v, x, Val (30 )),
6+ Duplicated, Duplicated (v, 1.0 )))
77
8- dbesselkx_dx (v, x) = autodiff (Forward, _x-> besselkx_levin (v, _x, Val (30 )),
9- Duplicated, Duplicated (x, 1.0 ))[ 2 ]
8+ dbesselkx_dx (v, x) = only ( autodiff (Forward, _x-> besselkx_levin (v, _x, Val (30 )),
9+ Duplicated, Duplicated (x, 1.0 )))
1010
11- dbesselk_ps_dv (v, x) = autodiff (Forward, _v-> besselk (_v, x),
12- Duplicated, Duplicated (v, 1.0 ))[ 2 ]
11+ dbesselk_ps_dv (v, x) = only ( autodiff (Forward, _v-> besselk (_v, x),
12+ Duplicated, Duplicated (v, 1.0 )))
1313
14- dbesselk_ps_dx (v, x) = autodiff (Forward, _x-> besselk (v, _x),
15- Duplicated, Duplicated (x, 1.0 ))[ 2 ]
14+ dbesselk_ps_dx (v, x) = only ( autodiff (Forward, _x-> besselk (v, _x),
15+ Duplicated, Duplicated (x, 1.0 )))
1616
1717
18+ @testset " Besselkx autodiff" begin
1819for line in eachline (" data/besselk/enzyme/besselkx_levin_enzyme_tests.csv" )
20+ local v, x
1921 (v, x, dv, dx) = parse .(Float64, split (line))
2022 test_dv = dbesselkx_dv (v, x)
2123 test_dx = dbesselkx_dx (v, x)
2224 @test isapprox (dv, test_dv, rtol= 5e-14 )
2325 @test isapprox (dx, test_dx, rtol= 5e-14 )
2426end
27+ end
2528
29+ @testset " Besselk autodiff" begin
2630for line in eachline (" data/besselk/enzyme/besselk_power_series_enzyme_tests.csv" )
31+ local v, x
2732 (v, x, dv, dx) = parse .(Float64, split (line))
2833 test_dv = dbesselk_ps_dv (v, x)
2934 test_dx = dbesselk_ps_dx (v, x)
@@ -35,4 +40,4 @@ for line in eachline("data/besselk/enzyme/besselk_power_series_enzyme_tests.csv"
3540 @test isapprox (dx, test_dx, rtol= 5e-14 )
3641 end
3742end
38-
43+ end
0 commit comments