function boxcox( x, lambda ) {
	if ( isnan( x ) || isnan( lambda ) ) {
		return NaN;
	}
	if ( isPositiveZero( x ) && lambda < 0.0 ) {
		return NINF;
	}
	if ( abs( lambda ) < 1.0e-19 ) {
		return ln( x );
	}
	return expm1( lambda*ln( x ) ) / lambda;
}
Computes a one-parameter Box-Cox transformation.

## Method

-   If \\( \lambda << 1 \\) and \\( \ln( x ) < 1.0 \\), then the product \\( \lambda \cdot \ln(x) \\) can lose precision, and, furthermore, \\( \operatorname{expm1}(x) = x \\) for \\( x < \epsilon \\).
-   For double-precision floating-point numbers, the range of the natural log is \\( \[-744.44, 709.78\] and \\( \epsilon \\) is the smallest value produced.
-   The value range means that we will have \\( |\lambda \cdot \ln(x)| < \epsilon \\) whenever \\( |\lambda| \leq \frac{\epsilon}{-\ln(d) \\), where \\( d \\) is the minimum double-precision floating-point number, thus corresponding to the value \\( \approx 2.98 \times 10^{-19} \\).

@param {number} x - input value
@param {number} lambda - power parameter
@returns {number} Box-Cox transformation

@example
var v = boxcox( 1.0, 2.5 );
// returns 0.0

@example
var v = boxcox( 4.0, 2.5 );
// returns 12.4

@example
var v = boxcox( 10.0, 2.5 );
// returns ~126.0911

@example
var v = boxcox( 2.0, 0.0 );
// returns ~0.6931

@example
var v = boxcox( -1.0, 2.5 );
// returns NaN

@example
var v = boxcox( 0.0, -1.0 );
// returns -Infinity