99struct SparseDiffToolsTag end
1010
1111function sparse_jacobian_cache (ad:: Union{AutoSparseForwardDiff, AutoForwardDiff} ,
12- sd:: AbstractMaybeSparsityDetection , f, x; fx = nothing )
12+ sd:: AbstractMaybeSparsityDetection , f:: F , x; fx = nothing ) where {F <: Function }
1313 coloring_result = sd (ad, f, x)
1414 fx = fx === nothing ? similar (f (x)) : fx
1515 if coloring_result isa NoMatrixColoring
@@ -25,7 +25,7 @@ function sparse_jacobian_cache(ad::Union{AutoSparseForwardDiff, AutoForwardDiff}
2525end
2626
2727function sparse_jacobian_cache (ad:: Union{AutoSparseForwardDiff, AutoForwardDiff} ,
28- sd:: AbstractMaybeSparsityDetection , f!, fx, x)
28+ sd:: AbstractMaybeSparsityDetection , f!:: F , fx, x) where {F <: Function }
2929 coloring_result = sd (ad, f!, fx, x)
3030 if coloring_result isa NoMatrixColoring
3131 cache = ForwardDiff. JacobianConfig (f!, fx, x, __chunksize (ad, x),
@@ -39,7 +39,8 @@ function sparse_jacobian_cache(ad::Union{AutoSparseForwardDiff, AutoForwardDiff}
3939 return ForwardDiffJacobianCache (coloring_result, cache, jac_prototype, fx, x)
4040end
4141
42- function sparse_jacobian! (J:: AbstractMatrix , _, cache:: ForwardDiffJacobianCache , f, x)
42+ function sparse_jacobian! (J:: AbstractMatrix , _, cache:: ForwardDiffJacobianCache , f:: F ,
43+ x) where {F <: Function }
4344 if cache. cache isa ForwardColorJacCache
4445 forwarddiff_color_jacobian (J, f, x, cache. cache) # Use Sparse ForwardDiff
4546 else
@@ -48,7 +49,8 @@ function sparse_jacobian!(J::AbstractMatrix, _, cache::ForwardDiffJacobianCache,
4849 return J
4950end
5051
51- function sparse_jacobian! (J:: AbstractMatrix , _, cache:: ForwardDiffJacobianCache , f!, fx, x)
52+ function sparse_jacobian! (J:: AbstractMatrix , _, cache:: ForwardDiffJacobianCache , f!:: F , fx,
53+ x) where {F <: Function }
5254 if cache. cache isa ForwardColorJacCache
5355 forwarddiff_color_jacobian! (J, f!, x, cache. cache) # Use Sparse ForwardDiff
5456 else
0 commit comments