Skip to content

Commit 6d9e49b

Browse files
fix: always construct unscalarized observed equations for array variables
1 parent 2c0976e commit 6d9e49b

File tree

1 file changed

+0
-12
lines changed

1 file changed

+0
-12
lines changed

src/structural_transformation/symbolics_tearing.jl

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -860,12 +860,9 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
860860
# map of array observed variable (unscalarized) to number of its
861861
# scalarized terms that appear in observed equations
862862
arr_obs_occurrences = Dict()
863-
# to check if array variables occur in unscalarized form anywhere
864-
all_vars = Set()
865863
for (i, eq) in enumerate(obs)
866864
lhs = eq.lhs
867865
rhs = eq.rhs
868-
vars!(all_vars, rhs)
869866

870867
# HACK 1
871868
if cse && is_getindexed_array(rhs)
@@ -920,7 +917,6 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
920917
tempvar; T = Symbolics.symtype(rhs_arr)))
921918
tempvar = setmetadata(
922919
tempvar, Symbolics.ArrayShapeCtx, Symbolics.shape(rhs_arr))
923-
vars!(all_vars, rhs_arr)
924920
tempeq = tempvar ~ rhs_arr
925921
rhs_to_tempvar[rhs_arr] = tempvar
926922
push!(obs, tempeq)
@@ -946,18 +942,10 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
946942
cnt == 0 && continue
947943
arr_obs_occurrences[arg1] = cnt + 1
948944
end
949-
for eq in neweqs
950-
vars!(all_vars, eq.rhs)
951-
end
952945

953-
# also count unscalarized variables used in callbacks
954-
for ev in Iterators.flatten((continuous_events(sys), discrete_events(sys)))
955-
vars!(all_vars, ev)
956-
end
957946
obs_arr_eqs = Equation[]
958947
for (arrvar, cnt) in arr_obs_occurrences
959948
cnt == length(arrvar) || continue
960-
arrvar in all_vars || continue
961949
# firstindex returns 1 for multidimensional array symbolics
962950
firstind = first(eachindex(arrvar))
963951
scal = [arrvar[i] for i in eachindex(arrvar)]

0 commit comments

Comments
 (0)