@@ -27,9 +27,9 @@ function ode_order_lowering(eqs, iv)
2727 var_order[var] = maxorder
2828 var ∈ vars || push! (vars, var)
2929 end
30- eq = lhs_renaming (eq, D )
31- eq = rhs_renaming (eq)
32- new_eqs[i] = eq
30+ var′ = lower_varname (eq. D, eq . var, lower = true )
31+ rhs′ = rename (eq. rhs )
32+ new_eqs[i] = DiffEq (D, var′, rhs′)
3333 end
3434
3535 for var ∈ vars
@@ -45,13 +45,10 @@ function ode_order_lowering(eqs, iv)
4545 return new_eqs
4646end
4747
48- lhs_renaming (eq:: DiffEq , D) = DiffEq (D, lower_varname (eq. D, eq. var, lower= true ), eq. rhs)
49- rhs_renaming (eq:: DiffEq ) = DiffEq (eq. D, eq. var, _rec_renaming (eq. rhs))
50-
51- function _rec_renaming (rhs)
52- isa (rhs, Operation) || return rhs
53- isa (rhs. op, Differential) && return lower_varname (rhs. op, rhs. args[1 ])
54- return Operation (rhs. op, _rec_renaming .(rhs. args))
48+ function rename (O:: Expression )
49+ isa (O, Operation) || return O
50+ isa (O. op, Differential) && return lower_varname (O. op, O. args[1 ])
51+ return Operation (O. op, rename .(O. args))
5552end
5653
5754extract_var_order (eq:: DiffEq ) = (eq. var, eq. D. order)
0 commit comments