distributions-cauchy-quantile
Version:
Cauchy distribution quantile function.
42 lines (32 loc) • 1.13 kB
JavaScript
// MODULES //
var partial = require( './partial.js' );
// QUANTILE //
/**
* FUNCTION: quantile( out, arr, x0, gamma, accessor )
* Evaluates the quantile function for a Cauchy distribution with location parameter `x0` and scale parameter `gamma` using an accessor function.
*
* @param {Array|Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array} out - output array
* @param {Array} arr - input array
* @param {Number} x0 - location parameter
* @param {Number} gamma - scale parameter
* @param {Function} accessor - accessor function for accessing array values
* @returns {Number[]|Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array} output array
*/
function quantile( y, x, x0, gamma, clbk ) {
var len = x.length,
fcn,
v, i;
fcn = partial( x0, gamma );
for ( i = 0; i < len; i++ ) {
v = clbk( x[ i ], i );
if ( typeof v === 'number' ) {
y[ i ] = fcn( v );
} else {
y[ i ] = NaN;
}
}
return y;
} // end FUNCTION quantile()
// EXPORTS //
module.exports = quantile;
;