diff options
Diffstat (limited to 'devel/hs-tf-random/DESCR')
-rw-r--r-- | devel/hs-tf-random/DESCR | 24 |
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. |