function quantile( p, n ) {
	var pui;
	var q;
	var r;
	if ( isnan( n ) || !isPositiveInteger( n ) || !isfinite( n ) ) {
		return NaN;
	}
	if ( isnan( p ) || p < 0.0 || p > 1.0 ) {
		return NaN;
	}
	if ( p === 0.0 ) {
		return 0;
	}
	if ( p === 1.0 ) {
		return ( n * ( n + 1 ) ) / 2;
	}
	pui = exp( -n * LN2 );
	r = 0;
	q = -1;
	while ( r < p ) {
		q += 1;
		r += pui * weights( q, n );
	}
	return q;
}
Evaluates the quantile function of the Wilcoxon signed rank test statistic with `n` observations.

@param {Probability} p - input value
@param {PositiveInteger} n - number of observations
@returns {NonNegativeInteger} evaluated quantile function

@example
var y = quantile( 0.8, 5 );
// returns 11

@example
var y = quantile( 0.5, 4 );
// returns 5

@example
var y = quantile( 1.1, 5 );
// returns NaN

@example
var y = quantile( -0.2, 5 );
// returns NaN

@example
var y = quantile( NaN, 5 );
// returns NaN

@example
var y = quantile( 0.0, NaN );
// returns NaN