htestu-0.1.1.2: htestu.cabal
name: htestu
version: 0.1.1.2
synopsis: A library for testing correctness of pseudo random number generators in Haskell.
description:
HTestU is a library for testing correctness of presudo random number generators (PRNGs) written in Haskell.
HTestU uses a library TestU01 based on a paper "TestU01: A C Library for Empirical Testing of Random Number Generators" by P. L'Ecuyer and R. Simard.
Basically HTestU performs a wrapping of a member of the RandomGen typeclass (any reasonable PRNG can be made a member of it) and
feeds a wrapped generator into a C library which calls the wrapped generator to fill the buffer with pseudo random numbers and then
perform tests on the generated numbers.
HTestU offers three batteries: smallCrush, crush and bigCrush (as they were specified in TestU01 paper) and a number of
streaming functions which allow one to wrap the PRNG differently for the purpose of testing different patterns of PRNG usage.
homepage: https://github.com/nkartashov/htestu
license: MIT
license-file: LICENSE
author: Nikita Kartashov
maintainer: snailandmail@gmail.com
category: System
build-type: Simple
cabal-version: >=1.10
source-repository head
type: git
location: https://github.com/idontgetoutmuch/htestu
flag testKnownRNGs
description: build an exe to test selected Haskell RNGs
default: False
library
exposed-modules: Test.HTestU,
Test.HTestU.Streaming,
Test.HTestU.BatteryResult,
Test.HTestU.Wrapping
other-extensions: ForeignFunctionInterface, CPP
build-depends: base >=4.7 && < 4.10,
random
hs-source-dirs: src
build-tools: gcc, hsc2hs
default-language: Haskell2010
include-dirs: cbits/testu/include cbits/testu/src
includes:
install-includes: addstr.h ftab.h sspectral.h uknuth.h bbattery.h fvaria.h sstring.h ulcg.h bitset.h fwalk.h ulec.h chrono.h gdef.h umarsa.h config.h gdefconf.h statcoll.h umrg.h fbar.h gofs.h svaria.h unif01.h fcho.h gofw.h swalk.h unumrec.h fcong.h mystr.h swrite.h uquad.h fdist.h num.h tables.h usoft.h ffam.h num2.h tu01_sha1.h utaus.h ffsr.h rijndael-alg-fst.h uautomata.h utezuka.h finv.h scatter.h ubrent.h util.h fknuth.h scomp.h ucarry.h utouzin.h fmarsa.h sentrop.h ucrypto.h uvaria.h fmass.h sknuth.h ucubic.h uweyl.h fmultin.h smarsa.h udeng.h uwu.h fnpair.h smultin.h ufile.h uxorshift.h fres.h snpair.h ugfsr.h vectorsF2.h fspectral.h sres.h ugranger.h wdist.h fstring.h sspacings.h uinv.h fftc.c
c-sources: cbits/testu/src/util.c cbits/testu/src/chrono.c cbits/testu/src/bitset.c cbits/testu/src/num.c cbits/testu/src/num2.c cbits/testu/src/mystr.c cbits/testu/src/tables.c cbits/testu/src/statcoll.c cbits/testu/src/gofs.c cbits/testu/src/gofw.c cbits/testu/src/gdef.c cbits/testu/src/vectorsF2.c cbits/testu/src/swrite.c cbits/testu/src/wdist.c cbits/testu/src/smultin.c cbits/testu/src/svaria.c cbits/testu/src/swalk.c cbits/testu/src/sstring.c cbits/testu/src/sspectral.c cbits/testu/src/sres.c cbits/testu/src/snpair.c cbits/testu/src/smarsa.c cbits/testu/src/sknuth.c cbits/testu/src/scomp.c cbits/testu/src/ftab.c cbits/testu/src/fres.c cbits/testu/src/fmass.c cbits/testu/src/fdist.c cbits/testu/src/fcho.c cbits/testu/src/fbar.c cbits/testu/src/fmarsa.c cbits/testu/src/ufile.c cbits/testu/src/unif01.c cbits/testu/src/bbattery.c
executable runTestu
if flag(testKnownRNGs)
hs-source-dirs: app
main-is: TestGen.hs
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
build-depends: base
, htestu
, random
-- , pcg-random
, tf-random
, mwc-random
, mersenne-random-pure64
, primitive
default-language: Haskell2010
else
hs-source-dirs: app
main-is: Dummy.hs
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends: base
default-language: Haskell2010