Skip to content

Commit d146c8d

Browse files
Improve inferrence coverage
1 parent ef45927 commit d146c8d

1 file changed

Lines changed: 27 additions & 6 deletions

File tree

test/regression/inference.jl

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,33 @@ using OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqRosenbrock, OrdinaryDiffEqSDIRK
4646
end
4747
end
4848

49-
# ForwardDiff is not fully inferable
50-
autodiff = ADTypes.AutoFiniteDiff()
51-
inferred2 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
52-
for alg in inferred2
53-
@inferred init(prob, alg)
54-
@inferred init(prob2D, alg)
49+
@testset "stiff default" begin
50+
# Stiff solvers are not fully inferable for the 2D problem with the default args
51+
inferred2 = [SDIRK2(), TRBDF2(), KenCarp4(), Rosenbrock23(), Rodas4()]
52+
for alg in inferred2
53+
@inferred init(prob, alg)
54+
@test_broken @inferred init(prob2D, alg)
55+
end
56+
end
57+
58+
@testset "stiff fixed chunksize" begin
59+
# When choosing a fixed chunksize it works
60+
autodiff = ADTypes.AutoForwardDiff(; chunksize=10)
61+
inferred3 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
62+
for alg in inferred3
63+
@inferred init(prob, alg)
64+
@inferred init(prob2D, alg)
65+
end
66+
end
67+
68+
@testset "stiff finite diff" begin
69+
# FiniteDiff works
70+
autodiff = ADTypes.AutoFiniteDiff()
71+
inferred4 = [SDIRK2(; autodiff), TRBDF2(; autodiff), KenCarp4(; autodiff), Rosenbrock23(; autodiff), Rodas4(; autodiff)]
72+
for alg in inferred4
73+
@inferred init(prob, alg)
74+
@inferred init(prob2D, alg)
75+
end
5576
end
5677
end
5778

0 commit comments

Comments
 (0)