normaldistribution: Minimum fuss normally distributed random values.

[ bsd3, library, math, statistics ] [ Propose Tags ]

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).


(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 repeatedly generating individual samples with e.g. normal.

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 1.0, 1.1,,,
Dependencies base (<5), random (<2) [details]
License BSD-3-Clause
Copyright Bjorn Buckwalter 2011
Author Bjorn Buckwalter
Category Math, Statistics
Home page
Uploaded by BjornBuckwalter at 2011-08-31T01:16:20Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 9 direct, 2 indirect [details]
Downloads 9491 total (38 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for normaldistribution-

[back to package description]
See normaldistribution.cabal for information.