Skip to content

Commit 0c26977

Browse files
fix: fix vars!
1 parent 55cd1d8 commit 0c26977

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/utils.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -350,20 +350,20 @@ function vars!(vars, eq::Equation; op = Differential)
350350
(vars!(vars, eq.lhs; op = op); vars!(vars, eq.rhs; op = op); vars)
351351
end
352352
function vars!(vars, O; op = Differential)
353-
if isvariable(O) && !(istree(O) && operation(O) === getindex)
353+
if isvariable(O)
354354
return push!(vars, O)
355355
end
356-
357356
!istree(O) && return vars
357+
358+
operation(O) isa op && return push!(vars, O)
359+
358360
if operation(O) === (getindex)
359361
arr = first(arguments(O))
360-
return vars!(vars, arr)
362+
istree(arr) && operation(arr) isa op && return push!(vars, O)
363+
isvariable(arr) && return push!(vars, O)
361364
end
362365

363-
operation(O) isa op && return push!(vars, O)
364-
365366
isvariable(operation(O)) && push!(vars, O)
366-
367367
for arg in arguments(O)
368368
vars!(vars, arg; op = op)
369369
end

0 commit comments

Comments
 (0)