| \section{Standard Module \module{whrandom}} |
| \label{module-whrandom} |
| \stmodindex{whrandom} |
| |
| This module implements a Wichmann-Hill pseudo-random number generator |
| class that is also named \code{whrandom}. Instances of the |
| \code{whrandom} class have the following methods: |
| |
| \begin{funcdesc}{choice}{seq} |
| Chooses a random element from the non-empty sequence \var{seq} and returns it. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{randint}{a, b} |
| Returns a random integer \var{N} such that \code{\var{a}<=\var{N}<=\var{b}}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{random}{} |
| Returns the next random floating point number in the range [0.0 ... 1.0). |
| \end{funcdesc} |
| |
| \begin{funcdesc}{seed}{x, y, z} |
| Initializes the random number generator from the integers |
| \var{x}, |
| \var{y} |
| and |
| \var{z}. |
| When the module is first imported, the random number is initialized |
| using values derived from the current time. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{uniform}{a, b} |
| Returns a random real number \var{N} such that \code{\var{a}<=\var{N}<\var{b}}. |
| \end{funcdesc} |
| |
| When imported, the \code{whrandom} module also creates an instance of |
| the \code{whrandom} class, and makes the methods of that instance |
| available at the module level. Therefore one can write either |
| \code{N = whrandom.random()} or: |
| \begin{verbatim} |
| generator = whrandom.whrandom() |
| N = generator.random() |
| \end{verbatim} |
| % |
| \begin{seealso} |
| \seemodule{random}{generators for various random distributions} |
| \seetext{Wichmann, B. A. \& Hill, I. D., ``Algorithm AS 183: |
| An efficient and portable pseudo-random number generator'', |
| \emph{Applied Statistics} 31 (1982) 188-190} |
| \end{seealso} |