@@ -8,3 +8,165 @@ macro mtkbuild(exprs...)
88 @mtkcompile $ (exprs... )
99 end |> esc
1010end
11+
12+ for T in [:ODESystem , :NonlinearSystem , :DiscreteSystem , :ImplicitDiscreteSystem ]
13+ @eval @deprecate $ T (args... ; kwargs... ) System (args... ; kwargs... )
14+ end
15+
16+ for T in [:ODEProblem , :DDEProblem , :SDEProblem , :SDDEProblem , :DAEProblem ,
17+ :BVProblem , :DiscreteProblem , :ImplicitDiscreteProblem ]
18+ for (pType, pCanonical) in [
19+ (AbstractDict, :p ),
20+ (AbstractArray{<: Pair }, :(Dict (p))),
21+ (AbstractArray, :(isempty (p) ? Dict () : Dict (parameters (sys) .=> p)))
22+ ],
23+ (uType, uCanonical) in [
24+ (Nothing, :(Dict ())),
25+ (AbstractDict, :u0 ),
26+ (AbstractArray{<: Pair }, :(Dict (u0))),
27+ (AbstractArray, :(isempty (u0) ? Dict () : Dict (unknowns (sys) .=> u0)))
28+ ]
29+
30+ @eval function SciMLBase. $T (sys:: System , u0:: $uType , tspan, p:: $pType ; kw... )
31+ ctor = string ($ T)
32+ uCan = string ($ (QuoteNode (uCanonical)))
33+ pCan = string ($ (QuoteNode (pCanonical)))
34+ @warn """
35+ `$ctor (sys, u0, tspan, p; kw...)` is deprecated. Use
36+ `$ctor (sys, merge($uCan , $pCan ), tspan)` instead.
37+ """
38+ SciMLBase.$ T (sys, merge ($ uCanonical, $ pCanonical), tspan; kw... )
39+ end
40+ @eval function SciMLBase. $T {iip} (
41+ sys:: System , u0:: $uType , tspan, p:: $pType ; kw... ) where {iip}
42+ ctor = string ($ T{iip})
43+ uCan = string ($ (QuoteNode (uCanonical)))
44+ pCan = string ($ (QuoteNode (pCanonical)))
45+ @warn """
46+ `$ctor (sys, u0, tspan, p; kw...)` is deprecated. Use
47+ `$ctor (sys, merge($uCan , $pCan ), tspan)` instead.
48+ """
49+ return SciMLBase.$ T {iip} (sys, merge ($ uCanonical, $ pCanonical), tspan; kw... )
50+ end
51+ @eval function SciMLBase. $T {iip, spec} (
52+ sys:: System , u0:: $uType , tspan, p:: $pType ; kw... ) where {iip, spec}
53+ ctor = string ($ T{iip, spec})
54+ uCan = string ($ (QuoteNode (uCanonical)))
55+ pCan = string ($ (QuoteNode (pCanonical)))
56+ @warn """
57+ `$ctor (sys, u0, tspan, p; kw...)` is deprecated. Use
58+ `$ctor (sys, merge($uCan , $pCan ), tspan)` instead.
59+ """
60+ return $ T {iip, spec} (sys, merge ($ uCanonical, $ pCanonical), tspan; kw... )
61+ end
62+ end
63+
64+ for pType in [SciMLBase. NullParameters, Nothing], uType in [Any, Nothing]
65+ @eval function SciMLBase. $T (sys:: System , u0:: $uType , tspan, p:: $pType ; kw... )
66+ ctor = string ($ T)
67+ pT = string ($ (QuoteNode (pType)))
68+ @warn """
69+ `$ctor (sys, u0, tspan, p::$pT ; kw...)` is deprecated. Use
70+ `$ctor (sys, u0, tspan)` instead.
71+ """
72+ $ T (sys, u0, tspan; kw... )
73+ end
74+ @eval function SciMLBase. $T {iip} (
75+ sys:: System , u0:: $uType , tspan, p:: $pType ; kw... ) where {iip}
76+ ctor = string ($ T{iip})
77+ pT = string ($ (QuoteNode (pType)))
78+ @warn """
79+ `$ctor (sys, u0, tspan, p::$pT ; kw...)` is deprecated. Use
80+ `$ctor (sys, u0, tspan)` instead.
81+ """
82+ return $ T {iip} (sys, u0, tspan; kw... )
83+ end
84+ @eval function SciMLBase. $T {iip, spec} (
85+ sys:: System , u0:: $uType , tspan, p:: $pType ; kw... ) where {iip, spec}
86+ ctor = string ($ T{iip, spec})
87+ pT = string ($ (QuoteNode (pType)))
88+ @warn """
89+ `$ctor (sys, u0, tspan, p::$pT ; kw...)` is deprecated. Use
90+ `$ctor (sys, u0, tspan)` instead.
91+ """
92+ return $ T {iip, spec} (sys, u0, tspan; kw... )
93+ end
94+ end
95+ end
96+
97+ for T in [:NonlinearProblem , :NonlinearLeastSquaresProblem ,
98+ :SCCNonlinearProblem , :OptimizationProblem , :SteadyStateProblem ]
99+ for (pType, pCanonical) in [
100+ (AbstractDict, :p ),
101+ (AbstractArray{<: Pair }, :(Dict (p))),
102+ (AbstractArray, :(isempty (p) ? Dict () : Dict (parameters (sys) .=> p)))
103+ ],
104+ (uType, uCanonical) in [
105+ (Nothing, :(Dict ())),
106+ (AbstractDict, :u0 ),
107+ (AbstractArray{<: Pair }, :(Dict (u0))),
108+ (AbstractArray, :(isempty (u0) ? Dict () : Dict (unknowns (sys) .=> u0)))
109+ ]
110+
111+ @eval function SciMLBase. $T (sys:: System , u0:: $uType , p:: $pType ; kw... )
112+ ctor = string ($ T)
113+ uCan = string ($ (QuoteNode (uCanonical)))
114+ pCan = string ($ (QuoteNode (pCanonical)))
115+ @warn """
116+ `$ctor (sys, u0, p; kw...)` is deprecated. Use `$ctor (sys, merge($uCan , $pCan ))`
117+ instead.
118+ """
119+ $ T (sys, merge ($ uCanonical, $ pCanonical); kw... )
120+ end
121+ @eval function SciMLBase. $T {iip} (
122+ sys:: System , u0:: $uType , p:: $pType ; kw... ) where {iip}
123+ ctor = string ($ T{iip})
124+ uCan = string ($ (QuoteNode (uCanonical)))
125+ pCan = string ($ (QuoteNode (pCanonical)))
126+ @warn """
127+ `$ctor (sys, u0, p; kw...)` is deprecated. Use `$ctor (sys, merge($uCan , $pCan ))`
128+ instead.
129+ """
130+ return $ T {iip} (sys, merge ($ uCanonical, $ pCanonical); kw... )
131+ end
132+ @eval function SciMLBase. $T {iip, spec} (
133+ sys:: System , u0:: $uType , p:: $pType ; kw... ) where {iip, spec}
134+ ctor = string ($ T{iip, spec})
135+ uCan = string ($ (QuoteNode (uCanonical)))
136+ pCan = string ($ (QuoteNode (pCanonical)))
137+ @warn """
138+ `$ctor (sys, u0, p; kw...)` is deprecated. Use `$ctor (sys, merge($uCan , $pCan ))`
139+ instead.
140+ """
141+ return $ T {iip, spec} (sys, merge ($ uCanonical, $ pCanonical); kw... )
142+ end
143+ end
144+ for pType in [SciMLBase. NullParameters, Nothing], uType in [Any, Nothing]
145+ @eval function SciMLBase. $T (sys:: System , u0:: $uType , p:: $pType ; kw... )
146+ ctor = string ($ T)
147+ pT = string ($ (QuoteNode (pType)))
148+ @warn """
149+ `$ctor (sys, u0, p::$pT ; kw...)` is deprecated. Use `$ctor (sys, u0)` instead
150+ """
151+ $ T (sys, u0; kw... )
152+ end
153+ @eval function SciMLBase. $T {iip} (
154+ sys:: System , u0:: $uType , p:: $pType ; kw... ) where {iip}
155+ ctor = string ($ T{iip})
156+ pT = string ($ (QuoteNode (pType)))
157+ @warn """
158+ `$ctor (sys, u0, p::$pT ; kw...)` is deprecated. Use `$ctor (sys, u0)` instead
159+ """
160+ return $ T {iip} (sys, u0; kw... )
161+ end
162+ @eval function SciMLBase. $T {iip, spec} (
163+ sys:: System , u0:: $uType , p:: $pType ; kw... ) where {iip, spec}
164+ ctor = string ($ T{iip, spec})
165+ pT = string ($ (QuoteNode (pType)))
166+ @warn """
167+ `$ctor (sys, u0, p::$pT ; kw...)` is deprecated. Use `$ctor (sys, u0)` instead
168+ """
169+ return $ T {iip, spec} (sys, u0; kw... )
170+ end
171+ end
172+ end
0 commit comments