@@ -117,19 +117,12 @@ substitute(expr::Operation, s::Vector)
117
117
Performs the substitution `Operation => val` on the `expr` Operation.
118
118
"""
119
119
substitute (expr:: Constant , s) = expr
120
- substitute (expr:: Operation , s:: Pair ) = _substitute (expr, [s[1 ]], [s[2 ]])
121
- substitute (expr:: Operation , dict:: Dict ) = _substitute (expr, keys (dict), values (dict))
122
- substitute (expr:: Operation , s:: Vector ) = _substitute (expr, first .(s), last .(s))
120
+ substitute (expr:: Operation , s:: Pair ) = substituter ([s[1 ] => s[2 ]])(expr)
121
+ substitute (expr:: Operation , s:: Union{Vector, Dict} ) = substituter (s)(expr)
123
122
124
- function _substitute (ks, vs)
125
- expr -> _substitute (expr, Dict (map (Pair, map (to_symbolic, ks), map (to_symbolic, vs))))
126
- end
127
-
128
- function substituter (ks, vs)
129
- dict = Dict (map (Pair, map (to_symbolic, ks), map (to_symbolic, vs)))
123
+ function substituter (pairs)
124
+ dict = Dict (to_symbolic (k) => to_symbolic (v) for (k, v) in pairs)
130
125
expr -> to_mtk (SymbolicUtils. simplify (SymbolicUtils. substitute (expr, dict)))
131
126
end
132
127
133
- _substitute (expr, ks, vs) = substituter (ks, vs)(expr)
134
-
135
128
@deprecate substitute_expr! (expr,s) substitute (expr,s)
0 commit comments