# normaldistribution: Minimum fuss normally distributed random values.

Versions | 1.0, 1.1, 1.1.0.1, 1.1.0.2, 1.1.0.3 |
---|---|

Dependencies | base (<5), haskell98 (<1.2) [details] |

License | BSD-3-Clause |

Copyright | Bjorn Buckwalter 2011 |

Author | Bjorn Buckwalter |

Maintainer | bjorn.buckwalter@gmail.com |

Category | Math, Statistics |

Home page | https://github.com/bjornbm/normaldistribution |

Uploaded | by BjornBuckwalter at Fri Apr 22 02:01:16 UTC 2011 |

Distributions | NixOS:1.1.0.3, openSUSE:1.1.0.3 |

Downloads | 4887 total (41 in the last 30 days) |

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

Your Rating | |

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

This purpose of this library is to have a simple API and no
dependencies beyond Haskell 98 in order to let you produce
normally distributed random values with a minimum of fuss. This
library does *not* attempt to be blazingly fast nor to pass
stringent tests of randomness. It attempts to be very easy to
install and use while being "good enough" for many applications
(simulations, games, etc.). The API builds upon and is largely
analogous to that of the Haskell 98 `Random`

module (more
recently `System.Random`

).

Pure:

(sample,g) = normal myRandomGen -- using a Random.RandomGen samples = normals myRandomGen -- infinite list samples2 = mkNormals 10831452 -- infinite list using a seed

In the IO monad:

sample <- normalIO samples <- normalsIO -- infinite list

With custom mean and standard deviation:

(sample,g) = normal' (mean,sigma) myRandomGen samples = normals' (mean,sigma) myRandomGen samples2 = mkNormals' (mean,sigma) 10831452

sample <- normalIO' (mean,sigma) samples <- normalsIO' (mean,sigma)

Internally the library uses the Box-Muller method to generate
normally distributed values from uniformly distributed random values.
If more than one sample is needed taking samples off an infinite
list (created by e.g. `normals`

) will be roughly twice as efficient
as repetedly generating individual samples with e.g. `normal`

.

[Skip to Readme]

## Downloads

- normaldistribution-1.1.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)