File tree Expand file tree Collapse file tree 1 file changed +7
-9
lines changed
src/structural_transformation Expand file tree Collapse file tree 1 file changed +7
-9
lines changed Original file line number Diff line number Diff line change @@ -433,20 +433,18 @@ end
433433
434434function simplify_shifts (var)
435435 ModelingToolkit. hasshift (var) || return var
436- r = @rule ~ x :: isdoubleshift => begin
437- op1 = operation (~ x )
438- vv1 = arguments (~ x )[1 ]
436+ if isdoubleshift (var)
437+ op1 = operation (var )
438+ vv1 = arguments (var )[1 ]
439439 op2 = operation (vv1)
440440 vv2 = arguments (vv1)[1 ]
441441 s1 = op1. steps
442442 s2 = op2. steps
443443 t1 = op1. t
444444 t2 = op2. t
445- if t1 === nothing
446- ModelingToolkit. Shift (t2, s1 + s2)(vv2)
447- else
448- ModelingToolkit. Shift (t1, s1 + s2)(vv2)
449- end
445+ return simplify_shifts (ModelingToolkit. Shift (t1 === nothing ? t2 : t1, s1 + s2)(vv2))
446+ else
447+ return similarterm (var, operation (var), simplify_shifts .(arguments (var)),
448+ Symbolics. symtype (var); metadata = unwrap (var). metadata)
450449 end
451- return Postwalk (PassThrough (r))(var)
452450end
You can’t perform that action at this time.
0 commit comments