# Class GaussianGenerator

java.lang.Object
org.uncommons.maths.random.GaussianGenerator

All Implemented Interfaces:
  `NumberGenerator<Double>`

public class GaussianGenerator extends Object implements NumberGenerator<Double>
Normally distributed random sequence.

## Constructor Summary

Constructors
Constructor
Description
`GaussianGenerator(double mean, double standardDeviation, Random rng)`
Creates a generator of normally-distributed values from a distribution with the specified mean and standard deviation.
`GaussianGenerator(NumberGenerator<Double> mean, NumberGenerator<Double> standardDeviation, Random rng)`
Creates a generator of normally-distributed values.

## Method Summary

Modifier and Type
Method
Description
`Double`
`nextValue()`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GaussianGenerator

public GaussianGenerator(NumberGenerator<Double> mean, NumberGenerator<Double> standardDeviation, Random rng)

Creates a generator of normally-distributed values. The mean and standard deviation are determined by the provided `NumberGenerator`s. This means that the statistical parameters of this generator may change over time. One example of where this is useful is if the mean and standard deviation generators are attached to GUI controls that allow a user to tweak the parameters while a program is running.

To create a Gaussian generator with a constant mean and standard deviation, use the `GaussianGenerator(double, double, Random)` constructor instead.

Parameters:
  `mean` - A `NumberGenerator` that provides the mean of the Gaussian distribution used for the next generated value.
  `standardDeviation` - A `NumberGenerator` that provides the standard deviation of the Gaussian distribution used for the next generated value.
  `rng` - The source of randomness.

### GaussianGenerator

public GaussianGenerator(double mean, double standardDeviation, Random rng)
Creates a generator of normally-distributed values from a distribution with the specified mean and standard deviation.

Parameters:
  `mean` - The mean of the values generated.
  `standardDeviation` - The standard deviation of the values generated.
  `rng` - The source of randomness.

## Method Details

### nextValue

public Double nextValue()

Specified by:
  `nextValue` in interface `NumberGenerator<Double>`
Returns:
  The next value from the generator.