summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorzimoun <zimon.toutoune@gmail.com>2021-03-25 02:05:04 +0100
committerLudovic Courtès <ludo@gnu.org>2021-03-29 16:47:20 +0200
commit9eb293960a473c9cc56f66b6cae428516f9c3898 (patch)
tree941b8f2c2ccf1febdeb27a23cb3de8c8a8ec16a4 /gnu
parentf6c5a8982b40539a2908e9a7d7801147adbd30d9 (diff)
downloadguix-9eb293960a473c9cc56f66b6cae428516f9c3898.tar.gz
gnu: Add julia-chainrulestestutils.
* gnu/packages/julia-xyz.scm (julia-chainrulestestutils): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/julia-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index ed05af6497..4e63c04c5e 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -146,6 +146,38 @@ reading and writing faster.")
 sensitivities for functions without the need to depend on ChainRules itself.")
     (license license:expat)))
 
+(define-public julia-chainrulestestutils
+  (package
+    (name "julia-chainrulestestutils")
+    (version "0.6.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1pzs947adnb3cx1qd0cxp2fidk9szz0zsqbas90z1lhydykkvkil"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-chainrulescore" ,julia-chainrulescore)
+       ("julia-compat" ,julia-compat)
+       ("julia-finitedifference" ,julia-finitedifferences)))
+    (home-page "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
+    (synopsis "Common utilities used by downstream automatic differentiation tools")
+    (description "This package is designed to help in testing
+@code{ChainRulesCore.frule} and @code{ChainRulesCore.rrule} methods.  The main
+entry points are @code{ChainRulesTestUtils.frule_test},
+@code{ChainRulesTestUtils.rrule_test}, and
+@code{ChainRulesTestUtils.test_scalar}. Currently this is done via testing the
+rules against numerical differentiation (using @code{FiniteDifferences.jl}).
+
+@code{ChainRulesTestUtils.jl} is separated from @code{ChainRulesCore.jl} so that it
+can be a test-only dependency, allowing it to have potentially heavy
+dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.")
+    (license license:expat)))
+
 (define-public julia-colors
   (package
     (name "julia-colors")