File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
src/structural_transformation Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -482,11 +482,29 @@ function lower_shift_varname(var, iv)
482482 end
483483end
484484
485+ function descend_lower_shift_varname_with_unit (var, iv)
486+ symbolic_type (var) == NotSymbolic () && return var
487+ ModelingToolkit. _with_unit (descend_lower_shift_varname, var, iv, iv)
488+ end
489+ function descend_lower_shift_varname (var, iv)
490+ iscall (var) || return var
491+ op = operation (var)
492+ if op isa Shift
493+ return shift2term (var)
494+ else
495+ args = arguments (var)
496+ args = map (Base. Fix2 (descend_lower_shift_varname, iv), args)
497+ return maketerm (typeof (var), op, args, Symbolics. metadata (var))
498+ end
499+ end
500+
485501"""
486502Rename a Shift variable with negative shift, Shift(t, k)(x(t)) to xₜ₋ₖ(t).
487503"""
488504function shift2term (var)
505+ iscall (var) || return var
489506 op = operation (var)
507+ op isa Shift || return var
490508 iv = op. t
491509 arg = only (arguments (var))
492510 if operation (arg) === getindex
You can’t perform that action at this time.
0 commit comments