name:                 tf-random
version:              0.5
visibility:           public
id:                   tf-random-0.5-4VTisDcjIou6CSVZe4H2N4
key:                  tf-random-0.5-4VTisDcjIou6CSVZe4H2N4
license:              BSD-3-Clause
maintainer:           Michał Pałka <michal.palka@chalmers.se>
author:               Michał Pałka <michal.palka@chalmers.se>
synopsis:             High-quality splittable pseudorandom number generator
description:
    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.

    Please note that even though the generator provides very high-quality pseudorandom numbers, it has not been designed with cryptographic applications in mind.

category:             Random
abi:                  496d7f1b149446a3e12f24627ff308d4
exposed:              True
exposed-modules:
    System.Random.TF System.Random.TF.Gen System.Random.TF.Init
    System.Random.TF.Instances

import-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/tf-random-0.5-4VTisDcjIou6CSVZe4H2N4

library-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/tf-random-0.5-4VTisDcjIou6CSVZe4H2N4

library-dirs-static:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/tf-random-0.5-4VTisDcjIou6CSVZe4H2N4

dynamic-library-dirs: /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1
data-dir:             /usr/pkg/share/aarch64-netbsd-ghc-9.10.1/tf-random-0.5
hs-libraries:         HStf-random-0.5-4VTisDcjIou6CSVZe4H2N4
depends:
    base-4.20.0.0-inplace primitive-0.9.0.0-E3mDWyaMF4OIki7z5jah63
    random-1.3.0-23BW6tricnOKWC1NYRlV2o time-1.12.2-inplace

haddock-interfaces:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.10.1/tf-random-0.5/html/tf-random.haddock

haddock-html:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.10.1/tf-random-0.5/html
