@@ -24,38 +24,38 @@ t = 0.5
2424fi = FakeIntegrator (sys, copy (u), copy (p), t)
2525# checking inference for non-concretely typed arrays will always fail
2626for (sym, val, newval, check_inference) in [(:x , u[1 ], 4.0 , true )
27- (:y , u[2 ], 4.0 , true )
28- (:z , u[3 ], 4.0 , true )
29- (1 , u[1 ], 4.0 , true )
30- ([:x , :y ], u[1 : 2 ], 4 ones (2 ), true )
31- ([1 , 2 ], u[1 : 2 ], 4 ones (2 ), true )
32- ((:z , :y ), (u[3 ], u[2 ]), (4.0 , 5.0 ), true )
33- ((3 , 2 ), (u[3 ], u[2 ]), (4.0 , 5.0 ), true )
34- ([:x , [:y , :z ]], [u[1 ], u[2 : 3 ]],
35- [4.0 , [5.0 , 6.0 ]], false )
36- ([:x , 2 : 3 ], [u[1 ], u[2 : 3 ]],
37- [4.0 , [5.0 , 6.0 ]], false )
38- ([:x , (:y , :z )], [u[1 ], (u[2 ], u[3 ])],
39- [4.0 , (5.0 , 6.0 )], false )
40- ([:x , Tuple (2 : 3 )], [u[1 ], (u[2 ], u[3 ])],
41- [4.0 , (5.0 , 6.0 )], false )
42- ([:x , [:y ], (:z ,)], [u[1 ], [u[2 ]], (u[3 ],)],
43- [4.0 , [5.0 ], (6.0 ,)], false )
44- ([:x , [:y ], (3 ,)], [u[1 ], [u[2 ]], (u[3 ],)],
45- [4.0 , [5.0 ], (6.0 ,)], false )
46- ((:x , [:y , :z ]), (u[1 ], u[2 : 3 ]),
47- (4.0 , [5.0 , 6.0 ]), true )
48- ((:x , (:y , :z )), (u[1 ], (u[2 ], u[3 ])),
49- (4.0 , (5.0 , 6.0 )), true )
50- ((1 , (:y , :z )), (u[1 ], (u[2 ], u[3 ])),
51- (4.0 , (5.0 , 6.0 )), true )
52- ((:x , [:y ], (:z ,)), (u[1 ], [u[2 ]], (u[3 ],)),
53- (4.0 , [5.0 ], (6.0 ,)), true )
54- ((a = :x , b = [:x , :y ], c = (d = :z , e = :x )),
55- (a = u[1 ], b = u[1 : 2 ],
56- c = (d = u[3 ], e = u[1 ])),
57- (a = 4.0 , b = [4.0 , 5.0 ],
58- c = (d = 6.0 , e = 4.0 )), true )]
27+ (:y , u[2 ], 4.0 , true )
28+ (:z , u[3 ], 4.0 , true )
29+ (1 , u[1 ], 4.0 , true )
30+ ([:x , :y ], u[1 : 2 ], 4 ones (2 ), true )
31+ ([1 , 2 ], u[1 : 2 ], 4 ones (2 ), true )
32+ ((:z , :y ), (u[3 ], u[2 ]), (4.0 , 5.0 ), true )
33+ ((3 , 2 ), (u[3 ], u[2 ]), (4.0 , 5.0 ), true )
34+ ([:x , [:y , :z ]], [u[1 ], u[2 : 3 ]],
35+ [4.0 , [5.0 , 6.0 ]], false )
36+ ([:x , 2 : 3 ], [u[1 ], u[2 : 3 ]],
37+ [4.0 , [5.0 , 6.0 ]], false )
38+ ([:x , (:y , :z )], [u[1 ], (u[2 ], u[3 ])],
39+ [4.0 , (5.0 , 6.0 )], false )
40+ ([:x , Tuple (2 : 3 )], [u[1 ], (u[2 ], u[3 ])],
41+ [4.0 , (5.0 , 6.0 )], false )
42+ ([:x , [:y ], (:z ,)], [u[1 ], [u[2 ]], (u[3 ],)],
43+ [4.0 , [5.0 ], (6.0 ,)], false )
44+ ([:x , [:y ], (3 ,)], [u[1 ], [u[2 ]], (u[3 ],)],
45+ [4.0 , [5.0 ], (6.0 ,)], false )
46+ ((:x , [:y , :z ]), (u[1 ], u[2 : 3 ]),
47+ (4.0 , [5.0 , 6.0 ]), true )
48+ ((:x , (:y , :z )), (u[1 ], (u[2 ], u[3 ])),
49+ (4.0 , (5.0 , 6.0 )), true )
50+ ((1 , (:y , :z )), (u[1 ], (u[2 ], u[3 ])),
51+ (4.0 , (5.0 , 6.0 )), true )
52+ ((:x , [:y ], (:z ,)), (u[1 ], [u[2 ]], (u[3 ],)),
53+ (4.0 , [5.0 ], (6.0 ,)), true )
54+ ((a = :x , b = [:x , :y ], c = (d = :z , e = :x )),
55+ (a = u[1 ], b = u[1 : 2 ],
56+ c = (d = u[3 ], e = u[1 ])),
57+ (a = 4.0 , b = [4.0 , 5.0 ],
58+ c = (d = 6.0 , e = 4.0 )), true )]
5959 get = getsym (sys, sym)
6060 set! = setsym (sys, sym)
6161 if check_inference
@@ -127,12 +127,12 @@ let fi = fi, sys = sys
127127end
128128
129129for (sym, oldval, newval, check_inference) in [(:a , p[1 ], 4.0 , true )
130- (:b , p[2 ], 5.0 , true )
131- (:c , p[3 ], 6.0 , true )
132- ([:a , :b ], p[1 : 2 ], [4.0 , 5.0 ], true )
133- ((:c , :b ), (p[3 ], p[2 ]), (6.0 , 5.0 ), true )
134- ([:x , :a ], [u[1 ], p[1 ]], [4.0 , 5.0 ], false )
135- ((:y , :b ), (u[2 ], p[2 ]), (5.0 , 6.0 ), true )]
130+ (:b , p[2 ], 5.0 , true )
131+ (:c , p[3 ], 6.0 , true )
132+ ([:a , :b ], p[1 : 2 ], [4.0 , 5.0 ], true )
133+ ((:c , :b ), (p[3 ], p[2 ]), (6.0 , 5.0 ), true )
134+ ([:x , :a ], [u[1 ], p[1 ]], [4.0 , 5.0 ], false )
135+ ((:y , :b ), (u[2 ], p[2 ]), (5.0 , 6.0 ), true )]
136136 get = getsym (fi, sym)
137137 set! = setsym (fi, sym)
138138 if check_inference
@@ -201,42 +201,42 @@ yvals = getindex.(sol.u, 2)
201201zvals = getindex .(sol. u, 3 )
202202
203203for (sym, ans, check_inference) in [(:x , xvals, true )
204- (:y , yvals, true )
205- (:z , zvals, true )
206- (1 , xvals, true )
207- ([:x , :y ], vcat .(xvals, yvals), true )
208- (1 : 2 , vcat .(xvals, yvals), true )
209- ([:x , 2 ], vcat .(xvals, yvals), true )
210- ((:z , :y ), tuple .(zvals, yvals), true )
211- ((3 , 2 ), tuple .(zvals, yvals), true )
212- ([:x , [:y , :z ]],
213- vcat .(xvals, [[x] for x in vcat .(yvals, zvals)]),
214- false )
215- ([:x , (:y , :z )],
216- vcat .(xvals, tuple .(yvals, zvals)), false )
217- ([1 , (:y , :z )],
218- vcat .(xvals, tuple .(yvals, zvals)), false )
219- ([:x , [:y , :z ], (:x , :z )],
220- vcat .(xvals, [[x] for x in vcat .(yvals, zvals)],
221- tuple .(xvals, zvals)),
222- false )
223- ([:x , [:y , 3 ], (1 , :z )],
224- vcat .(xvals, [[x] for x in vcat .(yvals, zvals)],
225- tuple .(xvals, zvals)),
226- false )
227- ((:x , [:y , :z ]),
228- tuple .(xvals, vcat .(yvals, zvals)), true )
229- ((:x , (:y , :z )),
230- tuple .(xvals, tuple .(yvals, zvals)), true )
231- ((:x , [:y , :z ], (:z , :y )),
232- tuple .(xvals, vcat .(yvals, zvals),
233- tuple .(zvals, yvals)),
234- true )
235- ([:x , :a ], vcat .(xvals, p[1 ]), false )
236- ((:y , :b ), tuple .(yvals, p[2 ]), true )
237- (:t , t, true )
238- ([:x , :a , :t ], vcat .(xvals, p[1 ], t), false )
239- ((:x , :a , :t ), tuple .(xvals, p[1 ], t), true )]
204+ (:y , yvals, true )
205+ (:z , zvals, true )
206+ (1 , xvals, true )
207+ ([:x , :y ], vcat .(xvals, yvals), true )
208+ (1 : 2 , vcat .(xvals, yvals), true )
209+ ([:x , 2 ], vcat .(xvals, yvals), true )
210+ ((:z , :y ), tuple .(zvals, yvals), true )
211+ ((3 , 2 ), tuple .(zvals, yvals), true )
212+ ([:x , [:y , :z ]],
213+ vcat .(xvals, [[x] for x in vcat .(yvals, zvals)]),
214+ false )
215+ ([:x , (:y , :z )],
216+ vcat .(xvals, tuple .(yvals, zvals)), false )
217+ ([1 , (:y , :z )],
218+ vcat .(xvals, tuple .(yvals, zvals)), false )
219+ ([:x , [:y , :z ], (:x , :z )],
220+ vcat .(xvals, [[x] for x in vcat .(yvals, zvals)],
221+ tuple .(xvals, zvals)),
222+ false )
223+ ([:x , [:y , 3 ], (1 , :z )],
224+ vcat .(xvals, [[x] for x in vcat .(yvals, zvals)],
225+ tuple .(xvals, zvals)),
226+ false )
227+ ((:x , [:y , :z ]),
228+ tuple .(xvals, vcat .(yvals, zvals)), true )
229+ ((:x , (:y , :z )),
230+ tuple .(xvals, tuple .(yvals, zvals)), true )
231+ ((:x , [:y , :z ], (:z , :y )),
232+ tuple .(xvals, vcat .(yvals, zvals),
233+ tuple .(zvals, yvals)),
234+ true )
235+ ([:x , :a ], vcat .(xvals, p[1 ]), false )
236+ ((:y , :b ), tuple .(yvals, p[2 ]), true )
237+ (:t , t, true )
238+ ([:x , :a , :t ], vcat .(xvals, p[1 ], t), false )
239+ ((:x , :a , :t ), tuple .(xvals, p[1 ], t), true )]
240240 get = getsym (sys, sym)
241241 if check_inference
242242 @inferred get (sol)
0 commit comments