diff options
author | Jack Todaro <solpeth@posteo.org> | 2020-07-29 10:58:45 +1000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-01 08:59:30 +0100 |
commit | 9cdd6ca68a6e47a148ecfb8acf34852133cea600 (patch) | |
tree | b52cf4716b2011bf8df0ffd44f226e4d6fe79358 /dev-haskell/splitmix | |
parent | dev-haskell/xhtml: bump up to 3000.2.2.1 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | dev-haskell/splitmix/metadata.xml | 36 | ||||
-rw-r--r-- | dev-haskell/splitmix/splitmix-0.0.4.ebuild | 33 |
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 & Applications (OOPSLA '14). ACM, + New York, NY, USA, 453-472. DOI: + <https://doi.org/10.1145/2660193.2660195> + + 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 "everyday" 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) +} |