|
79 | 79 | # d/dx (f * g * h) = (d/dx f) * g * h + f * (d/dx g) * h + ... |
80 | 80 | function differentiate(::SymbolParameter{:*}, args, wrt) |
81 | 81 | n = length(args) |
82 | | - res_args = Vector{Any}(n) |
| 82 | + res_args = Vector{Any}(undef, n) |
83 | 83 | for i in 1:n |
84 | | - new_args = Vector{Any}(n) |
| 84 | + new_args = Vector{Any}(undef, n) |
85 | 85 | for j in 1:n |
86 | 86 | if j == i |
87 | 87 | new_args[j] = differentiate(args[j], wrt) |
@@ -196,7 +196,7 @@ export symbolic_derivatives_1arg |
196 | 196 |
|
197 | 197 | # deprecated: for backward compatibility with packages that used |
198 | 198 | # this unexported interface. |
199 | | -derivative_rules = Vector{Compat.@compat(Tuple{Symbol,Expr})}(0) |
| 199 | +derivative_rules = Vector{Tuple{Symbol,Expr}}() |
200 | 200 | for (s,ex) in symbolic_derivative_1arg_list |
201 | 201 | push!(derivative_rules, (s, :(xp*$ex))) |
202 | 202 | end |
@@ -263,14 +263,16 @@ end |
263 | 263 |
|
264 | 264 | function differentiate(ex::Expr, targets::Vector{Symbol}) |
265 | 265 | n = length(targets) |
266 | | - exprs = Vector{Any}(n) |
| 266 | + exprs = Vector{Any}(undef, n) |
267 | 267 | for i in 1:n |
268 | 268 | exprs[i] = differentiate(ex, targets[i]) |
269 | 269 | end |
270 | 270 | return exprs |
271 | 271 | end |
272 | 272 |
|
273 | 273 | differentiate(ex::Expr) = differentiate(ex, :x) |
274 | | -differentiate(s::Compat.AbstractString, target...) = differentiate(parse(s), target...) |
275 | | -differentiate(s::Compat.AbstractString, target::Compat.AbstractString) = differentiate(parse(s), symbol(target)) |
276 | | -differentiate(s::Compat.AbstractString, targets::Vector{T}) where {T <: Compat.AbstractString} = differentiate(parse(s), map(symbol, targets)) |
| 274 | +differentiate(s::AbstractString, target...) = differentiate(Compat.Meta.parse(s), target...) |
| 275 | +differentiate(s::AbstractString, target::AbstractString) = |
| 276 | + differentiate(Compat.Meta.parse(s), Symbol(target)) |
| 277 | +differentiate(s::AbstractString, targets::Vector{T}) where {T <: AbstractString} = |
| 278 | + differentiate(Compat.Meta.parse(s), map(Symbol, targets)) |
0 commit comments