Skip to content

Commit 7ed3e6f

Browse files
Improve inferrence coverage
1 parent a62667e commit 7ed3e6f

File tree

1 file changed

+33
-10
lines changed

1 file changed

+33
-10
lines changed

test/regression/inference.jl

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,40 @@ using Test
55
prob = ODEProblemLibrary.prob_ode_linear
66
prob2D = ODEProblemLibrary.prob_ode_2Dlinear
77

8-
inferred1 = [BS3(), Tsit5(), RK4(), Vern6()]
9-
for alg in inferred1
10-
@inferred init(prob, alg)
11-
@inferred init(prob2D, alg)
8+
@testset "non-stiff" begin
9+
inferred1 = [BS3(), Tsit5(), RK4(), Vern6()]
10+
for alg in inferred1
11+
@inferred init(prob, alg)
12+
@inferred init(prob2D, alg)
13+
end
1214
end
1315

14-
# ForwardDiff is not fully inferable
15-
autodiff = ADTypes.AutoFiniteDiff()
16-
inferred2 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
17-
for alg in inferred2
18-
@inferred init(prob, alg)
19-
@inferred init(prob2D, alg)
16+
@testset "stiff default" begin
17+
# Stiff solvers are not fully inferable for the 2D problem with the default args
18+
inferred2 = [SDIRK2(), TRBDF2(), KenCarp4(), Rosenbrock23(), Rodas4()]
19+
for alg in inferred2
20+
@inferred init(prob, alg)
21+
@test_broken @inferred init(prob2D, alg)
22+
end
23+
end
24+
25+
@testset "stiff fixed chunksize" begin
26+
# When choosing a fixed chunksize it works
27+
autodiff = ADTypes.AutoForwardDiff(; chunksize=10)
28+
inferred3 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
29+
for alg in inferred3
30+
@inferred init(prob, alg)
31+
@inferred init(prob2D, alg)
32+
end
33+
end
34+
35+
@testset "stiff finite diff" begin
36+
# FiniteDiff works
37+
autodiff = ADTypes.AutoFiniteDiff()
38+
inferred4 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
39+
for alg in inferred4
40+
@inferred init(prob, alg)
41+
@inferred init(prob2D, alg)
42+
end
2043
end
2144
end

0 commit comments

Comments
 (0)