Skip to content

Commit 9fa324b

Browse files
fix: improve type-stability of ImperativeAffect
1 parent 27e1ec4 commit 9fa324b

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/systems/imperative_affect.jl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,16 @@ context(a::ImperativeAffect) = a.ctx
8585
observed(a::ImperativeAffect) = a.obs
8686
observed_syms(a::ImperativeAffect) = a.obs_syms
8787
function discretes(a::ImperativeAffect)
88-
Iterators.filter(ModelingToolkit.isparameter,
89-
Iterators.flatten(Iterators.map(
90-
x -> symbolic_type(x) == NotSymbolic() && x isa AbstractArray ? x : [x],
91-
a.modified)))
88+
discs = SymbolicT[]
89+
for val in a.modified
90+
val = unwrap(val)
91+
if val isa SymbolicT
92+
isparameter(a) && push!(discs, val)
93+
elseif val isa AbstractArray
94+
append!(discs, filter(isparameter, map(unwrap, val)))
95+
end
96+
end
97+
return discs
9298
end
9399
modified(a::ImperativeAffect) = a.modified
94100
modified_syms(a::ImperativeAffect) = a.mod_syms

0 commit comments

Comments
 (0)