@@ -29,7 +29,7 @@ Compute `∇f` evaluated at `x` and store the result(s) in `result`, assuming `f
2929This method assumes that `isa(f(x), Real)`.
3030
3131"""
32- function gradient! (result:: Union{AbstractArray,DiffResult} , f, x:: AbstractArray , cfg:: GradientConfig{T} = GradientConfig (f, x), :: Val{CHK} = Val {true} ()) where {T, CHK}
32+ function gradient! (result:: Union{AbstractArray,DiffResult} , f:: F , x:: AbstractArray , cfg:: GradientConfig{T} = GradientConfig (f, x), :: Val{CHK} = Val {true} ()) where {T, CHK, F }
3333 CHK && checktag (T, f, x)
3434 if chunksize (cfg) == length (x)
3535 vector_mode_gradient! (result, f, x, cfg)
9292# vector mode #
9393# ##############
9494
95- function vector_mode_gradient (f, x, cfg:: GradientConfig{T} ) where {T}
95+ function vector_mode_gradient (f:: F , x, cfg:: GradientConfig{T} ) where {T, F }
9696 ydual = vector_mode_dual_eval (f, x, cfg)
9797 result = similar (x, valtype (ydual))
9898 return extract_gradient! (T, result, ydual)
9999end
100100
101- function vector_mode_gradient! (result, f, x, cfg:: GradientConfig{T} ) where {T}
101+ function vector_mode_gradient! (result, f:: F , x, cfg:: GradientConfig{T} ) where {T, F }
102102 ydual = vector_mode_dual_eval (f, x, cfg)
103103 result = extract_gradient! (T, result, ydual)
104104 return result
0 commit comments