Stability | experimental |
---|---|
Maintainer | Patrick Perry <patperry@gmail.com> |
Safe Haskell | None |
A monad and monad transformer for monte carlo computations built on top of the functions in the GNU Scientific Library.
- data MC a
- runMC :: MC a -> RNG -> (a, RNG)
- evalMC :: MC a -> RNG -> a
- execMC :: MC a -> RNG -> RNG
- data MCT m a
- runMCT :: Monad m => MCT m a -> RNG -> m (a, RNG)
- evalMCT :: Monad m => MCT m a -> RNG -> m a
- execMCT :: Monad m => MCT m a -> RNG -> m RNG
- data RNG
- type Seed = Word64
- mt19937 :: Seed -> RNG
- mt19937WithState :: [Word8] -> RNG
- rngName :: RNG -> String
- rngSize :: RNG -> Int
- rngState :: RNG -> [Word8]
- module Control.Monad.MC.Class
The Monte Carlo monad
A Monte Carlo monad with an internal random number generator.
runMC :: MC a -> RNG -> (a, RNG)Source
Run this Monte Carlo monad with the given initial random number generator, getting the result and the new random number generator.
evalMC :: MC a -> RNG -> aSource
Evaluate this Monte Carlo monad and throw away the final random number
generator. Very much like fst
composed with runMC
.
execMC :: MC a -> RNG -> RNGSource
Exicute this Monte Carlo monad and return the final random number
generator. Very much like snd
composed with runMC
.
The Monte Carlo monad transformer
A parameterizable Monte Carlo monad for encapsulating an inner monad.
MonadTrans MCT | |
(Monad (MCT m), MonadError e m) => MonadError e (MCT m) | |
(Monad (MCT m), MonadReader r m) => MonadReader r (MCT m) | |
(Monad (MCT m), MonadState s m) => MonadState s (MCT m) | |
(Monoid w, Monad (MCT m), MonadWriter w m) => MonadWriter w (MCT m) | |
Monad m => Monad (MCT m) | |
Monad m => Functor (MCT m) | |
(Monad (MCT m), MonadPlus m) => MonadPlus (MCT m) | |
(Functor (MCT m), Monad m) => Applicative (MCT m) | |
(Monad (MCT m), MonadIO m) => MonadIO (MCT m) | |
(Monad (MCT m), MonadCont m) => MonadCont (MCT m) | |
(Monad (MCT m), HasRNG (* -> *) (MCT m), Monad m) => MonadMC (MCT m) | |
Monad m => HasRNG (* -> *) (MCT m) |
Pure random number generator creation
Get a Mersenne Twister random number generator seeded with the given value.
mt19937WithState :: [Word8] -> RNGSource
Get a Mersenne Twister seeded with the given state.
Overloaded Monte Carlo monad interface
module Control.Monad.MC.Class