@@ -29,7 +29,7 @@ Compute `∇f` evaluated at `x` and store the result(s) in `result`, assuming `f
29
29
This method assumes that `isa(f(x), Real)`.
30
30
31
31
"""
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 }
33
33
CHK && checktag (T, f, x)
34
34
if chunksize (cfg) == length (x)
35
35
vector_mode_gradient! (result, f, x, cfg)
92
92
# vector mode #
93
93
# ##############
94
94
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 }
96
96
ydual = vector_mode_dual_eval (f, x, cfg)
97
97
result = similar (x, valtype (ydual))
98
98
return extract_gradient! (T, result, ydual)
99
99
end
100
100
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 }
102
102
ydual = vector_mode_dual_eval (f, x, cfg)
103
103
result = extract_gradient! (T, result, ydual)
104
104
return result
0 commit comments