Copyright | Copyright (c) 2009-2017 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.