# QuantLib_KnuthUniformRng man page

KnuthUniformRng — Uniform random number generator.

## Synopsis

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

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

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

KnuthUniformRng(3) is an alias of QuantLib_KnuthUniformRng(3).