--- a/src/Gradient.jl Mon Nov 18 18:21:00 2019 -0500 +++ b/src/Gradient.jl Tue Nov 19 09:35:42 2019 -0500 @@ -201,4 +201,23 @@ return u end +##################################################### +# Precompilation hints to speed up compilation time +# for projects depending on this package (hopefully). +###################################################### + +precompile(∇₂!, (Array{Float64,2}, Array{Float64,2}, Array{Float64,2})) +precompile(∇₂!, (Array{Float64,3}, Array{Float64,2})) +precompile(∇₂ᵀ!, (Array{Float64,2}, Array{Float64,2}, Array{Float64,2})) +precompile(∇₂ᵀ!, (Array{Float64,2}, Array{Float64,3})) +precompile(∇₂c!, (Array{Float64,3}, Array{Float64,2})) +precompile(∇₃!, (Array{Float64,3}, Array{Float64,3}, Array{Float64,3},Array{Float64,3})) +precompile(∇₃ᵀ!, (Array{Float64,3}, Array{Float64,3}, Array{Float64,3},Array{Float64,3})) +precompile(vec∇₃!, (Array{Float64,4}, Array{Float64,4}, Array{Float64,4},Array{Float64,4})) +precompile(vec∇₃ᵀ!, (Array{Float64,4}, Array{Float64,4}, Array{Float64,4},Array{Float64,4})) + +# The folding functions cannot be precompiled as theyre' meant to be (hopefully) +# inlined in such a way that the parameter function also gets inlined withou our +# code + end # Module