./devel/hs-tf-random, High-quality splittable pseudorandom number generator

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2018Q1, Version: 0.5nb4, Package name: hs-tf-random-0.5nb4, Maintainer: szptvlfn

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.


Required to run:
[lang/ghc7] [devel/hs-random] [devel/hs-primitive]

Master sites:

SHA1: 27eeae9eeeee8d4162a2646eeee0fd715f76cead
RMD160: bd58a02f7e68c4fd4e51591fa4ddad93d416d717
Filesize: 18.05 KB

Version history: (Expand)