summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-06-14 12:21:35 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-06-14 14:45:21 +0300
commite9a0f6a4a5d5a3e55bf8dd6a4377dc4a77367d4a (patch)
tree9e7893927d4771af9c53a4621077d534a498d5a0
parentf9f98a2f066c5b02c14a48e0c2637d7eb4e7965d (diff)
downloadguix-e9a0f6a4a5d5a3e55bf8dd6a4377dc4a77367d4a.tar.gz
gnu: Add julia-reversediff.
* gnu/packages/julia-xyz.scm (julia-reversediff): New variable.
-rw-r--r--gnu/packages/julia-xyz.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 84bba8575f..7f3921abe6 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2649,6 +2649,40 @@ another package is loaded, so that explicit dependencies (and long load times)
 can be avoided.")
     (license license:expat)))
 
+(define-public julia-reversediff
+  (package
+    (name "julia-reversediff")
+    (version "1.9.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaDiff/ReverseDiff.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1wrr6sqj2xl9grkvdp88rw3manxy9vbx28zq2wssya5ns1xabsnl"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-diffresults" ,julia-diffresults)
+       ("julia-diffrules" ,julia-diffrules)
+       ("julia-forwarddiff" ,julia-forwarddiff)
+       ("julia-functionwrappers" ,julia-functionwrappers)
+       ("julia-macrotools" ,julia-macrotools)
+       ("julia-nanmath" ,julia-nanmath)
+       ("julia-specialfunctions" ,julia-specialfunctions)
+       ("julia-staticarrays" ,julia-staticarrays)))
+    (native-inputs
+     `(("julia-difftests" ,julia-difftests)
+       ("julia-fillarrays" ,julia-fillarrays)))
+    (home-page "https://github.com/JuliaDiff/ReverseDiff.jl")
+    (synopsis "Reverse Mode Automatic Differentiation for Julia")
+    (description "@code{ReverseDiff.jl} is a fast and compile-able tape-based
+reverse mode @acronym{AD, automatic differentiation}, that implements methods to
+take gradients, Jacobians, Hessians, and higher-order derivatives of native
+Julia functions (or any callable object, really).")
+    (license license:expat)))
+
 (define-public julia-richardson
   (package
     (name "julia-richardson")