### A free/open-source library for quantitative finance

Public Types | Public Member Functions
KnuthUniformRng Class Reference

Uniform random number generator. More...

`#include <ql/math/randomnumbers/knuthuniformrng.hpp>`

List of all members.

## Public Types

typedef Sample< Real > | sample_type

## Public Member Functions

| KnuthUniformRng (long seed=0)
sample_type | next () const

## Detailed Description

Uniform random number generator.

Random number generator by Knuth. For more details see Knuth, Seminumerical Algorithms, 3rd edition, Section 3.6.

Note:
  This is not Knuth's original implementation which is available at http://www-cs-faculty.stanford.edu/~knuth/programs.html, but rather a slightly modified version wrapped in a C++ class. Such modifications did not affect the code but only the data structures used, which were converted to their standard C++ equivalents.

## Constructor & Destructor Documentation

KnuthUniformRng | ( | long | seed = `0` | ) | `[explicit]`

if the given seed is 0, a random seed will be chosen based on clock()

## Member Function Documentation

KnuthUniformRng::sample_type next | ( |  | ) | const

returns a sample with weight 1.0 containing a random number uniformly chosen from (0.0,1.0)