Skip to content

Commit 6a76e11

Browse files
Merge pull request #61 from SciML/mtk
Fix constructor of AutoMTK
2 parents 733a26a + 7cde295 commit 6a76e11

File tree

3 files changed

+36
-6
lines changed

3 files changed

+36
-6
lines changed

src/ADTypes.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export AutoChainRules,
3535
AutoFiniteDiff,
3636
AutoFiniteDifferences,
3737
AutoForwardDiff,
38+
AutoModelingToolkit,
3839
AutoPolyesterForwardDiff,
3940
AutoReverseDiff,
4041
AutoSymbolics,

src/legacy.jl

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,24 @@
1111

1212
@deprecate AutoSparseZygote() AutoSparse(AutoZygote())
1313

14-
@deprecate AutoModelingToolkit(; kwargs...) AutoSparse(AutoSymbolics())
14+
function mtk_to_symbolics(obj_sparse::Bool, cons_sparse::Bool)
15+
if obj_sparse || cons_sparse
16+
return AutoSparse(AutoSymbolics())
17+
else
18+
return AutoSymbolics()
19+
end
20+
end
21+
22+
function AutoModelingToolkit(obj_sparse::Bool, cons_sparse::Bool)
23+
Base.depwarn(
24+
"`AutoModelingToolkit(obj_sparse, cons_sparse)` is deprecated, use `AutoSymbolics()` or `AutoSparse(AutoSymbolics())` instead.",
25+
:AutoModelingToolkit; force = false)
26+
return mtk_to_symbolics(obj_sparse, cons_sparse)
27+
end
28+
29+
function AutoModelingToolkit(; obj_sparse::Bool = false, cons_sparse::Bool = false)
30+
Base.depwarn(
31+
"`AutoModelingToolkit(; obj_sparse, cons_sparse)` is deprecated, use `AutoSymbolics()` or `AutoSparse(AutoSymbolics())` instead.",
32+
:AutoModelingToolkit; force = false)
33+
return mtk_to_symbolics(obj_sparse, cons_sparse)
34+
end

test/legacy.jl

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
1-
@testset "AutoModelingToolkig" begin
2-
ad = @test_deprecated AutoModelingToolkit()
3-
@test ad isa AbstractADType
4-
@test ad isa AutoSparse
5-
@test dense_ad(ad) isa AutoSymbolics
1+
@testset "AutoModelingToolkit" begin
2+
ad_sparse1 = @test_deprecated AutoModelingToolkit(;
3+
obj_sparse = true, cons_sparse = false)
4+
ad_sparse2 = @test_deprecated AutoModelingToolkit(true, false)
5+
6+
ad_dense1 = @test_deprecated AutoModelingToolkit(;
7+
obj_sparse = false, cons_sparse = false)
8+
ad_dense2 = @test_deprecated AutoModelingToolkit(false, false)
9+
ad_dense3 = @test_deprecated AutoModelingToolkit()
10+
11+
@test all(
12+
isa.((ad_sparse1, ad_sparse2, ad_dense1, ad_dense2, ad_dense3), AbstractADType))
13+
@test all(isa.((ad_sparse1, ad_sparse2), AutoSparse{<:AutoSymbolics}))
14+
@test all(isa.((ad_dense1, ad_dense2, ad_dense3), AutoSymbolics))
615
end
716

817
@testset "AutoSparseFastDifferentiation" begin

0 commit comments

Comments
 (0)