@@ -97,7 +97,8 @@ function test_enzyme(T::Type, sz; kwargs...)
9797 test_enzyme_lq (T, sz; kwargs... )
9898 if length (sz) == 1 || sz[1 ] == sz[2 ]
9999 test_enzyme_eig (T, sz; kwargs... )
100- test_enzyme_eigh (T, sz; kwargs... )
100+ # missing Enzyme rule
101+ eltype (T) <: BlasFloat && test_enzyme_eigh (T, sz; kwargs... )
101102 end
102103 test_enzyme_svd (T, sz; kwargs... )
103104 if eltype (T) <: BlasFloat
@@ -215,7 +216,7 @@ function test_enzyme_eig(
215216 test_reverse (eig_full, RT, (A, TA); fkwargs = (alg = alg,), atol, rtol, output_tangent = ΔD2V, fdm)
216217 is_cpu (A) && enz_test_pullbacks_match (rng, eig_full!, eig_full, A, DV, ΔD2V, alg)
217218 else
218- is_cpu (A) && enz_test_pullbacks_match (rng, eig_full!, eig_full, A, (nothing , nothing ), (nothing , nothing ), alg; ȳ = (ΔD2, ΔV) )
219+ is_cpu (A) && enz_test_pullbacks_match (rng, eig_full!, eig_full, A, (nothing , nothing ), (nothing , nothing ), alg; ȳ = ΔD2V )
219220 end
220221 end
221222 end
@@ -224,7 +225,7 @@ function test_enzyme_eig(
224225 D, ΔD = ad_eig_vals_setup (A)
225226 if eltype (T) <: BlasFloat
226227 test_reverse (eig_vals, RT, (A, TA); fkwargs = (alg = alg,), atol, rtol, output_tangent = ΔD, fdm)
227- is_cpu (A) && enz_test_pullbacks_match (rng, eig_vals!, eig_vals, A, D. diag , ΔD, alg)
228+ is_cpu (A) && enz_test_pullbacks_match (rng, eig_vals!, eig_vals, A, D, ΔD, alg)
228229 else
229230 is_cpu (A) && enz_test_pullbacks_match (rng, eig_vals!, eig_vals, A, nothing , nothing , alg; ȳ = ΔD)
230231 end
@@ -273,14 +274,14 @@ function test_enzyme_eigh(
273274 test_reverse (enz_copy_eigh_full, RT, (A, TA), (alg, Const); atol, rtol, output_tangent = ΔD2V, fdm)
274275 test_reverse (enz_copy_eigh_full!, RT, (A, TA), (DV, TA), (alg, Const); atol, rtol, output_tangent = ΔD2V, fdm)
275276 end
276- is_cpu (A) && enz_test_pullbacks_match (rng, enz_copy_eigh_full!, copy_eigh_full , A, DV, ΔD2V, alg)
277+ is_cpu (A) && enz_test_pullbacks_match (rng, enz_copy_eigh_full!, enz_copy_eigh_full , A, DV, ΔD2V, alg)
277278 end
278279 end
279280 @testset " eigh_vals" begin
280281 @testset " reverse: RT $RT , TA $TA " for RT in (Duplicated,), TA in (Duplicated,)
281282 D, ΔD = ad_eigh_vals_setup (A)
282283 eltype (T) <: BlasFloat && test_reverse (enz_copy_eigh_vals, RT, (A, TA); fkwargs = (alg = alg,), atol, rtol, output_tangent = ΔD, fdm)
283- is_cpu (A) && enz_test_pullbacks_match (rng, enz_copy_eigh_vals!, copy_eigh_vals , A, D, ΔD, alg)
284+ is_cpu (A) && enz_test_pullbacks_match (rng, enz_copy_eigh_vals!, enz_copy_eigh_vals , A, D, ΔD, alg)
284285 end
285286 end
286287 @testset " eigh_trunc" begin
0 commit comments