summary refs log tree commit diff
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2017-10-18 03:07:25 +0000
committerLudovic Courtès <ludo@gnu.org>2017-10-22 15:32:14 -0700
commit1a2a247bcece6b2787893b0cd3d93b75be5766af (patch)
treea3b0ce8b427ed416996ccd41601e736f606db58e
parenta51ba897743d28e8599cccf88c1aa86fa07f3dde (diff)
downloadguix-1a2a247bcece6b2787893b0cd3d93b75be5766af.tar.gz
gnu: Add ghc-mwc-random.
* gnu/packages/haskell.scm (ghc-mwc-random): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/haskell.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0cc0d13fec..2959b25bf3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9108,4 +9108,43 @@ special mathematical functions and Chebyshev polynomials.  These
 functions are often useful in statistical and numerical computing.")
     (license license:bsd-3)))
 
+(define-public ghc-mwc-random
+  (package
+    (name "ghc-mwc-random")
+    (version "0.13.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "mwc-random-" version "/"
+                           "mwc-random-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-primitive" ,ghc-primitive)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-math-functions" ,ghc-math-functions)))
+    (arguments
+     `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
+    (native-inputs
+     `(("ghc-hunit" ,ghc-hunit)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+    (home-page "https://github.com/bos/mwc-random")
+    (synopsis "Random number generation library for Haskell")
+    (description "This Haskell package contains code for generating
+high quality random numbers that follow either a uniform or normal
+distribution.  The generated numbers are suitable for use in
+statistical applications.
+
+The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
+multiply-with-carry generator, which has a period of 2^{8222} and
+fares well in tests of randomness.  It is also extremely fast,
+between 2 and 3 times faster than the Mersenne Twister.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here