# Gumbel

Gumbel distribution constructor.

## Usage

``````var Gumbel = require( '@stdlib/math/base/dists/gumbel/ctor' );
``````

#### Gumbel( [mu, beta] )

Returns a Gumbel distribution object.

``````var gumbel = new Gumbel();

var mean = gumbel.mean;
// returns ~0.577
``````

By default, `mu = 0.0` and `beta = 1.0`. To create a distribution having a different `mu` (location parameter) and `beta` (scale parameter), provide parameter values.

``````var gumbel = new Gumbel( 2.0, 4.0 );

var mean = gumbel.mean;
// returns ~4.309
``````

## gumbel

A Gumbel distribution object has the following properties and methods...

### Writable Properties

#### gumbel.mu

Location parameter of the distribution.

``````var gumbel = new Gumbel();

var mu = gumbel.mu;
// returns 0.0

gumbel.mu = 3.0;

mu = gumbel.mu;
// returns 3.0
``````

#### gumbel.beta

Scale parameter of the distribution. `beta` must be a positive number.

``````var gumbel = new Gumbel( 2.0, 4.0 );

var beta = gumbel.beta;
// returns 4.0

gumbel.beta = 3.0;

beta = gumbel.beta;
// returns 3.0
``````

### Computed Properties

#### Gumbel.prototype.entropy

Returns the differential entropy.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var entropy = gumbel.entropy;
// returns ~4.062
``````

#### Gumbel.prototype.kurtosis

Returns the excess kurtosis.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var kurtosis = gumbel.kurtosis;
// returns 2.4
``````

#### Gumbel.prototype.mean

Returns the expected value.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var mu = gumbel.mean;
// returns ~10.927
``````

#### Gumbel.prototype.median

Returns the median.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var median = gumbel.median;
// returns ~8.398
``````

#### Gumbel.prototype.mode

Returns the mode.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var mode = gumbel.mode;
// returns 4.0
``````

#### Gumbel.prototype.skewness

Returns the skewness.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var skewness = gumbel.skewness;
// returns ~1.14
``````

#### Gumbel.prototype.stdev

Returns the standard deviation.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var s = gumbel.stdev;
// returns ~15.391
``````

#### Gumbel.prototype.variance

Returns the variance.

``````var gumbel = new Gumbel( 4.0, 12.0 );

var s2 = gumbel.variance;
// returns ~236.871
``````

### Methods

#### Gumbel.prototype.cdf( x )

Evaluates the cumulative distribution function (CDF).

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.cdf( 0.5 );
// returns ~0.233
``````

#### Gumbel.prototype.logcdf( x )

Evaluates the natural logarithm of the cumulative distribution function (CDF).

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.logcdf( 2.0 );
// returns -1.0
``````

#### Gumbel.prototype.logpdf( x )

Evaluates the natural logarithm of the probability density function (PDF).

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.logpdf( 0.8 );
// returns ~-2.436
``````

#### Gumbel.prototype.mgf( t )

Evaluates the moment-generating function (MGF).

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.mgf( 0.1 );
// returns ~1.819
``````

#### Gumbel.prototype.pdf( x )

Evaluates the probability density function (PDF).

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.pdf( 2.0 );
// returns ~0.092
``````

#### Gumbel.prototype.quantile( p )

Evaluates the quantile function at probability `p`.

``````var gumbel = new Gumbel( 2.0, 4.0 );

var y = gumbel.quantile( 0.5 );
// returns ~3.466

y = quantile( 1.9 );
// returns NaN
``````

## Examples

``````var Gumbel = require( '@stdlib/math/base/dists/gumbel/ctor' );

var gumbel = new Gumbel( 2.0, 4.0 );

var mean = gumbel.mean;
// returns ~4.309

var median = gumbel.median;
// returns ~3.466

var s2 = gumbel.variance;
// returns ~26.319

var y = gumbel.cdf( 0.8 );
// returns ~0.259
``````