summaryrefslogtreecommitdiff
path: root/devel/hs-tf-random/DESCR
diff options
context:
space:
mode:
Diffstat (limited to 'devel/hs-tf-random/DESCR')
-rw-r--r--devel/hs-tf-random/DESCR24
1 files changed, 24 insertions, 0 deletions
diff --git a/devel/hs-tf-random/DESCR b/devel/hs-tf-random/DESCR
new file mode 100644
index 00000000000..2f059dbb83e
--- /dev/null
+++ b/devel/hs-tf-random/DESCR
@@ -0,0 +1,24 @@
+This package contains an implementation of a high-quality splittable
+pseudorandom number generator. The generator is based on a cryptographic hash
+function built on top of the ThreeFish block cipher. See the paper Splittable
+Pseudorandom Number Generators Using Cryptographic Hashing by Claessen,
+Pałka for details and the rationale of the design.
+
+The package provides the following:
+
+ A splittable PRNG that implements the standard System.Random.RandomGen class.
+
+ The generator also implements an alternative version of the
+ System.Random.TF.Gen.RandomGen class (exported from System.Random.TF.Gen),
+ which requires the generator to return pseudorandom integers from the full
+ 32-bit range, and contains an n-way split function.
+
+ An alternative version of the Random class is provided, which is linked to the
+ new RandomGen class, together with Random instances for some integral types.
+
+ Two functions for initialising the generator with a non-deterministic seed:
+ one using the system time, and one using the /dev/urandom UNIX special file.
+
+The package uses an adapted version of the reference C implementation of
+ThreeFish from the reference package of the Skein hash function
+(https://www.schneier.com/skein.html), originally written by Doug Whiting.