From 1e83c941871b0e005431e90269350cdd099dde19 Mon Sep 17 00:00:00 2001 From: Vaibhav Dixit Date: Thu, 6 Jun 2024 14:39:02 -0400 Subject: [PATCH 1/4] Fix constructor of AutoMTK --- src/legacy.jl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/legacy.jl b/src/legacy.jl index 642095a..2abc9b8 100644 --- a/src/legacy.jl +++ b/src/legacy.jl @@ -11,4 +11,11 @@ @deprecate AutoSparseZygote() AutoSparse(AutoZygote()) -@deprecate AutoModelingToolkit(; kwargs...) AutoSparse(AutoSymbolics()) +function AutoModelingToolkit(sparse = false, cons_sparse = false; kwargs...) + @warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." + if sparse || cons_sparse + return AutoSparse(AutoSymbolics()) + else + return AutoSymbolics() + end +end From 8a9deb4112acc43df37ca540208c5cef1a1d46e5 Mon Sep 17 00:00:00 2001 From: Vaibhav Dixit Date: Thu, 6 Jun 2024 15:13:48 -0400 Subject: [PATCH 2/4] update test and export --- src/ADTypes.jl | 1 + test/legacy.jl | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ADTypes.jl b/src/ADTypes.jl index fb63976..7fefb2b 100644 --- a/src/ADTypes.jl +++ b/src/ADTypes.jl @@ -35,6 +35,7 @@ export AutoChainRules, AutoFiniteDiff, AutoFiniteDifferences, AutoForwardDiff, + AutoModelingToolkit, AutoPolyesterForwardDiff, AutoReverseDiff, AutoSymbolics, diff --git a/test/legacy.jl b/test/legacy.jl index 2a104b4..84cfa1f 100644 --- a/test/legacy.jl +++ b/test/legacy.jl @@ -1,5 +1,7 @@ -@testset "AutoModelingToolkig" begin - ad = @test_deprecated AutoModelingToolkit() +@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 From e00e0876f67695356ec1a45ab82e7b2ebf8d1f65 Mon Sep 17 00:00:00 2001 From: Vaibhav Kumar Dixit Date: Thu, 6 Jun 2024 20:08:13 -0400 Subject: [PATCH 3/4] Update src/legacy.jl Co-authored-by: Christopher Rackauckas --- src/legacy.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legacy.jl b/src/legacy.jl index 2abc9b8..a235d13 100644 --- a/src/legacy.jl +++ b/src/legacy.jl @@ -12,7 +12,7 @@ @deprecate AutoSparseZygote() AutoSparse(AutoZygote()) function AutoModelingToolkit(sparse = false, cons_sparse = false; kwargs...) - @warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." + @warn "AutoModelingToolkit(args...) is deprecated, use AutoSymbolics() or AutoSparse(AutoSymbolics()) instead." maxlog=1 if sparse || cons_sparse return AutoSparse(AutoSymbolics()) else From 7cde29577249ba9dfd1f652ea7932306adee8139 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Fri, 7 Jun 2024 08:05:41 +0200 Subject: [PATCH 4/4] Fix AutoMTK constructors --- src/legacy.jl | 19 ++++++++++++++++--- test/legacy.jl | 19 +++++++++++++------ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/legacy.jl b/src/legacy.jl index a235d13..5784399 100644 --- a/src/legacy.jl +++ b/src/legacy.jl @@ -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) + if obj_sparse || cons_sparse return AutoSparse(AutoSymbolics()) else return AutoSymbolics() end end + +function AutoModelingToolkit(obj_sparse::Bool, cons_sparse::Bool) + 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) + 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 diff --git a/test/legacy.jl b/test/legacy.jl index 84cfa1f..08f09d9 100644 --- a/test/legacy.jl +++ b/test/legacy.jl @@ -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