@hestia-earth/utils 0.16.6 → 0.16.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/number.d.ts +8 -0
- package/dist/number.js +17 -1
- package/package.json +1 -1
package/dist/number.d.ts
CHANGED
|
@@ -13,6 +13,14 @@ export declare const isNumber: (n: string | number) => boolean;
|
|
|
13
13
|
* @param precision The number of significant figures
|
|
14
14
|
*/
|
|
15
15
|
export declare const toPrecision: (n: number, precision?: number) => number;
|
|
16
|
+
/**
|
|
17
|
+
* Get the value of an array for a given percentile.
|
|
18
|
+
*
|
|
19
|
+
* @param values
|
|
20
|
+
* @param percentile
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare const getPercentileValue: (values: number[], percentile: number) => number;
|
|
16
24
|
/**
|
|
17
25
|
* Returns the number formatted with commas every thousand.
|
|
18
26
|
*
|
package/dist/number.js
CHANGED
|
@@ -17,7 +17,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
17
17
|
};
|
|
18
18
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.median = exports.max = exports.min = exports.mean = exports.sum = exports.convertValue = exports.converters = exports.ConvertUnits = exports.toComma = exports.toPrecision = exports.isNumber = void 0;
|
|
20
|
+
exports.median = exports.max = exports.min = exports.mean = exports.sum = exports.convertValue = exports.converters = exports.ConvertUnits = exports.toComma = exports.getPercentileValue = exports.toPrecision = exports.isNumber = void 0;
|
|
21
21
|
/**
|
|
22
22
|
* Check if the value is a number.
|
|
23
23
|
*
|
|
@@ -47,6 +47,22 @@ var toPrecision = function (n, precision) {
|
|
|
47
47
|
return n === 0 ? 0 : Math.round(n * multiplier) / multiplier;
|
|
48
48
|
};
|
|
49
49
|
exports.toPrecision = toPrecision;
|
|
50
|
+
/**
|
|
51
|
+
* Get the value of an array for a given percentile.
|
|
52
|
+
*
|
|
53
|
+
* @param values
|
|
54
|
+
* @param percentile
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
var getPercentileValue = function (values, percentile) {
|
|
58
|
+
var sorted = values.slice().sort(function (a, b) { return a - b; });
|
|
59
|
+
var index = (sorted.length - 1) * percentile;
|
|
60
|
+
var lower = Math.floor(index);
|
|
61
|
+
var upper = Math.ceil(index);
|
|
62
|
+
var weight = index - lower;
|
|
63
|
+
return lower === upper ? sorted[index] : sorted[lower] * (1 - weight) + sorted[upper] * weight;
|
|
64
|
+
};
|
|
65
|
+
exports.getPercentileValue = getPercentileValue;
|
|
50
66
|
/**
|
|
51
67
|
* Returns the number formatted with commas every thousand.
|
|
52
68
|
*
|