MCPcopy
hub / github.com/microsoft/SandDance / quantile

Function quantile

docs/app/js/sanddance-app.js:110509–110516  ·  view source on GitHub ↗
(values, p, valueof)

Source from the content-addressed store, hash-verified

110507var _numberJs = require("./number.js");
110508var _numberJsDefault = parcelHelpers.interopDefault(_numberJs);
110509function quantile(values, p, valueof) {
110510 values = Float64Array.from((0, _numberJs.numbers)(values, valueof));
110511 if (!(n = values.length)) return;
110512 if ((p = +p) <= 0 || n < 2) return (0, _minJsDefault.default)(values);
110513 if (p >= 1) return (0, _maxJsDefault.default)(values);
110514 var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = (0, _maxJsDefault.default)((0, _quickselectJsDefault.default)(values, i0).subarray(0, i0 + 1)), value1 = (0, _minJsDefault.default)(values.subarray(i0 + 1));
110515 return value0 + (value1 - value0) * (i - i0);
110516}
110517exports.default = quantile;
110518function quantileSorted(values, p, valueof = (0, _numberJsDefault.default)) {
110519 if (!(n = values.length)) return;

Callers

nothing calls this directly

Calls 2

rescaleFunction · 0.70
fromMethod · 0.45

Tested by

no test coverage detected