@omegagrid/grid-core 0.2.5
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/calculations/autofill.d.ts +7 -0
- package/dist/calculations/autofill.d.ts.map +1 -0
- package/dist/calculations/autofill.js +81 -0
- package/dist/calculations/autofill.js.map +1 -0
- package/dist/calculations/calculationModel.d.ts +35 -0
- package/dist/calculations/calculationModel.d.ts.map +1 -0
- package/dist/calculations/calculationModel.js +199 -0
- package/dist/calculations/calculationModel.js.map +1 -0
- package/dist/calculations/conditions.d.ts +4 -0
- package/dist/calculations/conditions.d.ts.map +1 -0
- package/dist/calculations/conditions.js +46 -0
- package/dist/calculations/conditions.js.map +1 -0
- package/dist/calculations/context.d.ts +53 -0
- package/dist/calculations/context.d.ts.map +1 -0
- package/dist/calculations/context.js +83 -0
- package/dist/calculations/context.js.map +1 -0
- package/dist/calculations/formula.d.ts +69 -0
- package/dist/calculations/formula.d.ts.map +1 -0
- package/dist/calculations/formula.js +360 -0
- package/dist/calculations/formula.js.map +1 -0
- package/dist/calculations/functions/dates.d.ts +6 -0
- package/dist/calculations/functions/dates.d.ts.map +1 -0
- package/dist/calculations/functions/dates.js +28 -0
- package/dist/calculations/functions/dates.js.map +1 -0
- package/dist/calculations/functions/helpers.d.ts +11 -0
- package/dist/calculations/functions/helpers.d.ts.map +1 -0
- package/dist/calculations/functions/helpers.js +38 -0
- package/dist/calculations/functions/helpers.js.map +1 -0
- package/dist/calculations/functions/index.d.ts +5 -0
- package/dist/calculations/functions/index.d.ts.map +1 -0
- package/dist/calculations/functions/index.js +73 -0
- package/dist/calculations/functions/index.js.map +1 -0
- package/dist/calculations/functions/logical.d.ts +10 -0
- package/dist/calculations/functions/logical.d.ts.map +1 -0
- package/dist/calculations/functions/logical.js +49 -0
- package/dist/calculations/functions/logical.js.map +1 -0
- package/dist/calculations/functions/lookup.d.ts +17 -0
- package/dist/calculations/functions/lookup.d.ts.map +1 -0
- package/dist/calculations/functions/lookup.js +167 -0
- package/dist/calculations/functions/lookup.js.map +1 -0
- package/dist/calculations/functions/math.d.ts +62 -0
- package/dist/calculations/functions/math.d.ts.map +1 -0
- package/dist/calculations/functions/math.js +228 -0
- package/dist/calculations/functions/math.js.map +1 -0
- package/dist/calculations/functions/special.d.ts +2 -0
- package/dist/calculations/functions/special.d.ts.map +1 -0
- package/dist/calculations/functions/special.js +55 -0
- package/dist/calculations/functions/special.js.map +1 -0
- package/dist/calculations/functions/statistical.d.ts +5 -0
- package/dist/calculations/functions/statistical.d.ts.map +1 -0
- package/dist/calculations/functions/statistical.js +47 -0
- package/dist/calculations/functions/statistical.js.map +1 -0
- package/dist/calculations/functions/text.d.ts +5 -0
- package/dist/calculations/functions/text.d.ts.map +1 -0
- package/dist/calculations/functions/text.js +23 -0
- package/dist/calculations/functions/text.js.map +1 -0
- package/dist/calculations/index.d.ts +6 -0
- package/dist/calculations/index.d.ts.map +1 -0
- package/dist/calculations/index.js +22 -0
- package/dist/calculations/index.js.map +1 -0
- package/dist/calculations/operators.d.ts +19 -0
- package/dist/calculations/operators.d.ts.map +1 -0
- package/dist/calculations/operators.js +66 -0
- package/dist/calculations/operators.js.map +1 -0
- package/dist/calculations/tokenization.d.ts +34 -0
- package/dist/calculations/tokenization.d.ts.map +1 -0
- package/dist/calculations/tokenization.js +192 -0
- package/dist/calculations/tokenization.js.map +1 -0
- package/dist/comments/comments.d.ts +37 -0
- package/dist/comments/comments.d.ts.map +1 -0
- package/dist/comments/comments.js +39 -0
- package/dist/comments/comments.js.map +1 -0
- package/dist/comments/index.d.ts +2 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +18 -0
- package/dist/comments/index.js.map +1 -0
- package/dist/common/index.d.ts +2 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +18 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/range.d.ts +65 -0
- package/dist/common/range.d.ts.map +1 -0
- package/dist/common/range.js +220 -0
- package/dist/common/range.js.map +1 -0
- package/dist/constants.d.ts +60 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +75 -0
- package/dist/constants.js.map +1 -0
- package/dist/formatting/conditionalFormats.d.ts +34 -0
- package/dist/formatting/conditionalFormats.d.ts.map +1 -0
- package/dist/formatting/conditionalFormats.js +107 -0
- package/dist/formatting/conditionalFormats.js.map +1 -0
- package/dist/formatting/index.d.ts +2 -0
- package/dist/formatting/index.d.ts.map +1 -0
- package/dist/formatting/index.js +18 -0
- package/dist/formatting/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/model/cellModel.d.ts +105 -0
- package/dist/model/cellModel.d.ts.map +1 -0
- package/dist/model/cellModel.js +251 -0
- package/dist/model/cellModel.js.map +1 -0
- package/dist/model/columnModel.d.ts +132 -0
- package/dist/model/columnModel.d.ts.map +1 -0
- package/dist/model/columnModel.js +147 -0
- package/dist/model/columnModel.js.map +1 -0
- package/dist/model/columnSorting.d.ts +50 -0
- package/dist/model/columnSorting.d.ts.map +1 -0
- package/dist/model/columnSorting.js +164 -0
- package/dist/model/columnSorting.js.map +1 -0
- package/dist/model/cssStyle.d.ts +18 -0
- package/dist/model/cssStyle.d.ts.map +1 -0
- package/dist/model/cssStyle.js +197 -0
- package/dist/model/cssStyle.js.map +1 -0
- package/dist/model/dependencies.d.ts +28 -0
- package/dist/model/dependencies.d.ts.map +1 -0
- package/dist/model/dependencies.js +129 -0
- package/dist/model/dependencies.js.map +1 -0
- package/dist/model/elementModel.d.ts +98 -0
- package/dist/model/elementModel.d.ts.map +1 -0
- package/dist/model/elementModel.js +109 -0
- package/dist/model/elementModel.js.map +1 -0
- package/dist/model/filterModel.d.ts +22 -0
- package/dist/model/filterModel.d.ts.map +1 -0
- package/dist/model/filterModel.js +83 -0
- package/dist/model/filterModel.js.map +1 -0
- package/dist/model/gridModel.d.ts +172 -0
- package/dist/model/gridModel.d.ts.map +1 -0
- package/dist/model/gridModel.js +639 -0
- package/dist/model/gridModel.js.map +1 -0
- package/dist/model/groupModel.d.ts +23 -0
- package/dist/model/groupModel.d.ts.map +1 -0
- package/dist/model/groupModel.js +102 -0
- package/dist/model/groupModel.js.map +1 -0
- package/dist/model/history.d.ts +21 -0
- package/dist/model/history.d.ts.map +1 -0
- package/dist/model/history.js +39 -0
- package/dist/model/history.js.map +1 -0
- package/dist/model/index.d.ts +17 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +33 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/iterableRange.d.ts +32 -0
- package/dist/model/iterableRange.d.ts.map +1 -0
- package/dist/model/iterableRange.js +79 -0
- package/dist/model/iterableRange.js.map +1 -0
- package/dist/model/namingModel.d.ts +24 -0
- package/dist/model/namingModel.d.ts.map +1 -0
- package/dist/model/namingModel.js +75 -0
- package/dist/model/namingModel.js.map +1 -0
- package/dist/model/options.d.ts +56 -0
- package/dist/model/options.d.ts.map +1 -0
- package/dist/model/options.js +27 -0
- package/dist/model/options.js.map +1 -0
- package/dist/model/rowModel.d.ts +91 -0
- package/dist/model/rowModel.d.ts.map +1 -0
- package/dist/model/rowModel.js +137 -0
- package/dist/model/rowModel.js.map +1 -0
- package/dist/model/selectionModel.d.ts +20 -0
- package/dist/model/selectionModel.d.ts.map +1 -0
- package/dist/model/selectionModel.js +45 -0
- package/dist/model/selectionModel.js.map +1 -0
- package/dist/model/style.d.ts +73 -0
- package/dist/model/style.d.ts.map +1 -0
- package/dist/model/style.js +38 -0
- package/dist/model/style.js.map +1 -0
- package/dist/model/styleModel.d.ts +20 -0
- package/dist/model/styleModel.d.ts.map +1 -0
- package/dist/model/styleModel.js +85 -0
- package/dist/model/styleModel.js.map +1 -0
- package/dist/sparklines/index.d.ts +2 -0
- package/dist/sparklines/index.d.ts.map +1 -0
- package/dist/sparklines/index.js +18 -0
- package/dist/sparklines/index.js.map +1 -0
- package/dist/sparklines/sparklines.d.ts +61 -0
- package/dist/sparklines/sparklines.d.ts.map +1 -0
- package/dist/sparklines/sparklines.js +185 -0
- package/dist/sparklines/sparklines.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logical.js","sourceRoot":"","sources":["../../../src/calculations/functions/logical.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAEhD,SAAgB,GAAG,CAAC,GAAG,IAAc;IACpC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAA,mBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AACf,CAAC;AAJD,kBAIC;AAED,SAAgB,EAAE,CAAC,GAAG,IAAc;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAA,mBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AACf,CAAC;AAJD,gBAIC;AAED,SAAgB,GAAG,CAAC,GAAG,IAAc;IACpC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAA,mBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE;QACnB,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;YAC7B,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAPD,kBAOC;AAED,SAAgB,OAAO,CAAC,GAAG,IAAe;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;aACpC,IAAI,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAPD,0BAOC;AAED,SAAgB,GAAG,CAAC,SAAkB,EAAE,MAAe,EAAE,OAAgB,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA,CAAC,CAAC;AAAlH,kBAAkH;AAClH,SAAgB,GAAG,CAAC,KAAc,IAAI,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;AAArD,kBAAqD;AACrD,SAAgB,MAAM,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;AAAzC,wBAAyC;AACzC,SAAgB,KAAK,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;AAAvC,sBAAuC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Matrix } from "@omegagrid/core";
|
|
2
|
+
import { ArrayArg } from "./helpers";
|
|
3
|
+
export declare function address(row: number, column: number, mode?: number): string;
|
|
4
|
+
export declare function vlookup(lookupValue: string, lookupTable: Matrix<string>, colIndex: number, exactMatch?: boolean): string;
|
|
5
|
+
export declare function hlookup(lookupValue: string, lookupTable: Matrix<string>, rowIndex: number, exactMatch?: boolean): string;
|
|
6
|
+
export declare function lookup(lookupValue: unknown, lookupTable: Matrix<unknown>, resultTable?: Matrix<unknown>): unknown;
|
|
7
|
+
export declare function choose(index: number, ...args: ArrayArg): unknown;
|
|
8
|
+
export declare function column(address?: string): number;
|
|
9
|
+
export declare function row(address?: string): number;
|
|
10
|
+
export declare function columns(range: ArrayArg): number;
|
|
11
|
+
export declare function rows(range: ArrayArg): number;
|
|
12
|
+
export declare function formulatext(): string;
|
|
13
|
+
export declare function index(range: ArrayArg, row: number, column: number): import("./helpers").Value | import("./helpers").Value[];
|
|
14
|
+
export declare function indirect(ref: string): unknown;
|
|
15
|
+
export declare function match(matchValue: unknown, range: Matrix<unknown>, matchType?: number): number;
|
|
16
|
+
export declare function offset(_ref: unknown, rows: number, columns: number, height?: number, width?: number): unknown[];
|
|
17
|
+
//# sourceMappingURL=lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/calculations/functions/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAA8B,MAAM,WAAW,CAAC;AAYjE,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,SAAI,UAK5D;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ,UAW7G;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ,UAW7G;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,WAYvG;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,WAUtD;AAED,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,UAEtC;AAED,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,UAEnC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,UAEtC;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,QAAQ,UAEnC;AAED,wBAAgB,WAAW,WAG1B;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2DAMjE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAwBnC;AAED,wBAAgB,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,SAAI,UAU/E;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,aAcnG"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.offset = exports.match = exports.indirect = exports.index = exports.formulatext = exports.rows = exports.columns = exports.row = exports.column = exports.choose = exports.lookup = exports.hlookup = exports.vlookup = exports.address = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const common_1 = require("../../common");
|
|
6
|
+
const helpers_1 = require("./helpers");
|
|
7
|
+
function getStringMatcher(searchValue, exactMatch) {
|
|
8
|
+
searchValue = searchValue == null ? '' : searchValue.toString();
|
|
9
|
+
if (exactMatch) {
|
|
10
|
+
return (value) => value == searchValue;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
searchValue = searchValue.toLowerCase();
|
|
14
|
+
return (value) => (value !== null && value !== void 0 ? value : '').toString().toLowerCase().includes(searchValue);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function address(row, column, mode = 1) {
|
|
18
|
+
const range = new common_1.CellRange(Math.max((column || 0) - 1, 0), Math.max((row || 0) - 1, 0));
|
|
19
|
+
if (mode == 1 || mode == 2)
|
|
20
|
+
range.r1Anchor = true;
|
|
21
|
+
if (mode == 1 || mode == 3)
|
|
22
|
+
range.c1Anchor = true;
|
|
23
|
+
return range.A1;
|
|
24
|
+
}
|
|
25
|
+
exports.address = address;
|
|
26
|
+
function vlookup(lookupValue, lookupTable, colIndex, exactMatch = false) {
|
|
27
|
+
let r, c;
|
|
28
|
+
const match = getStringMatcher(lookupValue, exactMatch);
|
|
29
|
+
for (r = 0; r < lookupTable.length; r++) {
|
|
30
|
+
for (c = 0; c < lookupTable[r].length; c++) {
|
|
31
|
+
if (match(lookupTable[r][c])) {
|
|
32
|
+
return lookupTable[r][colIndex - 1];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
exports.vlookup = vlookup;
|
|
39
|
+
function hlookup(lookupValue, lookupTable, rowIndex, exactMatch = false) {
|
|
40
|
+
let r, c;
|
|
41
|
+
const match = getStringMatcher(lookupValue, exactMatch);
|
|
42
|
+
for (r = 0; r < lookupTable.length; r++) {
|
|
43
|
+
for (c = 0; c < lookupTable[r].length; c++) {
|
|
44
|
+
if (match(lookupTable[r][c])) {
|
|
45
|
+
return lookupTable[rowIndex - 1][c];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
exports.hlookup = hlookup;
|
|
52
|
+
function lookup(lookupValue, lookupTable, resultTable) {
|
|
53
|
+
let r, c;
|
|
54
|
+
exit_loops: for (r = 0; r < lookupTable.length; r++) {
|
|
55
|
+
for (c = 0; c < lookupTable[r].length; c++) {
|
|
56
|
+
if (lookupTable[r][c] == lookupValue)
|
|
57
|
+
break exit_loops;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (resultTable)
|
|
61
|
+
return resultTable[r] ? resultTable[r][c] : null;
|
|
62
|
+
else
|
|
63
|
+
return lookupTable[r][lookupTable[r].length - 1];
|
|
64
|
+
}
|
|
65
|
+
exports.lookup = lookup;
|
|
66
|
+
function choose(index, ...args) {
|
|
67
|
+
let result = null;
|
|
68
|
+
let current = 0;
|
|
69
|
+
(0, helpers_1.eachValue)(args, v => {
|
|
70
|
+
if (index == ++current) {
|
|
71
|
+
result = v;
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
exports.choose = choose;
|
|
78
|
+
function column(address) {
|
|
79
|
+
return (address ? common_1.CellRange.fromA1(address).c1 : this.cell.c) + 1;
|
|
80
|
+
}
|
|
81
|
+
exports.column = column;
|
|
82
|
+
function row(address) {
|
|
83
|
+
return (address ? common_1.CellRange.fromA1(address).r1 : this.cell.r) + 1;
|
|
84
|
+
}
|
|
85
|
+
exports.row = row;
|
|
86
|
+
function columns(range) {
|
|
87
|
+
var _a;
|
|
88
|
+
return Array.isArray(range) ? (_a = range[0]) === null || _a === void 0 ? void 0 : _a.length : 1;
|
|
89
|
+
}
|
|
90
|
+
exports.columns = columns;
|
|
91
|
+
function rows(range) {
|
|
92
|
+
return Array.isArray(range) ? range.length : 1;
|
|
93
|
+
}
|
|
94
|
+
exports.rows = rows;
|
|
95
|
+
function formulatext() {
|
|
96
|
+
const cell = (0, helpers_1.getFormulaCells)(this)[0];
|
|
97
|
+
return cell && cell.hasFormula ? (' ' + (0, __1.prefixFormula)(cell.formula)) : '';
|
|
98
|
+
}
|
|
99
|
+
exports.formulatext = formulatext;
|
|
100
|
+
function index(range, row, column) {
|
|
101
|
+
row = row || 1;
|
|
102
|
+
column = column || 1;
|
|
103
|
+
if (Array.isArray(range))
|
|
104
|
+
return range[row - 1] ? range[row - 1][column - 1] : null;
|
|
105
|
+
else if (row == 1 && column == 1)
|
|
106
|
+
return range;
|
|
107
|
+
else
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
exports.index = index;
|
|
111
|
+
function indirect(ref) {
|
|
112
|
+
const currentCell = this.cell;
|
|
113
|
+
const model = currentCell.model;
|
|
114
|
+
const targetCell = model.getCellByA1(ref);
|
|
115
|
+
// register string reference dependencies
|
|
116
|
+
let map;
|
|
117
|
+
if (model.calculations.dependencies.cellDependencies.has(currentCell.address)) {
|
|
118
|
+
map = model.calculations.dependencies.cellDependencies.get(currentCell.address);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
map = new Map();
|
|
122
|
+
model.calculations.dependencies.cellDependencies.set(currentCell.address, map);
|
|
123
|
+
}
|
|
124
|
+
map.set(targetCell.address, [targetCell.range]);
|
|
125
|
+
if (model.calculations.dependencies.cellDependants.has(targetCell.address)) {
|
|
126
|
+
map = model.calculations.dependencies.cellDependants.get(targetCell.address);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
map = new Map();
|
|
130
|
+
model.calculations.dependencies.cellDependants.set(targetCell.address, map);
|
|
131
|
+
}
|
|
132
|
+
map.set(currentCell.address, [currentCell.range]);
|
|
133
|
+
return model.calculations.evaluate(targetCell);
|
|
134
|
+
}
|
|
135
|
+
exports.indirect = indirect;
|
|
136
|
+
function match(matchValue, range, matchType = 0) {
|
|
137
|
+
let r, c;
|
|
138
|
+
for (r = 0; r < range.length; r++) {
|
|
139
|
+
for (c = 0; c < range[r].length; c++) {
|
|
140
|
+
if (matchType == 0 && range[r][c] == matchValue)
|
|
141
|
+
return Math.max(r + 1, c + 1);
|
|
142
|
+
if (matchType == 1 && range[r][c] > matchValue)
|
|
143
|
+
return Math.max(r + 1, c + 1);
|
|
144
|
+
if (matchType == -1 && range[r][c] < matchValue)
|
|
145
|
+
return Math.max(r + 1, c + 1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
exports.match = match;
|
|
151
|
+
function offset(_ref, rows, columns, height, width) {
|
|
152
|
+
const cell = (0, helpers_1.getFormulaCells)(this)[0];
|
|
153
|
+
const result = [];
|
|
154
|
+
height = height || 1;
|
|
155
|
+
width = width || 1;
|
|
156
|
+
for (let r = 0; r < height; r++) {
|
|
157
|
+
const row = [];
|
|
158
|
+
for (let c = 0; c < width; c++) {
|
|
159
|
+
const cell2 = cell.model.rows[cell.r + r + rows].cell(cell.c + c + columns);
|
|
160
|
+
row.push(cell2 ? cell.model.calculations.evaluate(cell2) : null);
|
|
161
|
+
}
|
|
162
|
+
result.push(row);
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
exports.offset = offset;
|
|
167
|
+
//# sourceMappingURL=lookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/calculations/functions/lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Matrix } from "@omegagrid/core";
|
|
2
|
+
import { Condition } from "../conditions";
|
|
3
|
+
import { ArrayArg } from './helpers';
|
|
4
|
+
export declare function acos(x: number): number;
|
|
5
|
+
export declare function acosh(x: number): number;
|
|
6
|
+
export declare function acot(x: number): number;
|
|
7
|
+
export declare function acoth(x: number): number;
|
|
8
|
+
export declare function asin(x: number): number;
|
|
9
|
+
export declare function asinh(x: number): number;
|
|
10
|
+
export declare function atan(x: number): number;
|
|
11
|
+
export declare function atanh(x: number): number;
|
|
12
|
+
export declare function cos(x: number): number;
|
|
13
|
+
export declare function cosh(x: number): number;
|
|
14
|
+
export declare function cot(x: number): number;
|
|
15
|
+
export declare function coth(x: number): number;
|
|
16
|
+
export declare function csc(x: number): number;
|
|
17
|
+
export declare function csch(x: number): number;
|
|
18
|
+
export declare function degrees(x: number): number;
|
|
19
|
+
export declare function PI(): number;
|
|
20
|
+
export declare function sec(x: number): number;
|
|
21
|
+
export declare function sech(x: number): number;
|
|
22
|
+
export declare function sin(x: number): number;
|
|
23
|
+
export declare function sinh(x: number): number;
|
|
24
|
+
export declare function tan(x: number): number;
|
|
25
|
+
export declare function tanh(x: number): number;
|
|
26
|
+
export declare function abs(x: number): number;
|
|
27
|
+
export declare function ceiling(x: number): number;
|
|
28
|
+
export declare function even(x: number): number;
|
|
29
|
+
export declare function exp(x: number): number;
|
|
30
|
+
export declare function fact(x: number): number;
|
|
31
|
+
export declare function factdouble(x: number): number;
|
|
32
|
+
export declare function floor(x: number): number;
|
|
33
|
+
export declare function iseven(x: number): boolean;
|
|
34
|
+
export declare function isodd(x: number): boolean;
|
|
35
|
+
export declare function ln(x: number): number;
|
|
36
|
+
export declare function log(x: number, base: number): number;
|
|
37
|
+
export declare function log10(x: number): number;
|
|
38
|
+
export declare function mod(divident: number, divisor: number): number;
|
|
39
|
+
export declare function odd(x: number): number;
|
|
40
|
+
export declare function power(base: number, exponent: number): number;
|
|
41
|
+
export declare function product(...args: ArrayArg): number;
|
|
42
|
+
export declare function quotient(divident: number, divisor: number): number;
|
|
43
|
+
export declare function radians(angle: number): number;
|
|
44
|
+
export declare function rand(): number;
|
|
45
|
+
export declare function randarray(rows: number, columns: number): Matrix<number>;
|
|
46
|
+
export declare function randbetween(min: number, max: number): number;
|
|
47
|
+
export declare function round(value: number, places: number): string;
|
|
48
|
+
export declare function rounddown(value: number, places: number): number;
|
|
49
|
+
export declare function roundup(value: number, places: number): number;
|
|
50
|
+
export declare function sequence(rows: number, columns: number, start?: number, step?: number): Matrix<number>;
|
|
51
|
+
export declare function sign(value: number): 1 | 0 | -1;
|
|
52
|
+
export declare function sqrt(x: number): number;
|
|
53
|
+
export declare function sqrtpi(x: number): number;
|
|
54
|
+
export declare function count(...args: ArrayArg): number;
|
|
55
|
+
export declare function countblank(...args: ArrayArg): number;
|
|
56
|
+
export declare function countif(v: ArrayArg, cond: Condition): number;
|
|
57
|
+
export declare function countunique(...args: ArrayArg): number;
|
|
58
|
+
export declare function sum(...args: ArrayArg): number;
|
|
59
|
+
export declare function sumif(v: ArrayArg, cond: Condition, range?: ArrayArg): number;
|
|
60
|
+
export declare function sumsq(v: ArrayArg, cond: Condition): number;
|
|
61
|
+
export declare function sumproduct(...args: ArrayArg): number;
|
|
62
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/calculations/functions/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sqrtpi = exports.sqrt = exports.sign = exports.sequence = exports.roundup = exports.rounddown = exports.round = exports.randbetween = exports.randarray = exports.rand = exports.radians = exports.quotient = exports.product = exports.power = exports.odd = exports.mod = exports.log10 = exports.log = exports.ln = exports.isodd = exports.iseven = exports.floor = exports.factdouble = exports.fact = exports.exp = exports.even = exports.ceiling = exports.abs = exports.tanh = exports.tan = exports.sinh = exports.sin = exports.sech = exports.sec = exports.PI = exports.degrees = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.atanh = exports.atan = exports.asinh = exports.asin = exports.acoth = exports.acot = exports.acosh = exports.acos = void 0;
|
|
4
|
+
exports.sumproduct = exports.sumsq = exports.sumif = exports.sum = exports.countunique = exports.countif = exports.countblank = exports.count = void 0;
|
|
5
|
+
const conditions_1 = require("../conditions");
|
|
6
|
+
const helpers_1 = require("./helpers");
|
|
7
|
+
// trigonometry
|
|
8
|
+
function acos(x) { return Math.acos(x); }
|
|
9
|
+
exports.acos = acos;
|
|
10
|
+
function acosh(x) { return Math.acosh(x); }
|
|
11
|
+
exports.acosh = acosh;
|
|
12
|
+
function acot(x) { return Math.PI / 2 - Math.atan(x); }
|
|
13
|
+
exports.acot = acot;
|
|
14
|
+
function acoth(x) { return 0.5 * Math.log((x + 1) / (x - 1)); }
|
|
15
|
+
exports.acoth = acoth;
|
|
16
|
+
function asin(x) { return Math.asin(x); }
|
|
17
|
+
exports.asin = asin;
|
|
18
|
+
function asinh(x) { return Math.asinh(x); }
|
|
19
|
+
exports.asinh = asinh;
|
|
20
|
+
function atan(x) { return Math.atan(x); }
|
|
21
|
+
exports.atan = atan;
|
|
22
|
+
function atanh(x) { return Math.atanh(x); }
|
|
23
|
+
exports.atanh = atanh;
|
|
24
|
+
function cos(x) { return Math.cos(x); }
|
|
25
|
+
exports.cos = cos;
|
|
26
|
+
function cosh(x) { return Math.cosh(x); }
|
|
27
|
+
exports.cosh = cosh;
|
|
28
|
+
function cot(x) { return 1 / Math.tan(x); }
|
|
29
|
+
exports.cot = cot;
|
|
30
|
+
function coth(x) { return 1 / Math.tanh(x); }
|
|
31
|
+
exports.coth = coth;
|
|
32
|
+
function csc(x) { return 1 / Math.sin(x); }
|
|
33
|
+
exports.csc = csc;
|
|
34
|
+
function csch(x) { return 1 / Math.sinh(x); }
|
|
35
|
+
exports.csch = csch;
|
|
36
|
+
function degrees(x) { return x * 180 / Math.PI; }
|
|
37
|
+
exports.degrees = degrees;
|
|
38
|
+
function PI() { return Math.PI; }
|
|
39
|
+
exports.PI = PI;
|
|
40
|
+
function sec(x) { return 1 / Math.cos(x); }
|
|
41
|
+
exports.sec = sec;
|
|
42
|
+
function sech(x) { return 1 / Math.cosh(x); }
|
|
43
|
+
exports.sech = sech;
|
|
44
|
+
function sin(x) { return Math.sin(x); }
|
|
45
|
+
exports.sin = sin;
|
|
46
|
+
function sinh(x) { return Math.sinh(x); }
|
|
47
|
+
exports.sinh = sinh;
|
|
48
|
+
function tan(x) { return Math.tan(x); }
|
|
49
|
+
exports.tan = tan;
|
|
50
|
+
function tanh(x) { return Math.tanh(x); }
|
|
51
|
+
exports.tanh = tanh;
|
|
52
|
+
// arithmetics
|
|
53
|
+
function abs(x) { return Math.abs(x); }
|
|
54
|
+
exports.abs = abs;
|
|
55
|
+
function ceiling(x) { return Math.ceil(x); }
|
|
56
|
+
exports.ceiling = ceiling;
|
|
57
|
+
function even(x) {
|
|
58
|
+
x = Math.ceil(x);
|
|
59
|
+
return x % 2 == 0 ? x : x + 1;
|
|
60
|
+
}
|
|
61
|
+
exports.even = even;
|
|
62
|
+
function exp(x) { return Math.pow(Math.E, x); }
|
|
63
|
+
exports.exp = exp;
|
|
64
|
+
function fact(x) {
|
|
65
|
+
if (x < 0)
|
|
66
|
+
return -1;
|
|
67
|
+
else if (x == 0)
|
|
68
|
+
return 1;
|
|
69
|
+
else
|
|
70
|
+
return (x * fact(x - 1));
|
|
71
|
+
}
|
|
72
|
+
exports.fact = fact;
|
|
73
|
+
function factdouble(x) {
|
|
74
|
+
if (x <= 0)
|
|
75
|
+
return 1;
|
|
76
|
+
else
|
|
77
|
+
return (x * factdouble(x - 2));
|
|
78
|
+
}
|
|
79
|
+
exports.factdouble = factdouble;
|
|
80
|
+
function floor(x) { return Math.floor(x); }
|
|
81
|
+
exports.floor = floor;
|
|
82
|
+
function iseven(x) { return x % 2 == 0; }
|
|
83
|
+
exports.iseven = iseven;
|
|
84
|
+
function isodd(x) { return x % 2 == 1; }
|
|
85
|
+
exports.isodd = isodd;
|
|
86
|
+
function ln(x) { return Math.log(x); }
|
|
87
|
+
exports.ln = ln;
|
|
88
|
+
function log(x, base) { return Math.log(x) / Math.log(base); }
|
|
89
|
+
exports.log = log;
|
|
90
|
+
function log10(x) { return Math.log10(x); }
|
|
91
|
+
exports.log10 = log10;
|
|
92
|
+
function mod(divident, divisor) { return divident % divisor; }
|
|
93
|
+
exports.mod = mod;
|
|
94
|
+
function odd(x) {
|
|
95
|
+
x = Math.ceil(x);
|
|
96
|
+
return x % 2 == 0 ? x + 1 : x;
|
|
97
|
+
}
|
|
98
|
+
exports.odd = odd;
|
|
99
|
+
function power(base, exponent) { return Math.pow(base, exponent); }
|
|
100
|
+
exports.power = power;
|
|
101
|
+
function product(...args) {
|
|
102
|
+
let result = 1;
|
|
103
|
+
(0, helpers_1.eachValue)(args, v => result *= v || 1);
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
exports.product = product;
|
|
107
|
+
function quotient(divident, divisor) { return Math.floor(divident / divisor); }
|
|
108
|
+
exports.quotient = quotient;
|
|
109
|
+
function radians(angle) { return angle * Math.PI / 180; }
|
|
110
|
+
exports.radians = radians;
|
|
111
|
+
function rand() { return Math.random(); }
|
|
112
|
+
exports.rand = rand;
|
|
113
|
+
function randarray(rows, columns) {
|
|
114
|
+
const arr = Array(rows).fill(null).map(() => Array(columns));
|
|
115
|
+
for (let r = 0; r < rows; r++) {
|
|
116
|
+
for (let c = 0; c < columns; c++) {
|
|
117
|
+
arr[r][c] = Math.random();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return arr;
|
|
121
|
+
}
|
|
122
|
+
exports.randarray = randarray;
|
|
123
|
+
function randbetween(min, max) {
|
|
124
|
+
min = Math.ceil(min);
|
|
125
|
+
max = Math.floor(max);
|
|
126
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
127
|
+
}
|
|
128
|
+
exports.randbetween = randbetween;
|
|
129
|
+
function round(value, places) { return value.toFixed(places); }
|
|
130
|
+
exports.round = round;
|
|
131
|
+
function rounddown(value, places) {
|
|
132
|
+
places = places || 0;
|
|
133
|
+
return Math.floor(value * Math.pow(10, places)) / Math.pow(10, places);
|
|
134
|
+
}
|
|
135
|
+
exports.rounddown = rounddown;
|
|
136
|
+
function roundup(value, places) {
|
|
137
|
+
places = places || 0;
|
|
138
|
+
return Math.ceil(value * Math.pow(10, places)) / Math.pow(10, places);
|
|
139
|
+
}
|
|
140
|
+
exports.roundup = roundup;
|
|
141
|
+
function sequence(rows, columns, start = 1, step = 1) {
|
|
142
|
+
const arr = Array(rows).fill(null).map(() => Array(columns));
|
|
143
|
+
let val = start;
|
|
144
|
+
for (let r = 0; r < rows; r++) {
|
|
145
|
+
for (let c = 0; c < columns; c++) {
|
|
146
|
+
arr[r][c] = val;
|
|
147
|
+
val += step;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return arr;
|
|
151
|
+
}
|
|
152
|
+
exports.sequence = sequence;
|
|
153
|
+
function sign(value) { return value < 0 ? -1 : (value > 0 ? 1 : 0); }
|
|
154
|
+
exports.sign = sign;
|
|
155
|
+
function sqrt(x) { return Math.sqrt(x); }
|
|
156
|
+
exports.sqrt = sqrt;
|
|
157
|
+
function sqrtpi(x) { return Math.sqrt(Math.PI * x); }
|
|
158
|
+
exports.sqrtpi = sqrtpi;
|
|
159
|
+
// counting
|
|
160
|
+
function count(...args) {
|
|
161
|
+
let cnt = 0;
|
|
162
|
+
(0, helpers_1.eachValue)(args, v => cnt += v == null ? 0 : 1);
|
|
163
|
+
return cnt;
|
|
164
|
+
}
|
|
165
|
+
exports.count = count;
|
|
166
|
+
function countblank(...args) {
|
|
167
|
+
let cnt = 0;
|
|
168
|
+
(0, helpers_1.eachValue)(args, v => cnt += v == null ? 1 : 0);
|
|
169
|
+
return cnt;
|
|
170
|
+
}
|
|
171
|
+
exports.countblank = countblank;
|
|
172
|
+
function countif(v, cond) {
|
|
173
|
+
let cnt = 0;
|
|
174
|
+
(0, helpers_1.eachValue)(v, v => cnt += (0, conditions_1.evalCondition)(cond, v) ? 1 : 0);
|
|
175
|
+
return cnt;
|
|
176
|
+
}
|
|
177
|
+
exports.countif = countif;
|
|
178
|
+
function countunique(...args) {
|
|
179
|
+
let cnt = 0;
|
|
180
|
+
const map = new Map();
|
|
181
|
+
(0, helpers_1.eachValue)(args, v => {
|
|
182
|
+
if (!map.has(v)) {
|
|
183
|
+
map.set(v, v);
|
|
184
|
+
++cnt;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
return cnt;
|
|
188
|
+
}
|
|
189
|
+
exports.countunique = countunique;
|
|
190
|
+
function sum(...args) {
|
|
191
|
+
let sum = 0;
|
|
192
|
+
(0, helpers_1.eachValue)(args, v => sum += isNaN(v) ? 0 : v);
|
|
193
|
+
return sum;
|
|
194
|
+
}
|
|
195
|
+
exports.sum = sum;
|
|
196
|
+
function sumif(v, cond, range) {
|
|
197
|
+
let sum = 0;
|
|
198
|
+
if (range) {
|
|
199
|
+
const rangeMatrix = (0, helpers_1.matrix)(range);
|
|
200
|
+
(0, helpers_1.eachValue)(v, (val, r, c) => sum += (0, conditions_1.evalCondition)(cond, val) && rangeMatrix[r] && rangeMatrix[r][c]
|
|
201
|
+
? rangeMatrix[r][c] : 0);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
(0, helpers_1.eachValue)(v, val => sum += (0, conditions_1.evalCondition)(cond, val) ? val : 0);
|
|
205
|
+
}
|
|
206
|
+
return sum;
|
|
207
|
+
}
|
|
208
|
+
exports.sumif = sumif;
|
|
209
|
+
function sumsq(v, cond) {
|
|
210
|
+
let sum = 0;
|
|
211
|
+
(0, helpers_1.eachValue)(v, v => sum += (0, conditions_1.evalCondition)(cond, v) ? (v * v) : 0);
|
|
212
|
+
return sum;
|
|
213
|
+
}
|
|
214
|
+
exports.sumsq = sumsq;
|
|
215
|
+
function sumproduct(...args) {
|
|
216
|
+
let sum = 0;
|
|
217
|
+
const r1 = args.shift();
|
|
218
|
+
if (args.length === 0) {
|
|
219
|
+
(0, helpers_1.eachValue)(r1, v => sum += isNaN(v) ? 0 : v);
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
const r2 = (0, helpers_1.matrix)(args[0]);
|
|
223
|
+
(0, helpers_1.eachValue)(r1, (v, r, c) => sum += r2[r] && r2[r][c] ? (v * r2[r][c]) : 0);
|
|
224
|
+
}
|
|
225
|
+
return sum;
|
|
226
|
+
}
|
|
227
|
+
exports.sumproduct = sumproduct;
|
|
228
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/calculations/functions/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"special.d.ts","sourceRoot":"","sources":["../../../src/calculations/functions/special.ts"],"names":[],"mappings":"AA0CA,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,UAW7B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-loss-of-precision */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.erfc = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Coefficients for each term of the numerator sum (p_j) for each approximation
|
|
7
|
+
* interval (see W. J. Cody's paper for more details)
|
|
8
|
+
* @constant
|
|
9
|
+
*/
|
|
10
|
+
const P = [[
|
|
11
|
+
3.16112374387056560e00, 1.13864154151050156e02,
|
|
12
|
+
3.77485237685302021e02, 3.20937758913846947e03,
|
|
13
|
+
1.85777706184603153e-1
|
|
14
|
+
], [
|
|
15
|
+
5.64188496988670089e-1, 8.88314979438837594e00,
|
|
16
|
+
6.61191906371416295e01, 2.98635138197400131e02,
|
|
17
|
+
8.81952221241769090e02, 1.71204761263407058e03,
|
|
18
|
+
2.05107837782607147e03, 1.23033935479799725e03,
|
|
19
|
+
2.15311535474403846e-8
|
|
20
|
+
], [
|
|
21
|
+
3.05326634961232344e-1, 3.60344899949804439e-1,
|
|
22
|
+
1.25781726111229246e-1, 1.60837851487422766e-2,
|
|
23
|
+
6.58749161529837803e-4, 1.63153871373020978e-2
|
|
24
|
+
]];
|
|
25
|
+
/**
|
|
26
|
+
* Coefficients for each term of the denominator sum (q_j) for each approximation
|
|
27
|
+
* interval (see W. J. Cody's paper for more details)
|
|
28
|
+
* @constant
|
|
29
|
+
*/
|
|
30
|
+
const Q = [[
|
|
31
|
+
2.36012909523441209e01, 2.44024637934444173e02,
|
|
32
|
+
1.28261652607737228e03, 2.84423683343917062e03
|
|
33
|
+
], [
|
|
34
|
+
1.57449261107098347e01, 1.17693950891312499e02,
|
|
35
|
+
5.37181101862009858e02, 1.62138957456669019e03,
|
|
36
|
+
3.29079923573345963e03, 4.36261909014324716e03,
|
|
37
|
+
3.43936767414372164e03, 1.23033935480374942e03
|
|
38
|
+
], [
|
|
39
|
+
2.56852019228982242e00, 1.87295284992346047e00,
|
|
40
|
+
5.27905102951428412e-1, 6.05183413124413191e-2,
|
|
41
|
+
2.33520497626869185e-3
|
|
42
|
+
]];
|
|
43
|
+
function erfc(y) {
|
|
44
|
+
const ysq = y * y;
|
|
45
|
+
let xnum = P[0][4] * ysq;
|
|
46
|
+
let xden = ysq;
|
|
47
|
+
let i;
|
|
48
|
+
for (i = 0; i < 3; i += 1) {
|
|
49
|
+
xnum = (xnum + P[0][i]) * ysq;
|
|
50
|
+
xden = (xden + Q[0][i]) * ysq;
|
|
51
|
+
}
|
|
52
|
+
return y * (xnum + P[0][3]) / (xden + Q[0][3]);
|
|
53
|
+
}
|
|
54
|
+
exports.erfc = erfc;
|
|
55
|
+
//# sourceMappingURL=special.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"special.js","sourceRoot":"","sources":["../../../src/calculations/functions/special.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D;;;;GAIG;AACH,MAAM,CAAC,GAAG,CAAC;QACV,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB;KACtB,EAAE;QACF,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB;KACtB,EAAE;QACF,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;KAC9C,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,GAAG,CAAC;QACV,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;KAC9C,EAAE;QACF,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;KAC9C,EAAE;QACF,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB;KACtB,CAAC,CAAA;AAEF,SAAgB,IAAI,CAAC,CAAS;IAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IACd,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACxB,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,CAAC,CAAA;IAEL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC7B,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC;AAXD,oBAWC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ArrayArg } from "./helpers";
|
|
2
|
+
export declare function average(...args: ArrayArg): number;
|
|
3
|
+
export declare function average_weighted(values: ArrayArg<number>, weights: ArrayArg<number>): number;
|
|
4
|
+
export declare function avedev(...args: ArrayArg<number>): number;
|
|
5
|
+
//# sourceMappingURL=statistical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statistical.d.ts","sourceRoot":"","sources":["../../../src/calculations/functions/statistical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoC,MAAM,WAAW,CAAC;AAWvE,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,QAAQ,UASxC;AAED,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAUpF;AAED,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,UAI/C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.avedev = exports.average_weighted = exports.average = void 0;
|
|
7
|
+
const helpers_1 = require("./helpers");
|
|
8
|
+
const mean_1 = __importDefault(require("@stdlib/stats/base/mean"));
|
|
9
|
+
const wmean_1 = __importDefault(require("@stdlib/stats/incr/wmean"));
|
|
10
|
+
// import stdev from '@stdlib/stats/base/stdev';
|
|
11
|
+
// import dmeanstdev from '@stdlib/stats/base/dmeanstdev';
|
|
12
|
+
// export function average(...args: CellsAndRanges) {
|
|
13
|
+
// const data = valuesToArray(args) as number[];
|
|
14
|
+
// return mean(data.length, data, 1);
|
|
15
|
+
// }
|
|
16
|
+
function average(...args) {
|
|
17
|
+
let sum = 0;
|
|
18
|
+
let cnt = 0;
|
|
19
|
+
(0, helpers_1.eachValue)(args, v => {
|
|
20
|
+
if (v != null && !isNaN(v)) {
|
|
21
|
+
sum += v || 0;
|
|
22
|
+
++cnt;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return sum / cnt;
|
|
26
|
+
}
|
|
27
|
+
exports.average = average;
|
|
28
|
+
function average_weighted(values, weights) {
|
|
29
|
+
var _a;
|
|
30
|
+
const acumulator = (0, wmean_1.default)();
|
|
31
|
+
const x = (0, helpers_1.matrix)(values);
|
|
32
|
+
const w = (0, helpers_1.matrix)(weights);
|
|
33
|
+
for (let r = 0; r < x.length; r++) {
|
|
34
|
+
for (let c = 0; c < x[r].length; c++) {
|
|
35
|
+
acumulator(x[r][c], (_a = (w[r] ? w[r][c] : 1)) !== null && _a !== void 0 ? _a : 1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return acumulator();
|
|
39
|
+
}
|
|
40
|
+
exports.average_weighted = average_weighted;
|
|
41
|
+
function avedev(...args) {
|
|
42
|
+
const data = (0, helpers_1.valuesToArray)(args);
|
|
43
|
+
const m = (0, mean_1.default)(data.length, data, 1);
|
|
44
|
+
return data.reduce((res, v) => res + Math.abs(v - m), 0) / data.length;
|
|
45
|
+
}
|
|
46
|
+
exports.avedev = avedev;
|
|
47
|
+
//# sourceMappingURL=statistical.js.map
|