name: random-fu
version: 0.2
stability: provisional
cabal-version: >= 1.6
build-type: Simple
author: James Cook
maintainer: James Cook
license: PublicDomain
homepage: https://github.com/mokus0/random-fu
category: Math
synopsis: Random number generation
description: Random number generation based on modeling random
variables in two complementary ways: first, by the
parameters of standard mathematical distributions and,
second, by an abstract type ('RVar') which can be
composed and manipulated monadically and sampled in
either monadic or \"pure\" styles.
The primary purpose of this library is to support
defining and sampling a wide variety of high quality
random variables. Quality is prioritized over speed,
but performance is an important goal too.
In my testing, I have found it capable of speed
comparable to other Haskell libraries, but still
a fair bit slower than straight C implementations of
the same algorithms.
Warning to anyone upgrading from \"< 0.2\": The old
random-fu package has been split into three parts:
random-source, rvar, and this new random-fu. The
end-user interface is mostly the same.
tested-with: GHC == 6.10.4, GHC == 6.12.1, GHC == 6.12.3,
GHC == 7.0.1, GHC == 7.0.2
source-repository head
type: git
location: https://github.com/mokus0/random-fu.git
subdir: random-fu
Flag base4_2
Description: base-4.2 has an incompatible change in Data.Fixed (HasResolution)
Flag mtl2
Description: mtl-2 has State, etc., as "type" rather than "newtype"
Library
ghc-options: -Wall -funbox-strict-fields -fno-method-sharing
hs-source-dirs: src
exposed-modules: Data.Random
Data.Random.Distribution
Data.Random.Distribution.Bernoulli
Data.Random.Distribution.Beta
Data.Random.Distribution.Binomial
Data.Random.Distribution.Categorical
Data.Random.Distribution.ChiSquare
Data.Random.Distribution.Dirichlet
Data.Random.Distribution.Exponential
Data.Random.Distribution.Gamma
Data.Random.Distribution.Multinomial
Data.Random.Distribution.Normal
Data.Random.Distribution.Poisson
Data.Random.Distribution.Rayleigh
Data.Random.Distribution.Triangular
Data.Random.Distribution.Uniform
Data.Random.Distribution.Weibull
Data.Random.Distribution.Ziggurat
Data.Random.Internal.Find
Data.Random.Internal.Fixed
Data.Random.Internal.TH
Data.Random.Lift
Data.Random.List
Data.Random.RVar
Data.Random.Sample
if flag(base4_2)
build-depends: base >= 4.2 && <5
else
cpp-options: -Dold_Fixed
build-depends: base >= 4 && <4.2
if flag(mtl2)
build-depends: mtl == 2.*
cpp-options: -DMTL2
else
build-depends: mtl == 1.*
build-depends: gamma,
monad-loops >= 0.3.0.1,
random-shuffle,
random-source == 0.3.*,
rvar == 0.2.*,
syb,
template-haskell,
transformers,
vector >= 0.7
if os(Windows)
cpp-options: -Dwindows
build-depends: erf-native
else
build-depends: erf