Skip to content

Commit

Permalink
Fix AutoMTK constructors
Browse files Browse the repository at this point in the history
  • Loading branch information
gdalle committed Jun 7, 2024
1 parent e00e087 commit 7cde295
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 9 deletions.
19 changes: 16 additions & 3 deletions src/legacy.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,24 @@

@deprecate AutoSparseZygote() AutoSparse(AutoZygote())

function AutoModelingToolkit(sparse = false, cons_sparse = false; kwargs...)
@warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." maxlog=1
if sparse || cons_sparse
function mtk_to_symbolics(obj_sparse::Bool, cons_sparse::Bool)

Check warning on line 14 in src/legacy.jl

View check run for this annotation

Codecov / codecov/patch

src/legacy.jl#L14

Added line #L14 was not covered by tests
if obj_sparse || cons_sparse
return AutoSparse(AutoSymbolics())
else
return AutoSymbolics()
end
end

function AutoModelingToolkit(obj_sparse::Bool, cons_sparse::Bool)

Check warning on line 22 in src/legacy.jl

View check run for this annotation

Codecov / codecov/patch

src/legacy.jl#L22

Added line #L22 was not covered by tests
Base.depwarn(
"`AutoModelingToolkit(obj_sparse, cons_sparse)` is deprecated, use `AutoSymbolics()` or `AutoSparse(AutoSymbolics())` instead.",
:AutoModelingToolkit; force = false)
return mtk_to_symbolics(obj_sparse, cons_sparse)
end

function AutoModelingToolkit(; obj_sparse::Bool = false, cons_sparse::Bool = false)

Check warning on line 29 in src/legacy.jl

View check run for this annotation

Codecov / codecov/patch

src/legacy.jl#L29

Added line #L29 was not covered by tests
Base.depwarn(
"`AutoModelingToolkit(; obj_sparse, cons_sparse)` is deprecated, use `AutoSymbolics()` or `AutoSparse(AutoSymbolics())` instead.",
:AutoModelingToolkit; force = false)
return mtk_to_symbolics(obj_sparse, cons_sparse)
end
19 changes: 13 additions & 6 deletions test/legacy.jl
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
@testset "AutoModelingToolkit" begin
ad = @test_warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." AutoModelingToolkit()
@test ad isa AbstractADType
ad = @test_warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." AutoModelingToolkit(true)
@test ad isa AbstractADType
@test ad isa AutoSparse
@test dense_ad(ad) isa AutoSymbolics
ad_sparse1 = @test_deprecated AutoModelingToolkit(;
obj_sparse = true, cons_sparse = false)
ad_sparse2 = @test_deprecated AutoModelingToolkit(true, false)

ad_dense1 = @test_deprecated AutoModelingToolkit(;
obj_sparse = false, cons_sparse = false)
ad_dense2 = @test_deprecated AutoModelingToolkit(false, false)
ad_dense3 = @test_deprecated AutoModelingToolkit()

@test all(
isa.((ad_sparse1, ad_sparse2, ad_dense1, ad_dense2, ad_dense3), AbstractADType))
@test all(isa.((ad_sparse1, ad_sparse2), AutoSparse{<:AutoSymbolics}))
@test all(isa.((ad_dense1, ad_dense2, ad_dense3), AutoSymbolics))
end

@testset "AutoSparseFastDifferentiation" begin
Expand Down

0 comments on commit 7cde295

Please sign in to comment.