module Simulation.Aivika.Trans.Processor.Random
(randomUniformProcessor,
randomUniformIntProcessor,
randomTriangularProcessor,
randomNormalProcessor,
randomLogNormalProcessor,
randomExponentialProcessor,
randomErlangProcessor,
randomPoissonProcessor,
randomBinomialProcessor,
randomGammaProcessor,
randomBetaProcessor,
randomWeibullProcessor,
randomDiscreteProcessor) where
import Simulation.Aivika.Trans.DES
import Simulation.Aivika.Trans.Generator
import Simulation.Aivika.Trans.Process
import Simulation.Aivika.Trans.Process.Random
import Simulation.Aivika.Trans.Processor
randomUniformProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomUniformProcessor #-}
randomUniformProcessor min max =
withinProcessor $
randomUniformProcess_ min max
randomUniformIntProcessor :: MonadDES m
=> Int
-> Int
-> Processor m a a
{-# INLINABLE randomUniformIntProcessor #-}
randomUniformIntProcessor min max =
withinProcessor $
randomUniformIntProcess_ min max
randomTriangularProcessor :: MonadDES m
=> Double
-> Double
-> Double
-> Processor m a a
{-# INLINABLE randomTriangularProcessor #-}
randomTriangularProcessor min median max =
withinProcessor $
randomTriangularProcess_ min median max
randomNormalProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomNormalProcessor #-}
randomNormalProcessor mu nu =
withinProcessor $
randomNormalProcess_ mu nu
randomLogNormalProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomLogNormalProcessor #-}
randomLogNormalProcessor mu nu =
withinProcessor $
randomLogNormalProcess_ mu nu
randomExponentialProcessor :: MonadDES m
=> Double
-> Processor m a a
{-# INLINABLE randomExponentialProcessor #-}
randomExponentialProcessor mu =
withinProcessor $
randomExponentialProcess_ mu
randomErlangProcessor :: MonadDES m
=> Double
-> Int
-> Processor m a a
{-# INLINABLE randomErlangProcessor #-}
randomErlangProcessor beta m =
withinProcessor $
randomErlangProcess_ beta m
randomPoissonProcessor :: MonadDES m
=> Double
-> Processor m a a
{-# INLINABLE randomPoissonProcessor #-}
randomPoissonProcessor mu =
withinProcessor $
randomPoissonProcess_ mu
randomBinomialProcessor :: MonadDES m
=> Double
-> Int
-> Processor m a a
{-# INLINABLE randomBinomialProcessor #-}
randomBinomialProcessor prob trials =
withinProcessor $
randomBinomialProcess_ prob trials
randomGammaProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomGammaProcessor #-}
randomGammaProcessor kappa theta =
withinProcessor $
randomGammaProcess_ kappa theta
randomBetaProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomBetaProcessor #-}
randomBetaProcessor alpha beta =
withinProcessor $
randomBetaProcess_ alpha beta
randomWeibullProcessor :: MonadDES m
=> Double
-> Double
-> Processor m a a
{-# INLINABLE randomWeibullProcessor #-}
randomWeibullProcessor alpha beta =
withinProcessor $
randomWeibullProcess_ alpha beta
randomDiscreteProcessor :: MonadDES m
=> DiscretePDF Double
-> Processor m a a
{-# INLINABLE randomDiscreteProcessor #-}
randomDiscreteProcessor dpdf =
withinProcessor $
randomDiscreteProcess_ dpdf