Skip to content

Commit 37f63af

Browse files
authored
Remove copy from Dict grad also
1 parent f6bd884 commit 37f63af

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/grad.jl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,15 @@ grad(fdm, f, x::Real) = (fdm(f, x), )
3131
grad(fdm, f, x::Tuple) = (grad(fdm, (xs...)->f(xs), x...), )
3232

3333
function grad(fdm, f, d::Dict{K, V}) where {K, V}
34-
dd = Dict{K, V}()
34+
∇d = Dict{K, V}()
3535
for (k, v) in d
36+
dk = d[k]
3637
function f′(x)
37-
tmp = copy(d)
38-
tmp[k] = x
39-
return f(tmp)
38+
d[k] = x
39+
return f(d)
4040
end
41-
dd[k] = grad(fdm, f′, v)[1]
41+
∇d[k] = grad(fdm, f′, v)[1]
42+
d[k] = dk
4243
end
4344
return (dd, )
4445
end

0 commit comments

Comments
 (0)