@@ -43,8 +43,7 @@ function MTKParameters(
43
43
p = merge (defs, p)
44
44
p = merge (Dict (unwrap (k) => v for (k, v) in p),
45
45
Dict (default_toterm (unwrap (k)) => v for (k, v) in p))
46
- p = Dict (k => fixpoint_sub (v, p)
47
- for (k, v) in p if k in all_ps || default_toterm (k) in all_ps)
46
+ p = Dict (k => fixpoint_sub (v, p) for (k, v) in p)
48
47
for (sym, _) in p
49
48
if istree (sym) && operation (sym) === getindex &&
50
49
first (arguments (sym)) in all_ps
@@ -89,14 +88,24 @@ function MTKParameters(
89
88
90
89
for (sym, val) in p
91
90
sym = unwrap (sym)
91
+ val = unwrap (val)
92
92
ctype = concrete_symtype (sym)
93
- val = symconvert (ctype, unwrap (fixpoint_sub (val, p)))
93
+ if symbolic_type (val) != = NotSymbolic ()
94
+ continue
95
+ end
96
+ val = symconvert (ctype, val)
94
97
done = set_value (sym, val)
95
98
if ! done && Symbolics. isarraysymbolic (sym)
96
- done = all (set_value .(collect (sym), val))
97
- end
98
- if ! done
99
- error (" Symbol $sym does not have an index" )
99
+ if Symbolics. shape (sym) === Symbolics. Unknown ()
100
+ for i in eachindex (val)
101
+ set_value (sym[i], val[i])
102
+ end
103
+ else
104
+ if size (sym) != size (val)
105
+ error (" Got value of size $(size (val)) for parameter $sym of size $(size (sym)) " )
106
+ end
107
+ set_value .(collect (sym), val)
108
+ end
100
109
end
101
110
end
102
111
0 commit comments