Copyright | Copyright (c) 2009-2015, 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 7.8.3

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 ()
- randomNormalProcess :: Double -> Double -> Process Double
- randomNormalProcess_ :: 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 ()

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

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.

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

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.

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

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

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