@@ -425,7 +425,7 @@ function GlobalScope(sym::Union{Num, Symbolic})
425
425
end
426
426
end
427
427
428
- renamespace (sys, eq:: Equation ) = namespace_equation (eq, sys)
428
+ renamespace (sys, eq:: Equation ) = @show namespace_equation (eq, sys)
429
429
430
430
renamespace (names:: AbstractVector , x) = foldr (renamespace, names, init = x)
431
431
function renamespace (sys, x)
@@ -434,7 +434,7 @@ function renamespace(sys, x)
434
434
if x isa Symbolic
435
435
T = typeof (x)
436
436
if istree (x) && operation (x) isa Operator
437
- return similarterm (x, operation (x),
437
+ return similarterm (x, renamespace .(sys, operation (x) ),
438
438
Any[renamespace (sys, only (arguments (x)))]):: T
439
439
end
440
440
let scope = getmetadata (x, SymScope, LocalScope ())
@@ -495,18 +495,18 @@ function namespace_expr(O, sys, n = nameof(sys))
495
495
O = unwrap (O)
496
496
if any (isequal (O), ivs)
497
497
return O
498
- elseif isvariable (O)
499
- renamespace (n, O)
500
498
elseif istree (O)
501
499
T = typeof (O)
502
- if symtype (operation (O)) <: FnType
503
- renamespace (n, O):: T
500
+ renamed = let sys = sys, n = n, T = T
501
+ map (a -> namespace_expr (a, sys, n):: Any , arguments (O))
502
+ end
503
+ if isvariable (O)
504
+ similarterm (O, renamespace (n, operation (O)), renamed):: T
504
505
else
505
- renamed = let sys = sys, n = n, T = T
506
- map (a -> namespace_expr (a, sys, n):: Any , arguments (O))
507
- end
508
506
similarterm (O, operation (O), renamed):: T
509
507
end
508
+ elseif isvariable (O)
509
+ renamespace (n, O)
510
510
elseif O isa Array
511
511
let sys = sys, n = n
512
512
map (o -> namespace_expr (o, sys, n), O)
0 commit comments