# random-fu: Random number generation

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

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, math-functions, 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 | LicenseRef-PublicDomain |

Author | James Cook <mokus@deepbondi.net> |

Maintainer | James Cook <mokus@deepbondi.net> |

Category | Math |

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

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

Uploaded | by JamesCook at Fri Jun 27 16:40:55 UTC 2014 |

Distributions | Debian:0.2.6.2, LTSHaskell:0.2.7.0, NixOS:0.2.7.0, openSUSE:0.2.7.0 |

Downloads | 11344 total (67 in the last 30 days) |

Rating | (no votes yet) [estimated by rule of succession] |

Your Rating | |

Status | Docs available [build log] Successful builds reported [all 1 reports] Hackage Matrix CI |

## Modules

[Index]

*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.Pareto
- Data.Random.Distribution.Poisson
- Data.Random.Distribution.Rayleigh
- Data.Random.Distribution.StretchedExponential
- Data.Random.Distribution.T
- 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.Vector

- Data.Random.Distribution

- Data.Random

## 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.6.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)