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

@constructor
@param {PositiveNumber} [v=1.0] - degrees of freedom
@throws {TypeError} `v` must be a positive number
@returns {T} distribution instance

@example
var t = new T( 1.0 );

var y = t.cdf( 0.8 );
// returns ~0.715

var v = t.mode;
// returns 0.0