function gammaDeltaRatio( z, delta ) {
	var result;
	var idelta;
	var iz;

	if ( z <= 0.0 || z + delta <= 0.0 ) {
		// This isn't very sophisticated, or accurate, but it does work:
		return gamma( z ) / gamma( z + delta );
	}
	idelta = floor( delta );
	if ( idelta === delta ) {
		iz = floor( z );
		if ( iz === z ) {
			// As both `z` and `delta` are integers, see if we can use a table lookup:
			if ( z <= FLOAT64_MAX_NTH_FACTORIAL && ( z + delta <= FLOAT64_MAX_NTH_FACTORIAL ) ) {
				return factorial( iz - 1.0 ) / factorial( idelta + iz - 1.0 );
			}
		}
		if ( abs(delta) < 20.0 ) {
			// As `delta` is a small integer, we can use a finite product:
			if ( delta === 0.0 ) {
				return 1.0;
			}
			if ( delta < 0.0 ) {
				z -= 1.0;
				result = z;
				delta += 1.0;
				while ( delta !== 0.0 ) {
					z -= 1.0;
					result *= z;
					delta += 1.0;
				}
				return result;
			}
			result = 1.0 / z;
			delta -= 1.0;
			while ( delta !== 0.0 ) {
				z += 1.0;
				result /= z;
				delta -= 1.0;
			}
			return result;
		}
	}
	return gammaDeltaRatioLanczos( z, delta );
}
Computes the ratio of two gamma functions.

## Notes

-   Specifically, the function evaluates

    ```tex
    \frac{ \Gamma( z ) }{ \Gamma( z + \delta ) }
    ```

@param {number} z - first gamma parameter
@param {number} delta - difference
@returns {number} gamma ratio

@example
var y = gammaDeltaRatio( 2.0, 3.0 );
// returns ~0.042

@example
var y = gammaDeltaRatio( 4.0, 0.5 );
// returns ~0.516

@example
var y = gammaDeltaRatio( 100.0, 0.0 );
// returns 1.0