Skip to content

Commit aaf7c57

Browse files
fix: do not shift inside Pre in shift_discrete_system
1 parent 0facf9b commit aaf7c57

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/systems/systemstructure.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -544,21 +544,21 @@ function shift_discrete_system(ts::TearingState)
544544
discvars = OrderedSet()
545545
eqs = equations(sys)
546546
for eq in eqs
547-
vars!(discvars, eq; op = Union{Sample, Hold})
547+
vars!(discvars, eq; op = Union{Sample, Hold, Pre})
548548
end
549549
iv = get_iv(sys)
550550

551551
discmap = Dict(k => StructuralTransformations.simplify_shifts(Shift(iv, 1)(k))
552552
for k in discvars
553-
if any(isequal(k), fullvars) && !isa(operation(k), Union{Sample, Hold}))
553+
if any(isequal(k), fullvars) && !isa(operation(k), Union{Sample, Hold, Pre}))
554554

555555
for i in eachindex(fullvars)
556556
fullvars[i] = StructuralTransformations.simplify_shifts(fast_substitute(
557-
fullvars[i], discmap; operator = Union{Sample, Hold}))
557+
fullvars[i], discmap; operator = Union{Sample, Hold, Pre}))
558558
end
559559
for i in eachindex(eqs)
560560
eqs[i] = StructuralTransformations.simplify_shifts(fast_substitute(
561-
eqs[i], discmap; operator = Union{Sample, Hold}))
561+
eqs[i], discmap; operator = Union{Sample, Hold, Pre}))
562562
end
563563
@set! ts.sys.eqs = eqs
564564
@set! ts.fullvars = fullvars

0 commit comments

Comments
 (0)