aivika-4.3: A multi-paradigm simulation library

CopyrightCopyright (c) 2009-2015, David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.Process.Random

Description

Tested with: GHC 7.10.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

randomUniformProcess Source

Arguments

:: 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

Arguments

:: Double

the minimum time interval

-> Double

the maximum time interval

-> Process () 

Hold the process for a random time interval distributed uniformly.

randomUniformIntProcess Source

Arguments

:: 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

Arguments

:: Int

the minimum time interval

-> Int

the maximum time interval

-> Process () 

Hold the process for a random time interval distributed uniformly.

randomTriangularProcess Source

Arguments

:: 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

Arguments

:: 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.

randomNormalProcess Source

Arguments

:: 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.

randomNormalProcess_ Source

Arguments

:: Double

the mean time interval

-> Double

the time interval deviation

-> Process () 

Hold the process for a random time interval distributed normally.

randomLogNormalProcess Source

Arguments

:: 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

Arguments

:: 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

Arguments

:: 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

Arguments

:: Double

the mean time interval (the reciprocal of the rate)

-> Process () 

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

randomErlangProcess Source

Arguments

:: 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.

randomErlangProcess_ Source

Arguments

:: Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Process () 

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

randomPoissonProcess Source

Arguments

:: 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

Arguments

:: Double

the mean time interval

-> Process () 

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

randomBinomialProcess Source

Arguments

:: 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

Arguments

:: Double

the probability

-> Int

the number of trials

-> Process () 

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

randomGammaProcess Source

Arguments

:: 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.

randomGammaProcess_ Source

Arguments

:: Double

the shape

-> Double

the scale (a reciprocal of the rate)

-> Process () 

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

randomBetaProcess Source

Arguments

:: 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).

randomBetaProcess_ Source

Arguments

:: Double

the shape (alpha)

-> Double

the shape (beta)

-> Process () 

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

randomWeibullProcess Source

Arguments

:: 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

Arguments

:: Double

the shape

-> Double

the scale

-> Process () 

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

randomDiscreteProcess Source

Arguments

:: 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

Arguments

:: DiscretePDF Double

the discrete probability density function

-> Process () 

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