The mwc-random package

[Tags:bsd3, library]

This package contains code for generating high quality random numbers that follow either a uniform or normal distribution. The generated numbers are suitable for use in statistical applications.

The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222) multiply-with-carry generator, which has a period of 2^8222 and fares well in tests of randomness. It is also extremely fast, between 2 and 3 times faster than the Mersenne Twister.

Compared to the mersenne-random package, this package has a more convenient API, is faster, and supports more statistical distributions.

[Skip to Readme]


Versions 0.4.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log ChangeLog
Dependencies base (>=4.8 && <5), primitive (<0.6), time, vector (>=0.7) [details]
License BSD3
Copyright 2009, 2010, 2011 Bryan O'Sullivan
Author Bryan O'Sullivan <>
Maintainer Bryan O'Sullivan <>
Category Math, Statistics
Home page
Bug tracker
Source repository head: git clone git://
head: hg clone
Uploaded Sun Mar 29 18:31:24 UTC 2015 by AlexeyKhudyakov
Updated Mon Apr 6 16:51:13 UTC 2015 by AlexeyKhudyakov to revision 2
Distributions Arch:, Debian:, Fedora:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 69659 total (3336 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2015-10-17 [all 3 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for mwc-random

Readme for mwc-random-

Efficient, general purpose pseudo-random number generation

This package provides the System.Random.MWC module, a Haskell library for generating high-quality pseudo-random numbers in a space- and time-efficient way.

Get involved!

Please report bugs via the github issue tracker.

Master git git repository:

  • git clone git://

There's also a Mercurial mirror:

  • hg clone

(You can create and contribute changes using either Mercurial or git.)


This library is written and maintained by Bryan O'Sullivan,