function bernoulli( n ) {
	if ( isnan( n ) || !isNonNegativeInteger( n ) ) {
		return NaN;
	}
	if ( n === 1 ) {
		return 0.5;
	}
	if ( isOdd( n ) ) {
		return 0.0;
	}
	if ( n > MAX_BERNOULLI ) {
		return ( (n/2)&1 ) ? PINF : NINF;
	}
	return BERNOULLI[ n/2 ];
}
Computes the nth Bernoulli number.

@param {NonNegativeInteger} n - the Bernoulli number to compute
@returns {number} Bernoulli number

@example
var y = bernoulli( 0 );
// returns 1.0

@example
var y = bernoulli( 1 );
// returns 0.5

@example
var y = bernoulli( 2 );
// returns ~0.167

@example
var y = bernoulli( 3 );
// returns 0.0

@example
var y = bernoulli( 4 );
// returns ~-0.033

@example
var y = bernoulli( 5 );
// returns 0.0

@example
var y = bernoulli( 20 );
// returns ~-529.124

@example
var y = bernoulli( 260 );
// returns -Infinity

@example
var y = bernoulli( 262 );
// returns Infinity

@example
var y = bernoulli( NaN );
// returns NaN