function Exponential() {
	var lambda;
	if ( !(this instanceof Exponential) ) {
		if ( arguments.length === 0 ) {
			return new Exponential();
		}
		return new Exponential( arguments[ 0 ] );
	}
	if ( arguments.length ) {
		lambda = arguments[ 0 ];
		if ( !isPositive( lambda ) ) {
			throw new TypeError( format( 'invalid argument. Rate parameter must be a positive number. Value: `%s`.', lambda ) );
		}
	} else {
		lambda = 1.0;
	}
	defineProperty( this, 'lambda', {
		'configurable': false,
		'enumerable': true,
		'get': function get() {
			return lambda;
		},
		'set': function set( value ) {
			if ( !isPositive( value ) ) {
				throw new TypeError( format( 'invalid assignment. Must be a positive number. Value: `%s`.', value ) );
			}
			lambda = value;
		}
	});
	return this;
}
Exponential distribution constructor.

@constructor
@param {PositiveNumber} [lambda=1.0] - rate parameter
@throws {TypeError} `lambda` must be a positive number
@returns {Exponential} distribution instance

@example
var exponential = new Exponential( 1.0 );

var y = exponential.cdf( 0.8 );
// returns ~0.551

var v = exponential.mode;
// returns 0.0