File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ function alias_elimination(sys)
18
18
s = structure (sys)
19
19
@unpack fullvars, graph = s
20
20
21
- subs = Dict ()
21
+ subs = OrderedDict ()
22
22
if length (v_eliminated) - n_null_vars > 0
23
23
for v in v_eliminated[n_null_vars+ 1 : end ]
24
24
subs[fullvars[v]] = iszeroterm (v_types, v) ? 0.0 :
@@ -45,11 +45,12 @@ function alias_elimination(sys)
45
45
dels = sort (collect (dels))
46
46
deleteat! (eqs, dels)
47
47
48
+ dict = Dict (subs)
48
49
for (ieq, eq) in enumerate (eqs)
49
50
if ! isdiffeq (eq) && ! _iszero (eq. lhs)
50
51
eq = 0 ~ eq. rhs - eq. lhs
51
52
end
52
- eqs[ieq] = eq. lhs ~ fixpoint_sub (eq. rhs, subs )
53
+ eqs[ieq] = eq. lhs ~ fixpoint_sub (eq. rhs, dict )
53
54
end
54
55
55
56
newstates = []
@@ -62,6 +63,7 @@ function alias_elimination(sys)
62
63
63
64
@set! sys. eqs = eqs
64
65
@set! sys. states = newstates
66
+ @set! sys. observed = [get_observed (sys); [lhs ~ rhs for (lhs, rhs) in pairs (subs)]]
65
67
@set! sys. structure = nothing
66
68
return sys
67
69
end
You can’t perform that action at this time.
0 commit comments