Copyright | Copyright (c) 2009-2016, David Sorokin <david.sorokin@gmail.com> |
---|---|
License | BSD3 |
Maintainer | David Sorokin <david.sorokin@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Tested with: GHC 8.0.1
This module defines helper functions, which are useful to hold
the Process
computation for a time interval according to some
random distribution.
- randomUniformProcess :: Double -> Double -> Process Double
- randomUniformProcess_ :: Double -> Double -> Process ()
- randomUniformIntProcess :: Int -> Int -> Process Int
- randomUniformIntProcess_ :: Int -> Int -> Process ()
- randomTriangularProcess :: Double -> Double -> Double -> Process Double
- randomTriangularProcess_ :: Double -> Double -> Double -> Process ()
- randomNormalProcess :: Double -> Double -> Process Double
- randomNormalProcess_ :: Double -> Double -> Process ()
- randomLogNormalProcess :: Double -> Double -> Process Double
- randomLogNormalProcess_ :: Double -> Double -> Process ()
- randomExponentialProcess :: Double -> Process Double
- randomExponentialProcess_ :: Double -> Process ()
- randomErlangProcess :: Double -> Int -> Process Double
- randomErlangProcess_ :: Double -> Int -> Process ()
- randomPoissonProcess :: Double -> Process Int
- randomPoissonProcess_ :: Double -> Process ()
- randomBinomialProcess :: Double -> Int -> Process Int
- randomBinomialProcess_ :: Double -> Int -> Process ()
- randomGammaProcess :: Double -> Double -> Process Double
- randomGammaProcess_ :: Double -> Double -> Process ()
- randomBetaProcess :: Double -> Double -> Process Double
- randomBetaProcess_ :: Double -> Double -> Process ()
- randomWeibullProcess :: Double -> Double -> Process Double
- randomWeibullProcess_ :: Double -> Double -> Process ()
- randomDiscreteProcess :: DiscretePDF Double -> Process Double
- randomDiscreteProcess_ :: DiscretePDF Double -> Process ()
Documentation
:: Double | the minimum time interval |
-> Double | the maximum time interval |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval distributed uniformly.
randomUniformProcess_ Source #
Hold the process for a random time interval distributed uniformly.
randomUniformIntProcess Source #
:: Int | the minimum time interval |
-> Int | the maximum time interval |
-> Process Int | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval distributed uniformly.
randomUniformIntProcess_ Source #
Hold the process for a random time interval distributed uniformly.
randomTriangularProcess Source #
:: Double | the minimum time interval |
-> Double | a median of the time interval |
-> Double | the maximum time interval |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the triangular distribution.
randomTriangularProcess_ Source #
:: Double | the minimum time interval |
-> Double | a median of the time interval |
-> Double | the maximum time interval |
-> Process () |
Hold the process for a random time interval having the triangular distribution.
:: Double | the mean time interval |
-> Double | the time interval deviation |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval distributed normally.
Hold the process for a random time interval distributed normally.
randomLogNormalProcess Source #
:: Double | the mean for a normal distribution which this distribution is derived from |
-> Double | the deviation for a normal distribution which this distribution is derived from |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the lognormal distribution.
randomLogNormalProcess_ Source #
:: Double | the mean for a normal distribution which this distribution is derived from |
-> Double | the deviation for a normal distribution which this distribution is derived from |
-> Process () |
Hold the process for a random time interval having the lognormal distribution.
randomExponentialProcess Source #
:: Double | the mean time interval (the reciprocal of the rate) |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate).
randomExponentialProcess_ Source #
Hold the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate).
:: Double | the scale (the reciprocal of the rate) |
-> Int | the shape |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters.
Hold the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters.
:: Double | the mean time interval |
-> Process Int | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the Poisson distribution with the specified mean.
randomPoissonProcess_ Source #
Hold the process for a random time interval having the Poisson distribution with the specified mean.
randomBinomialProcess Source #
:: Double | the probability |
-> Int | the number of trials |
-> Process Int | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the binomial distribution with the specified probability and trials.
randomBinomialProcess_ Source #
Hold the process for a random time interval having the binomial distribution with the specified probability and trials.
:: Double | the shape |
-> Double | the scale (a reciprocal of the rate) |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the Gamma distribution with the specified shape and scale.
Hold the process for a random time interval having the Gamma distribution with the specified shape and scale.
:: Double | the shape (alpha) |
-> Double | the shape (beta) |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the Beta distribution with the specified shape parameters (alpha and beta).
Hold the process for a random time interval having the Beta distribution with the specified shape parameters (alpha and beta).
:: Double | the shape |
-> Double | the scale |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the Weibull distribution with the specified shape and scale.
randomWeibullProcess_ Source #
Hold the process for a random time interval having the Weibull distribution with the specified shape and scale.
randomDiscreteProcess Source #
:: DiscretePDF Double | the discrete probability density function |
-> Process Double | a computation of the time interval for which the process was actually held |
Hold the process for a random time interval having the specified discrete distribution.
randomDiscreteProcess_ Source #
:: DiscretePDF Double | the discrete probability density function |
-> Process () |
Hold the process for a random time interval having the specified discrete distribution.