@@ -8,3 +8,165 @@ macro mtkbuild(exprs...)
8
8
@mtkcompile $ (exprs... )
9
9
end |> esc
10
10
end
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