The random-fu package

[Tags: public-domain]

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.

Changes in 0.2.4.0: Added a Lift instance that resolves a common overlapping-instance issue in user code.

Changes in 0.2.3.1: Should now build on GHC 7.6

Changes in 0.2.3.0: Added stretched exponential distribution, contributed by Ben Gamari.

Changes in 0.2.2.0: Bug fixes in Data.Random.Distribution.Categorical.

Changes in 0.2.1.1: Changed some one-field data types to newtypes, updated types for GHC 7.4's removal of Eq and Show from the context of Num, and added RVarT versions of random variables in Data.Random.List


Properties

Versions0.0.0.2, 0.0.1.1, 0.0.2.0, 0.0.2.1, 0.0.3, 0.0.3.2, 0.1.0.0, 0.1.3, 0.1.4, 0.2, 0.2.1.0, 0.2.1.1, 0.2.2.0, 0.2.3.0, 0.2.3.1, 0.2.4.0, 0.2.5.0, 0.2.6.0
Dependenciesbase (>=4 && <4.2), erf, gamma, monad-loops (>=0.3.0.1), mtl (==1.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4 && <4.2), erf-native, gamma, monad-loops (>=0.3.0.1), mtl (==1.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4 && <4.2), erf, gamma, monad-loops (>=0.3.0.1), mtl (==2.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4 && <4.2), erf-native, gamma, monad-loops (>=0.3.0.1), mtl (==2.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4.2 && <5), erf, gamma, monad-loops (>=0.3.0.1), mtl (==1.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4.2 && <5), erf-native, gamma, monad-loops (>=0.3.0.1), mtl (==1.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4.2 && <5), erf, gamma, monad-loops (>=0.3.0.1), mtl (==2.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) or
base (>=4.2 && <5), erf-native, gamma, monad-loops (>=0.3.0.1), mtl (==2.*), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7)
LicensePublicDomain
AuthorJames Cook <mokus@deepbondi.net>
MaintainerJames Cook <mokus@deepbondi.net>
Stabilityprovisional
CategoryMath
Home pagehttps://github.com/mokus0/random-fu
Source repositoryhead: git clone https://github.com/mokus0/random-fu.git(random-fu)
Upload dateWed Jan 2 17:33:19 UTC 2013
Uploaded byJamesCook
DistributionsNixOS:0.2.6.0
Downloads2806 total (288 in last 30 days)

Modules

[Index]

Flags

NameDescriptionDefault
base4_2base-4.2 has an incompatible change in Data.Fixed (HasResolution)Enabled
mtl2mtl-2 has State, etc., as "type" rather than "newtype"Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees