src/Gradient.jl

changeset 5
29b38780d52b
parent 4
5c0f579a5d0f
child 7
ab7d59b47140
--- 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

mercurial