function cdf( x ) {
		var denom;
		var probs;
		var num;
		var ret;
		var i;

		if ( isnan( x ) ) {
			return NaN;
		}
		x = trunc( x );
		if ( x < max( 0, n + K - N ) ) {
			return 0.0;
		}
		if ( x >= min( n, K ) ) {
			return 1.0;
		}

		probs = new Float64Array( x+1 );
		probs[ x ] = pmf( x, N, K, n );

		/*
		* Use recurrence relation:
		*
		*   (x+1)( N - K - (n-x-1) )P(X=x+1)=(K-x)(n-x)P(X=x)
		*/
		for ( i = x-1; i >= 0; i-- ) {
			num = ( i+1 ) * ( N-K-(n-i-1) );
			denom = ( K-i ) * ( n-i );
			probs[ i ] = ( num/denom ) * probs[ i+1 ];
		}
		ret = sum( probs );
		return min( ret, 1.0 );
	}
Evaluates the cumulative distribution function (CDF) for a hypergeometric distribution.

@private
@param {number} x - input value
@returns {Probability} evaluated CDF

@example
var y = cdf( 2.0 );
// returns <number>