@@ -687,8 +687,8 @@ function update_simplified_system!(
687
687
unknowns = [unknowns; extra_unknowns]
688
688
@set! sys. unknowns = unknowns
689
689
690
- obs, subeqs, deps = cse_and_array_hacks (
691
- sys, obs, solved_eqs, unknowns, neweqs; cse = cse_hack, array = array_hack)
690
+ obs = cse_and_array_hacks (
691
+ sys, obs, unknowns, neweqs; cse = cse_hack, array = array_hack)
692
692
693
693
@set! sys. eqs = neweqs
694
694
@set! sys. observed = obs
@@ -790,7 +790,7 @@ if all `p[i]` are present and the unscalarized form is used in any equation (obs
790
790
not) we first count the number of times the scalarized form of each observed variable
791
791
occurs in observed equations (and unknowns if it's split).
792
792
"""
793
- function cse_and_array_hacks (sys, obs, subeqs, unknowns, neweqs; cse = true , array = true )
793
+ function cse_and_array_hacks (sys, obs, unknowns, neweqs; cse = true , array = true )
794
794
# HACK 1
795
795
# mapping of rhs to temporary CSE variable
796
796
# `f(...) => tmpvar` in above example
@@ -818,7 +818,6 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
818
818
tempeq = tempvar ~ rhs_arr
819
819
rhs_to_tempvar[rhs_arr] = tempvar
820
820
push! (obs, tempeq)
821
- push! (subeqs, tempeq)
822
821
end
823
822
824
823
# getindex_wrapper is used because `observed2graph` treats `x` and `x[i]` as different,
@@ -827,10 +826,6 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
827
826
neweq = lhs ~ getindex_wrapper (
828
827
rhs_to_tempvar[rhs_arr], Tuple (arguments (rhs)[2 : end ]))
829
828
obs[i] = neweq
830
- subeqi = findfirst (isequal (eq), subeqs)
831
- if subeqi != = nothing
832
- subeqs[subeqi] = neweq
833
- end
834
829
end
835
830
# end HACK 1
836
831
@@ -860,7 +855,6 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
860
855
tempeq = tempvar ~ rhs_arr
861
856
rhs_to_tempvar[rhs_arr] = tempvar
862
857
push! (obs, tempeq)
863
- push! (subeqs, tempeq)
864
858
end
865
859
# don't need getindex_wrapper, but do it anyway to know that this
866
860
# hack took place
@@ -900,15 +894,8 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
900
894
push! (obs_arr_eqs, arrvar ~ rhs)
901
895
end
902
896
append! (obs, obs_arr_eqs)
903
- append! (subeqs, obs_arr_eqs)
904
-
905
- # need to re-sort subeqs
906
- subeqs = ModelingToolkit. topsort_equations (subeqs, [eq. lhs for eq in subeqs])
907
-
908
- deps = Vector{Int}[i == 1 ? Int[] : collect (1 : (i - 1 ))
909
- for i in 1 : length (subeqs)]
910
897
911
- return obs, subeqs, deps
898
+ return obs
912
899
end
913
900
914
901
function is_getindexed_array (rhs)
0 commit comments