aivika-6.1.1: A multi-method simulation library
CopyrightCopyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simulation.Aivika.Stream.Random

Description

Tested with: GHC 8.0.1

This module defines random streams of events, which are useful for describing the input of the model.

Synopsis

Stream of Random Events

randomStream Source #

Arguments

:: Parameter (Double, a)

compute a pair of the delay and event of type a

-> Stream (Arrival a)

a stream of delayed events

Return a stream of random events that arrive with the specified delay.

randomUniformStream Source #

Arguments

:: Double

the minimum delay

-> Double

the maximum delay

-> Stream (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays distributed uniformly.

randomUniformIntStream Source #

Arguments

:: Int

the minimum delay

-> Int

the maximum delay

-> Stream (Arrival Int)

the stream of random events with the delays generated

Create a new stream with integer random delays distributed uniformly.

randomTriangularStream Source #

Arguments

:: Double

the minimum delay

-> Double

the median of the delay

-> Double

the maximum delay

-> Stream (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays having the triangular distribution.

randomNormalStream Source #

Arguments

:: Double

the mean delay

-> Double

the delay deviation

-> Stream (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays distributed normally.

randomLogNormalStream Source #

Arguments

:: Double

the mean of a normal distribution which this distribution is derived from

-> Double

the deviation of a normal distribution which this distribution is derived from

-> Stream (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays having the lognormal distribution.

randomExponentialStream Source #

Arguments

:: Double

the mean delay (the reciprocal of the rate)

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays distibuted exponentially with the specified mean (the reciprocal of the rate).

randomErlangStream Source #

Arguments

:: Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters.

randomPoissonStream Source #

Arguments

:: Double

the mean delay

-> Stream (Arrival Int)

the stream of random events with the delays generated

Return a new stream with random delays having the Poisson distribution with the specified mean.

randomBinomialStream Source #

Arguments

:: Double

the probability

-> Int

the number of trials

-> Stream (Arrival Int)

the stream of random events with the delays generated

Return a new stream with random delays having the binomial distribution with the specified probability and trials.

randomGammaStream Source #

Arguments

:: Double

the shape

-> Double

the scale (a reciprocal of the rate)

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Gamma distribution by the specified shape and scale.

randomBetaStream Source #

Arguments

:: Double

the shape (alpha)

-> Double

the shape (beta)

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Beta distribution by the specified shape parameters (alpha and beta).

randomWeibullStream Source #

Arguments

:: Double

shape

-> Double

scale

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Weibull distribution by the specified shape and scale.

randomDiscreteStream Source #

Arguments

:: DiscretePDF Double

the discrete probability density function

-> Stream (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the specified discrete distribution.