formulab 0.12.1 → 0.13.0
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/CHANGELOG.md +14 -0
- package/dist/machining/effectiveDiameter.d.ts +12 -3
- package/dist/machining/effectiveDiameter.d.ts.map +1 -1
- package/dist/machining/effectiveDiameter.js +35 -7
- package/dist/machining/effectiveDiameter.js.map +1 -1
- package/dist/machining/types.d.ts +3 -1
- package/dist/machining/types.d.ts.map +1 -1
- package/dist/quality/lineBalancing.js +5 -4
- package/dist/quality/lineBalancing.js.map +1 -1
- package/dist/utility/assignment.d.ts +3 -2
- package/dist/utility/assignment.d.ts.map +1 -1
- package/dist/utility/assignment.js +5 -3
- package/dist/utility/assignment.js.map +1 -1
- package/dist/utility/bilinearInterpolation.d.ts +9 -1
- package/dist/utility/bilinearInterpolation.d.ts.map +1 -1
- package/dist/utility/bilinearInterpolation.js +20 -6
- package/dist/utility/bilinearInterpolation.js.map +1 -1
- package/dist/utility/correlation.d.ts +8 -1
- package/dist/utility/correlation.d.ts.map +1 -1
- package/dist/utility/correlation.js +13 -2
- package/dist/utility/correlation.js.map +1 -1
- package/dist/utility/depreciation.d.ts +9 -1
- package/dist/utility/depreciation.d.ts.map +1 -1
- package/dist/utility/depreciation.js +18 -5
- package/dist/utility/depreciation.js.map +1 -1
- package/dist/utility/histogram.d.ts +8 -1
- package/dist/utility/histogram.d.ts.map +1 -1
- package/dist/utility/histogram.js +13 -4
- package/dist/utility/histogram.js.map +1 -1
- package/dist/utility/lcc.d.ts +9 -1
- package/dist/utility/lcc.d.ts.map +1 -1
- package/dist/utility/lcc.js +17 -4
- package/dist/utility/lcc.js.map +1 -1
- package/dist/utility/linearInterpolation.d.ts +9 -1
- package/dist/utility/linearInterpolation.d.ts.map +1 -1
- package/dist/utility/linearInterpolation.js +17 -2
- package/dist/utility/linearInterpolation.js.map +1 -1
- package/dist/utility/movingAverage.d.ts +9 -1
- package/dist/utility/movingAverage.d.ts.map +1 -1
- package/dist/utility/movingAverage.js +18 -3
- package/dist/utility/movingAverage.js.map +1 -1
- package/dist/utility/normalize.d.ts +8 -1
- package/dist/utility/normalize.d.ts.map +1 -1
- package/dist/utility/normalize.js +11 -3
- package/dist/utility/normalize.js.map +1 -1
- package/dist/utility/npv.d.ts +9 -1
- package/dist/utility/npv.d.ts.map +1 -1
- package/dist/utility/npv.js +17 -4
- package/dist/utility/npv.js.map +1 -1
- package/dist/utility/percentile.d.ts +8 -1
- package/dist/utility/percentile.d.ts.map +1 -1
- package/dist/utility/percentile.js +13 -4
- package/dist/utility/percentile.js.map +1 -1
- package/dist/utility/regression.d.ts +9 -1
- package/dist/utility/regression.d.ts.map +1 -1
- package/dist/utility/regression.js +20 -4
- package/dist/utility/regression.js.map +1 -1
- package/dist/utility/roi.d.ts +8 -1
- package/dist/utility/roi.d.ts.map +1 -1
- package/dist/utility/roi.js +16 -2
- package/dist/utility/roi.js.map +1 -1
- package/dist/utility/statistics.d.ts +8 -1
- package/dist/utility/statistics.d.ts.map +1 -1
- package/dist/utility/statistics.js +10 -2
- package/dist/utility/statistics.js.map +1 -1
- package/dist/utility/unit.d.ts +4 -2
- package/dist/utility/unit.d.ts.map +1 -1
- package/dist/utility/unit.js +12 -5
- package/dist/utility/unit.js.map +1 -1
- package/dist/utility/weightedScore.d.ts +10 -1
- package/dist/utility/weightedScore.d.ts.map +1 -1
- package/dist/utility/weightedScore.js +30 -12
- package/dist/utility/weightedScore.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linearInterpolation.d.ts","sourceRoot":"","sources":["../../src/utility/linearInterpolation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEtF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,
|
|
1
|
+
{"version":3,"file":"linearInterpolation.d.ts","sourceRoot":"","sources":["../../src/utility/linearInterpolation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEtF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CAiD9F"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Linear interpolation (and extrapolation) over a tabulated x/y series
|
|
4
|
+
*
|
|
5
|
+
* @param input - x/y table and target x value
|
|
6
|
+
* @returns Interpolated value with bracketing indices and extrapolation flag
|
|
7
|
+
* @throws RangeError if x or y is missing, x and y lengths differ,
|
|
8
|
+
* or fewer than 2 points are provided
|
|
9
|
+
*/
|
|
2
10
|
export function linearInterpolation(input) {
|
|
3
11
|
const { x, y, target } = input;
|
|
4
|
-
if (!x || !y
|
|
5
|
-
|
|
12
|
+
if (!x || !y) {
|
|
13
|
+
throw new RangeError('x and y arrays are required');
|
|
14
|
+
}
|
|
15
|
+
if (x.length !== y.length) {
|
|
16
|
+
throw new RangeError(`x and y must have the same length, got x.length=${x.length}, y.length=${y.length}`);
|
|
17
|
+
}
|
|
18
|
+
if (x.length < 2) {
|
|
19
|
+
throw new RangeError(`x must contain at least 2 points, got ${x.length}`);
|
|
20
|
+
}
|
|
6
21
|
// Find bracketing interval
|
|
7
22
|
let lowerIndex = 0;
|
|
8
23
|
let upperIndex = x.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linearInterpolation.js","sourceRoot":"","sources":["../../src/utility/linearInterpolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"linearInterpolation.js","sourceRoot":"","sources":["../../src/utility/linearInterpolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,mDAAmD,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,2BAA2B;IAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,UAAU,GAAG,CAAC,CAAC;QACf,UAAU,GAAG,CAAC,CAAC;QACf,eAAe,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACrC,UAAU,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,UAAU,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,eAAe,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzC,UAAU,GAAG,CAAC,CAAC;gBACf,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAEzB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEjC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB,UAAU;QACV,UAAU;QACV,eAAe;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { MovingAverageInput, MovingAverageResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Calculate moving average (simple or exponential) over a data series
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series, window size, and method ('sma' | 'ema')
|
|
6
|
+
* @returns Moving average values
|
|
7
|
+
* @throws RangeError if data is empty, window is less than 1,
|
|
8
|
+
* window exceeds data length, or method is not 'sma' or 'ema'
|
|
9
|
+
*/
|
|
10
|
+
export declare function movingAverage(input: MovingAverageInput): MovingAverageResult;
|
|
3
11
|
//# sourceMappingURL=movingAverage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movingAverage.d.ts","sourceRoot":"","sources":["../../src/utility/movingAverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"movingAverage.d.ts","sourceRoot":"","sources":["../../src/utility/movingAverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAmB5E"}
|
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate moving average (simple or exponential) over a data series
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series, window size, and method ('sma' | 'ema')
|
|
6
|
+
* @returns Moving average values
|
|
7
|
+
* @throws RangeError if data is empty, window is less than 1,
|
|
8
|
+
* window exceeds data length, or method is not 'sma' or 'ema'
|
|
9
|
+
*/
|
|
2
10
|
export function movingAverage(input) {
|
|
3
11
|
const { data, window, method } = input;
|
|
4
|
-
if (!data || data.length === 0
|
|
5
|
-
|
|
12
|
+
if (!data || data.length === 0) {
|
|
13
|
+
throw new RangeError('data must contain at least one value');
|
|
14
|
+
}
|
|
15
|
+
if (window < 1) {
|
|
16
|
+
throw new RangeError(`window must be >= 1, got ${window}`);
|
|
17
|
+
}
|
|
18
|
+
if (window > data.length) {
|
|
19
|
+
throw new RangeError(`window must be <= data length (${data.length}), got ${window}`);
|
|
20
|
+
}
|
|
6
21
|
if (method === 'sma') {
|
|
7
22
|
return { values: sma(data, window) };
|
|
8
23
|
}
|
|
9
24
|
if (method === 'ema') {
|
|
10
25
|
return { values: ema(data, window) };
|
|
11
26
|
}
|
|
12
|
-
|
|
27
|
+
throw new RangeError(`method must be 'sma' or 'ema', got ${String(method)}`);
|
|
13
28
|
}
|
|
14
29
|
function sma(data, window) {
|
|
15
30
|
const result = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movingAverage.js","sourceRoot":"","sources":["../../src/utility/movingAverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"movingAverage.js","sourceRoot":"","sources":["../../src/utility/movingAverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,kCAAkC,IAAI,CAAC,MAAM,UAAU,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,UAAU,CAAC,sCAAsC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,MAAc;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,MAAc;IACzC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,yCAAyC;IACzC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { NormalizeInput, NormalizeResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a data series via min-max scaling or z-score standardization
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series and method ('min-max' | 'z-score')
|
|
6
|
+
* @returns Normalized values with min/max/mean/stdDev metadata
|
|
7
|
+
* @throws RangeError if data is empty or method is not 'min-max' or 'z-score'
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalize(input: NormalizeInput): NormalizeResult;
|
|
3
10
|
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/utility/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/utility/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAmChE"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a data series via min-max scaling or z-score standardization
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series and method ('min-max' | 'z-score')
|
|
6
|
+
* @returns Normalized values with min/max/mean/stdDev metadata
|
|
7
|
+
* @throws RangeError if data is empty or method is not 'min-max' or 'z-score'
|
|
8
|
+
*/
|
|
2
9
|
export function normalize(input) {
|
|
3
10
|
const { data, method } = input;
|
|
4
|
-
if (!data || data.length === 0)
|
|
5
|
-
|
|
11
|
+
if (!data || data.length === 0) {
|
|
12
|
+
throw new RangeError('data must contain at least one value');
|
|
13
|
+
}
|
|
6
14
|
const n = data.length;
|
|
7
15
|
const min = Math.min(...data);
|
|
8
16
|
const max = Math.max(...data);
|
|
@@ -22,7 +30,7 @@ export function normalize(input) {
|
|
|
22
30
|
: data.map((v) => roundTo((v - mean) / stdDev, 6));
|
|
23
31
|
}
|
|
24
32
|
else {
|
|
25
|
-
|
|
33
|
+
throw new RangeError(`method must be 'min-max' or 'z-score', got ${String(method)}`);
|
|
26
34
|
}
|
|
27
35
|
return {
|
|
28
36
|
values,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utility/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utility/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,MAAgB,CAAC;IAErB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,MAAM,GAAG,KAAK,KAAK,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,UAAU,CAAC,8CAA8C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3B,CAAC;AACJ,CAAC"}
|
package/dist/utility/npv.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { NpvInput, NpvResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Calculate net present value (NPV), IRR, and profitability index
|
|
4
|
+
*
|
|
5
|
+
* @param input - Initial investment, cash flow series, and discount rate
|
|
6
|
+
* @returns NPV result (irr is null when the IRR iteration does not converge)
|
|
7
|
+
* @throws RangeError if initialInvestment is negative, cashFlows is empty,
|
|
8
|
+
* or discountRate is outside [0, 1)
|
|
9
|
+
*/
|
|
10
|
+
export declare function npv(input: NpvInput): NpvResult;
|
|
3
11
|
//# sourceMappingURL=npv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npv.d.ts","sourceRoot":"","sources":["../../src/utility/npv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"npv.d.ts","sourceRoot":"","sources":["../../src/utility/npv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CA4B9C"}
|
package/dist/utility/npv.js
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate net present value (NPV), IRR, and profitability index
|
|
4
|
+
*
|
|
5
|
+
* @param input - Initial investment, cash flow series, and discount rate
|
|
6
|
+
* @returns NPV result (irr is null when the IRR iteration does not converge)
|
|
7
|
+
* @throws RangeError if initialInvestment is negative, cashFlows is empty,
|
|
8
|
+
* or discountRate is outside [0, 1)
|
|
9
|
+
*/
|
|
2
10
|
export function npv(input) {
|
|
3
11
|
const { initialInvestment, cashFlows, discountRate } = input;
|
|
4
|
-
if (initialInvestment < 0
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
if (initialInvestment < 0) {
|
|
13
|
+
throw new RangeError(`initialInvestment must be >= 0, got ${initialInvestment}`);
|
|
14
|
+
}
|
|
15
|
+
if (!cashFlows || cashFlows.length === 0) {
|
|
16
|
+
throw new RangeError('cashFlows must contain at least one value');
|
|
17
|
+
}
|
|
18
|
+
if (discountRate < 0 || discountRate >= 1) {
|
|
19
|
+
throw new RangeError(`discountRate must be in [0, 1), got ${discountRate}`);
|
|
20
|
+
}
|
|
8
21
|
const pvCashFlows = cashFlows.reduce((acc, cf, i) => {
|
|
9
22
|
return acc + cf / (1 + discountRate) ** (i + 1);
|
|
10
23
|
}, 0);
|
package/dist/utility/npv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npv.js","sourceRoot":"","sources":["../../src/utility/npv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC7D,IAAI,iBAAiB,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"npv.js","sourceRoot":"","sources":["../../src/utility/npv.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { PercentileInput, PercentileResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Calculate a percentile of a data series (linear interpolation between ranks)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series and percentile (0-100)
|
|
6
|
+
* @returns Percentile result
|
|
7
|
+
* @throws RangeError if data is empty or percentile is outside [0, 100]
|
|
8
|
+
*/
|
|
9
|
+
export declare function percentile(input: PercentileInput): PercentileResult;
|
|
3
10
|
//# sourceMappingURL=percentile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"percentile.d.ts","sourceRoot":"","sources":["../../src/utility/percentile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"percentile.d.ts","sourceRoot":"","sources":["../../src/utility/percentile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA0BnE"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate a percentile of a data series (linear interpolation between ranks)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Data series and percentile (0-100)
|
|
6
|
+
* @returns Percentile result
|
|
7
|
+
* @throws RangeError if data is empty or percentile is outside [0, 100]
|
|
8
|
+
*/
|
|
2
9
|
export function percentile(input) {
|
|
3
10
|
const { data, percentile: p } = input;
|
|
4
|
-
if (!data || data.length === 0)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
if (!data || data.length === 0) {
|
|
12
|
+
throw new RangeError('data must contain at least one value');
|
|
13
|
+
}
|
|
14
|
+
if (p < 0 || p > 100) {
|
|
15
|
+
throw new RangeError(`percentile must be in [0, 100], got ${p}`);
|
|
16
|
+
}
|
|
8
17
|
const sorted = [...data].sort((a, b) => a - b);
|
|
9
18
|
const n = sorted.length;
|
|
10
19
|
if (p === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"percentile.js","sourceRoot":"","sources":["../../src/utility/percentile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"percentile.js","sourceRoot":"","sources":["../../src/utility/percentile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAE9D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { RegressionInput, RegressionResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Simple linear regression (least squares)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Regression input with x and y data arrays
|
|
6
|
+
* @returns Slope, intercept, R² and equation string
|
|
7
|
+
* @throws RangeError if x or y is missing, if x and y lengths differ,
|
|
8
|
+
* if fewer than 2 data points are provided, or if all x values are identical
|
|
9
|
+
*/
|
|
10
|
+
export declare function regression(input: RegressionInput): RegressionResult;
|
|
3
11
|
//# sourceMappingURL=regression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regression.d.ts","sourceRoot":"","sources":["../../src/utility/regression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"regression.d.ts","sourceRoot":"","sources":["../../src/utility/regression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAqDnE"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Simple linear regression (least squares)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Regression input with x and y data arrays
|
|
6
|
+
* @returns Slope, intercept, R² and equation string
|
|
7
|
+
* @throws RangeError if x or y is missing, if x and y lengths differ,
|
|
8
|
+
* if fewer than 2 data points are provided, or if all x values are identical
|
|
9
|
+
*/
|
|
2
10
|
export function regression(input) {
|
|
3
11
|
const { x, y } = input;
|
|
4
|
-
if (!x || !y
|
|
5
|
-
|
|
12
|
+
if (!x || !y) {
|
|
13
|
+
throw new RangeError('x and y data arrays are required');
|
|
14
|
+
}
|
|
15
|
+
if (x.length !== y.length) {
|
|
16
|
+
throw new RangeError(`x and y must have the same length, got ${x.length} and ${y.length}`);
|
|
17
|
+
}
|
|
18
|
+
if (x.length < 2) {
|
|
19
|
+
throw new RangeError(`at least 2 data points are required, got ${x.length}`);
|
|
20
|
+
}
|
|
6
21
|
const n = x.length;
|
|
7
22
|
const meanX = x.reduce((a, v) => a + v, 0) / n;
|
|
8
23
|
const meanY = y.reduce((a, v) => a + v, 0) / n;
|
|
@@ -16,8 +31,9 @@ export function regression(input) {
|
|
|
16
31
|
sumX2 += dx * dx;
|
|
17
32
|
sumY2 += dy * dy;
|
|
18
33
|
}
|
|
19
|
-
if (sumX2 === 0)
|
|
20
|
-
|
|
34
|
+
if (sumX2 === 0) {
|
|
35
|
+
throw new RangeError('x values must not all be identical (zero variance in x)');
|
|
36
|
+
}
|
|
21
37
|
const slope = sumXY / sumX2;
|
|
22
38
|
const intercept = meanY - slope * meanX;
|
|
23
39
|
const ssTot = sumY2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regression.js","sourceRoot":"","sources":["../../src/utility/regression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"regression.js","sourceRoot":"","sources":["../../src/utility/regression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACxB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3C,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;IAE/C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAEtE,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
package/dist/utility/roi.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { RoiInput, RoiResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Return on investment (ROI) calculation
|
|
4
|
+
*
|
|
5
|
+
* @param input - ROI input with investment, annual return and years
|
|
6
|
+
* @returns Total/annualized ROI, payback period, total return and net profit
|
|
7
|
+
* @throws RangeError if investment, annualReturn or years is not > 0
|
|
8
|
+
*/
|
|
9
|
+
export declare function roi(input: RoiInput): RoiResult;
|
|
3
10
|
//# sourceMappingURL=roi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roi.d.ts","sourceRoot":"","sources":["../../src/utility/roi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"roi.d.ts","sourceRoot":"","sources":["../../src/utility/roi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAyB9C"}
|
package/dist/utility/roi.js
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Return on investment (ROI) calculation
|
|
4
|
+
*
|
|
5
|
+
* @param input - ROI input with investment, annual return and years
|
|
6
|
+
* @returns Total/annualized ROI, payback period, total return and net profit
|
|
7
|
+
* @throws RangeError if investment, annualReturn or years is not > 0
|
|
8
|
+
*/
|
|
2
9
|
export function roi(input) {
|
|
3
10
|
const { investment, annualReturn, years } = input;
|
|
4
|
-
if (investment <= 0
|
|
5
|
-
|
|
11
|
+
if (investment <= 0) {
|
|
12
|
+
throw new RangeError(`investment must be > 0, got ${investment}`);
|
|
13
|
+
}
|
|
14
|
+
if (annualReturn <= 0) {
|
|
15
|
+
throw new RangeError(`annualReturn must be > 0, got ${annualReturn}`);
|
|
16
|
+
}
|
|
17
|
+
if (years <= 0) {
|
|
18
|
+
throw new RangeError(`years must be > 0, got ${years}`);
|
|
19
|
+
}
|
|
6
20
|
const totalReturn = annualReturn * years;
|
|
7
21
|
const netProfit = totalReturn - investment;
|
|
8
22
|
const roiPercent = (netProfit / investment) * 100;
|
package/dist/utility/roi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roi.js","sourceRoot":"","sources":["../../src/utility/roi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClD,IAAI,UAAU,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"roi.js","sourceRoot":"","sources":["../../src/utility/roi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,GAAG,KAAK,CAAC;IACzC,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3C,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;IAClD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1E,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC;IAEhD,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { StatisticsInput, StatisticsResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Descriptive statistics (count, sum, mean, median, min, max, range, variance, stdDev)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Statistics input with data array
|
|
6
|
+
* @returns Descriptive statistics for the data set
|
|
7
|
+
* @throws RangeError if data is missing or empty
|
|
8
|
+
*/
|
|
9
|
+
export declare function statistics(input: StatisticsInput): StatisticsResult;
|
|
3
10
|
//# sourceMappingURL=statistics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../src/utility/statistics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../src/utility/statistics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAmCnE"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Descriptive statistics (count, sum, mean, median, min, max, range, variance, stdDev)
|
|
4
|
+
*
|
|
5
|
+
* @param input - Statistics input with data array
|
|
6
|
+
* @returns Descriptive statistics for the data set
|
|
7
|
+
* @throws RangeError if data is missing or empty
|
|
8
|
+
*/
|
|
2
9
|
export function statistics(input) {
|
|
3
10
|
const { data } = input;
|
|
4
|
-
if (!data || data.length === 0)
|
|
5
|
-
|
|
11
|
+
if (!data || data.length === 0) {
|
|
12
|
+
throw new RangeError('data must contain at least 1 value');
|
|
13
|
+
}
|
|
6
14
|
const n = data.length;
|
|
7
15
|
const sorted = [...data].sort((a, b) => a - b);
|
|
8
16
|
const sum = data.reduce((acc, v) => acc + v, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../src/utility/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../src/utility/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IAExB,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO;QACL,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3B,CAAC;AACJ,CAAC"}
|
package/dist/utility/unit.d.ts
CHANGED
|
@@ -19,7 +19,9 @@ export declare function getUnitsForCategory(category: UnitCategory): UnitDef[];
|
|
|
19
19
|
* and provides conversions to all units in that category.
|
|
20
20
|
*
|
|
21
21
|
* @param input - Unit conversion input
|
|
22
|
-
* @returns Conversion result with target value and all conversions
|
|
22
|
+
* @returns Conversion result with target value and all conversions
|
|
23
|
+
* @throws RangeError if the category is unknown, or if fromUnit or toUnit
|
|
24
|
+
* is not a supported unit in the category
|
|
23
25
|
*/
|
|
24
|
-
export declare function calculateUnit(input: UnitInput): UnitResult
|
|
26
|
+
export declare function calculateUnit(input: UnitInput): UnitResult;
|
|
25
27
|
//# sourceMappingURL=unit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/utility/unit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0I/E;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAErE;AAED
|
|
1
|
+
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/utility/unit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0I/E;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CA2B1D"}
|
package/dist/utility/unit.js
CHANGED
|
@@ -157,16 +157,23 @@ export function getUnitsForCategory(category) {
|
|
|
157
157
|
* and provides conversions to all units in that category.
|
|
158
158
|
*
|
|
159
159
|
* @param input - Unit conversion input
|
|
160
|
-
* @returns Conversion result with target value and all conversions
|
|
160
|
+
* @returns Conversion result with target value and all conversions
|
|
161
|
+
* @throws RangeError if the category is unknown, or if fromUnit or toUnit
|
|
162
|
+
* is not a supported unit in the category
|
|
161
163
|
*/
|
|
162
164
|
export function calculateUnit(input) {
|
|
163
165
|
const units = UNITS[input.category];
|
|
164
|
-
if (!units)
|
|
165
|
-
|
|
166
|
+
if (!units) {
|
|
167
|
+
throw new RangeError(`unknown unit category '${input.category}'`);
|
|
168
|
+
}
|
|
166
169
|
const from = units.find((u) => u.id === input.fromUnit);
|
|
170
|
+
if (!from) {
|
|
171
|
+
throw new RangeError(`unknown fromUnit '${input.fromUnit}' in category '${input.category}'`);
|
|
172
|
+
}
|
|
167
173
|
const to = units.find((u) => u.id === input.toUnit);
|
|
168
|
-
if (!
|
|
169
|
-
|
|
174
|
+
if (!to) {
|
|
175
|
+
throw new RangeError(`unknown toUnit '${input.toUnit}' in category '${input.category}'`);
|
|
176
|
+
}
|
|
170
177
|
const baseValue = from.toBase(input.value);
|
|
171
178
|
const toValue = to.fromBase(baseValue);
|
|
172
179
|
const allConversions = units.map((u) => ({
|
package/dist/utility/unit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../../src/utility/unit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../../src/utility/unit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import type { WeightedScoreInput, WeightedScoreResult } from './types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Weighted scoring of alternatives against criteria, with ranking
|
|
4
|
+
*
|
|
5
|
+
* @param input - Weighted score input with criteria, weights, alternatives and score matrix
|
|
6
|
+
* @returns Ranked alternatives with weighted scores and normalized weights
|
|
7
|
+
* @throws RangeError if criteria/weights/alternatives/scores are missing or empty,
|
|
8
|
+
* if criteria and weights lengths differ, if the scores matrix dimensions do not
|
|
9
|
+
* match alternatives × criteria, or if the weight sum is 0
|
|
10
|
+
*/
|
|
11
|
+
export declare function weightedScore(input: WeightedScoreInput): WeightedScoreResult;
|
|
3
12
|
//# sourceMappingURL=weightedScore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weightedScore.d.ts","sourceRoot":"","sources":["../../src/utility/weightedScore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAA4B,MAAM,YAAY,CAAC;AAEpG,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"weightedScore.d.ts","sourceRoot":"","sources":["../../src/utility/weightedScore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAA4B,MAAM,YAAY,CAAC;AAEpG;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA6C5E"}
|