summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Todaro <solpeth@posteo.org>2020-07-29 10:58:45 +1000
committerSergei Trofimovich <slyfox@gentoo.org>2020-08-01 08:59:30 +0100
commit9cdd6ca68a6e47a148ecfb8acf34852133cea600 (patch)
treeb52cf4716b2011bf8df0ffd44f226e4d6fe79358 /dev-haskell/splitmix
parentdev-haskell/xhtml: bump up to 3000.2.2.1 (diff)
downloadgentoo-9cdd6ca68a6e47a148ecfb8acf34852133cea600.tar.gz
gentoo-9cdd6ca68a6e47a148ecfb8acf34852133cea600.tar.bz2
gentoo-9cdd6ca68a6e47a148ecfb8acf34852133cea600.zip
dev-haskell/splitmix: add package
Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell/splitmix')
-rw-r--r--dev-haskell/splitmix/Manifest1
-rw-r--r--dev-haskell/splitmix/metadata.xml36
-rw-r--r--dev-haskell/splitmix/splitmix-0.0.4.ebuild33
3 files changed, 70 insertions, 0 deletions
diff --git a/dev-haskell/splitmix/Manifest b/dev-haskell/splitmix/Manifest
new file mode 100644
index 000000000000..e5d4f6bcb517
--- /dev/null
+++ b/dev-haskell/splitmix/Manifest
@@ -0,0 +1 @@
+DIST splitmix-0.0.4.tar.gz 13821 BLAKE2B 15c2f3b783b98deccf31e2501ba6c67788047ad3bf5c29fbba965c1163506d0055e94bc02894f17df088e67921447893f42a85f5eece7828625d75c177837f43 SHA512 9b8c137067497b94a460d024e1f7c3269e27536f505649face85748a0aaea273d32893a806d9ecf551bd29532ed820004ed2dde47e1099afc3c31519ea5cdbac
diff --git a/dev-haskell/splitmix/metadata.xml b/dev-haskell/splitmix/metadata.xml
new file mode 100644
index 000000000000..07dd5f4f5b23
--- /dev/null
+++ b/dev-haskell/splitmix/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
+ </maintainer>
+ <use>
+ <flag name='optimised-mixer'>Use JavaScript for mix32</flag>
+ <flag name='random'>Providen RandomGen SMGen instance</flag>
+ </use>
+ <longdescription>
+ Pure Haskell implementation of SplitMix described in
+
+ Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.
+ Fast splittable pseudorandom number generators. In Proceedings
+ of the 2014 ACM International Conference on Object Oriented
+ Programming Systems Languages &amp; Applications (OOPSLA &#39;14). ACM,
+ New York, NY, USA, 453-472. DOI:
+ &lt;https://doi.org/10.1145/2660193.2660195&gt;
+
+ The paper describes a new algorithm /SplitMix/ for /splittable/
+ pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical
+ operations per 64 bits generated.
+
+ /SplitMix/ is tested with two standard statistical test suites (DieHarder and
+ TestU01, this implementation only using the former) and it appears to be
+ adequate for &quot;everyday&quot; use, such as Monte Carlo algorithms and randomized
+ data structures where speed is important.
+
+ In particular, it __should not be used for cryptographic or security applications__,
+ because generated sequences of pseudorandom values are too predictable
+ (the mixing functions are easily inverted, and two successive outputs
+ suffice to reconstruct the internal state).
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-haskell/splitmix/splitmix-0.0.4.ebuild b/dev-haskell/splitmix/splitmix-0.0.4.ebuild
new file mode 100644
index 000000000000..a64e70868908
--- /dev/null
+++ b/dev-haskell/splitmix/splitmix-0.0.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.4
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour" # circular deps: test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="Fast Splittable PRNG"
+HOMEPAGE="http://hackage.haskell.org/package/splitmix"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="optimised-mixer +random"
+
+RESTRICT=test # circular deps: dev-haskell/splitmix[test]->dev-haskell/base-compat-batteries->dev-haskell/quickcheck->dev-haskell/splitmix
+
+RDEPEND=">=dev-lang/ghc-7.4.1:=
+ random? ( >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag optimised-mixer optimised-mixer) \
+ $(cabal_flag random random)
+}