aivika-transformers-5.9.1: Transformers for the Aivika simulation library
Copyright Copyright (c) 2009-2017 David Sorokin BSD3 David Sorokin experimental None Haskell2010

Simulation.Aivika.Trans.Process.Random

Description

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.

Synopsis

# Documentation

Arguments

 :: MonadDES m => Double the minimum time interval -> Double the maximum time interval -> Process m Double a computation of the time interval for which the process was actually held

Hold the process for a random time interval distributed uniformly.

Arguments

 :: MonadDES m => Double the minimum time interval -> Double the maximum time interval -> Process m ()

Hold the process for a random time interval distributed uniformly.

Arguments

 :: MonadDES m => Int the minimum time interval -> Int the maximum time interval -> Process m Int a computation of the time interval for which the process was actually held

Hold the process for a random time interval distributed uniformly.

Arguments

 :: MonadDES m => Int the minimum time interval -> Int the maximum time interval -> Process m ()

Hold the process for a random time interval distributed uniformly.

Arguments

 :: MonadDES m => Double the minimum time interval -> Double a median of the time interval -> Double the maximum time interval -> Process m 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.

Arguments

 :: MonadDES m => Double the minimum time interval -> Double a median of the time interval -> Double the maximum time interval -> Process m ()

Hold the process for a random time interval having the triangular distribution.

Arguments

 :: MonadDES m => Double the mean time interval -> Double the time interval deviation -> Process m Double a computation of the time interval for which the process was actually held

Hold the process for a random time interval distributed normally.

Arguments

 :: MonadDES m => Double the mean time interval -> Double the time interval deviation -> Process m ()

Hold the process for a random time interval distributed normally.

Arguments

 :: MonadDES m => 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 m 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.

Arguments

 :: MonadDES m => 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 m ()

Hold the process for a random time interval having the lognormal distribution.

Arguments

 :: MonadDES m => Double the mean time interval (the reciprocal of the rate) -> Process m 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).

Arguments

 :: MonadDES m => Double the mean time interval (the reciprocal of the rate) -> Process m ()

Hold the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate).

Arguments

 :: MonadDES m => Double the scale (the reciprocal of the rate) -> Int the shape -> Process m 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.

Arguments

 :: MonadDES m => Double the scale (the reciprocal of the rate) -> Int the shape -> Process m ()

Hold the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters.

Arguments

 :: MonadDES m => Double the mean time interval -> Process m 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.

Arguments

 :: MonadDES m => Double the mean time interval -> Process m ()

Hold the process for a random time interval having the Poisson distribution with the specified mean.

Arguments

 :: MonadDES m => Double the probability -> Int the number of trials -> Process m 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.

Arguments

 :: MonadDES m => Double the probability -> Int the number of trials -> Process m ()

Hold the process for a random time interval having the binomial distribution with the specified probability and trials.

Arguments

 :: MonadDES m => Double the shape -> Double the scale (a reciprocal of the rate) -> Process m 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.

Arguments

 :: MonadDES m => Double the shape -> Double the scale (a reciprocal of the rate) -> Process m ()

Hold the process for a random time interval having the Gamma distribution with the specified shape and scale.

Arguments

 :: MonadDES m => Double the shape (alpha) -> Double the shape (beta) -> Process m 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).

Arguments

 :: MonadDES m => Double the shape (alpha) -> Double the shape (beta) -> Process m ()

Hold the process for a random time interval having the Beta distribution with the specified shape parameters (alpha and beta).

Arguments

 :: MonadDES m => Double the shape -> Double the scale -> Process m 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.

Arguments

 :: MonadDES m => Double the shape -> Double the scale -> Process m ()

Hold the process for a random time interval having the Weibull distribution with the specified shape and scale.

Arguments

 :: MonadDES m => DiscretePDF Double the discrete probability density function -> Process m 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.

Arguments

 :: MonadDES m => DiscretePDF Double the discrete probability density function -> Process m ()

Hold the process for a random time interval having the specified discrete distribution.