# The random-fu package

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.1.0: Exposed Categorical type (it
had been hidden by accident a few version ago),
gave it a Read instance, and dropped a
no-longer-necessary Ord context from `fromWeightedList`.
Thank you Antal Spector-Zabusky for catching these!

Changes in 0.2.0.2: None except setting "Buildable: False" under GHC 7.2.1 (see flexible-defaults 0.0.0.2 for more detailed explanation).

Changes in 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.

## Properties

Versions | 0.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, 0.2.6.1, 0.2.6.2, 0.2.7.0 |
---|---|

Dependencies | base (==4.*), erf, erf-native, gamma, monad-loops (>=0.3.0.1), mtl (>=1 && <3), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) [details] |

License | PublicDomain |

Author | James Cook <james.cook@usma.edu> |

Maintainer | James Cook <james.cook@usma.edu> |

Stability | provisional |

Category | Math |

Home page | https://github.com/mokus0/random-fu |

Source repository | head: git clone https://github.com/mokus0/random-fu.git(random-fu) |

Uploaded | Mon Aug 29 22:21:37 UTC 2011 by JamesCook |

Distributions | Debian:0.2.6.2, LTSHaskell:0.2.7.0, NixOS:0.2.7.0, Stackage:0.2.7.0, Tumbleweed:0.2.7.0 |

Downloads | 7495 total (39 in the last 30 days) |

Votes | |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Modules

*Data*- 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

*Internal*- Data.Random.Lift
- Data.Random.List
- Data.Random.RVar
- Data.Random.Sample

- Data.Random.Distribution

- Data.Random

[Index]

## Flags

Name | Description | Default | Type |
---|---|---|---|

base4_2 | base-4.2 has an incompatible change in Data.Fixed (HasResolution) | Enabled | Automatic |

mtl2 | mtl-2 has State, etc., as "type" rather than "newtype" | Enabled | Automatic |

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

## Downloads

- random-fu-0.2.1.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)