Skip to content

Commit 7cde295

Browse files
committed
Fix AutoMTK constructors
1 parent e00e087 commit 7cde295

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

src/legacy.jl

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,24 @@
1111

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

14-
function AutoModelingToolkit(sparse = false, cons_sparse = false; kwargs...)
15-
@warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." maxlog=1
16-
if sparse || cons_sparse
14+
function mtk_to_symbolics(obj_sparse::Bool, cons_sparse::Bool)
15+
if obj_sparse || cons_sparse
1716
return AutoSparse(AutoSymbolics())
1817
else
1918
return AutoSymbolics()
2019
end
2120
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: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
@testset "AutoModelingToolkit" begin
2-
ad = @test_warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." AutoModelingToolkit()
3-
@test ad isa AbstractADType
4-
ad = @test_warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." AutoModelingToolkit(true)
5-
@test ad isa AbstractADType
6-
@test ad isa AutoSparse
7-
@test dense_ad(ad) isa AutoSymbolics
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))
815
end
916

1017
@testset "AutoSparseFastDifferentiation" begin

0 commit comments

Comments
 (0)