aivika-transformers-5.8: Transformers for the Aivika simulation library

Copyright Copyright (c) 2009-2017 David Sorokin BSD3 David Sorokin experimental None Haskell2010

Simulation.Aivika.Trans.Operation.Random

Description

Tested with: GHC 8.0.1

This module defines some useful predefined operations that hold the current process for the corresponding random time interval, when processing every input element.

Synopsis

# Documentation

Arguments

 :: MonadDES m => Double the minimum time interval -> Double the maximum time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed uniformly, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Int the minimum time interval -> Int the maximum time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed uniformly, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

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

Create a new operation that holds the process for a random time interval having the triangular distribution, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Double the mean time interval -> Double the time interval deviation -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed normally, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

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

Create a new operation that holds the process for a random time interval having the lognormal distribution, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

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

Create a new operation that holds the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate), when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

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

Create a new operation that holds the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Double the mean time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Poisson distribution with the specified mean, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Double the probability -> Int the number of trials -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the binomial distribution with the specified probability and trials, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

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

Create a new operation that holds the process for a random time interval having the Gamma distribution with the specified shape and scale, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Double shape (alpha) -> Double shape (beta) -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Beta distribution with the specified shape parameters (alpha and beta), when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Double shape -> Double scale -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Weibull distribution with the specified shape and scale, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => DiscretePDF Double the discrete probability density function -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the specified discrete distribution, when processing every input element.

By default, it is assumed that the operation process cannot be preempted, because the handling of possible task preemption is rather costly.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the minimum time interval -> Double the maximum time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed uniformly, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Int the minimum time interval -> Int the maximum time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed uniformly, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the minimum time interval -> Double the median of the time interval -> Double the maximum time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the triangular distribution, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the mean time interval -> Double the time interval deviation -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed normally, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> 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 -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the lognormal distribution, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the mean time interval (the reciprocal of the rate) -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate), when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the scale (the reciprocal of the rate) -> Int the shape -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the mean time interval -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Poisson distribution with the specified mean, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the probability -> Int the number of trials -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the binomial distribution with the specified probability and trials, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double the shape -> Double the scale -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Gamma distribution with the specified shape and scale, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double shape (alpha) -> Double shape (beta) -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Beta distribution with the specified shape parameters (alpha and beta), when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> Double shape -> Double scale -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the Weibull distribution with the specified shape and scale, when processing every input element.

Arguments

 :: MonadDES m => Bool whether the operation process can be preempted -> DiscretePDF Double the discrete probability density function -> Event m (Operation m a a)

Create a new operation that holds the process for a random time interval having the specified discrete distribution, when processing every input element.