@bilig/formula 0.1.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/LICENSE +21 -0
- package/README.md +16 -0
- package/dist/addressing.d.ts +66 -0
- package/dist/addressing.js +179 -0
- package/dist/addressing.js.map +1 -0
- package/dist/ast.d.ts +74 -0
- package/dist/ast.js +2 -0
- package/dist/ast.js.map +1 -0
- package/dist/binder.d.ts +13 -0
- package/dist/binder.js +1700 -0
- package/dist/binder.js.map +1 -0
- package/dist/builtin-capabilities.d.ts +19 -0
- package/dist/builtin-capabilities.js +861 -0
- package/dist/builtin-capabilities.js.map +1 -0
- package/dist/builtins/complex.d.ts +10 -0
- package/dist/builtins/complex.js +407 -0
- package/dist/builtins/complex.js.map +1 -0
- package/dist/builtins/convert.d.ts +3 -0
- package/dist/builtins/convert.js +362 -0
- package/dist/builtins/convert.js.map +1 -0
- package/dist/builtins/datetime.d.ts +23 -0
- package/dist/builtins/datetime.js +1096 -0
- package/dist/builtins/datetime.js.map +1 -0
- package/dist/builtins/distribution-builtins.d.ts +16 -0
- package/dist/builtins/distribution-builtins.js +517 -0
- package/dist/builtins/distribution-builtins.js.map +1 -0
- package/dist/builtins/distributions.d.ts +34 -0
- package/dist/builtins/distributions.js +722 -0
- package/dist/builtins/distributions.js.map +1 -0
- package/dist/builtins/financial-builtins.d.ts +16 -0
- package/dist/builtins/financial-builtins.js +324 -0
- package/dist/builtins/financial-builtins.js.map +1 -0
- package/dist/builtins/financial.d.ts +11 -0
- package/dist/builtins/financial.js +241 -0
- package/dist/builtins/financial.js.map +1 -0
- package/dist/builtins/fixed-income-builtins.d.ts +14 -0
- package/dist/builtins/fixed-income-builtins.js +598 -0
- package/dist/builtins/fixed-income-builtins.js.map +1 -0
- package/dist/builtins/fixed-income.d.ts +42 -0
- package/dist/builtins/fixed-income.js +668 -0
- package/dist/builtins/fixed-income.js.map +1 -0
- package/dist/builtins/formatting.d.ts +8 -0
- package/dist/builtins/formatting.js +53 -0
- package/dist/builtins/formatting.js.map +1 -0
- package/dist/builtins/logical.d.ts +4 -0
- package/dist/builtins/logical.js +258 -0
- package/dist/builtins/logical.js.map +1 -0
- package/dist/builtins/lookup-array-shape-builtins.d.ts +21 -0
- package/dist/builtins/lookup-array-shape-builtins.js +517 -0
- package/dist/builtins/lookup-array-shape-builtins.js.map +1 -0
- package/dist/builtins/lookup-criteria-builtins.d.ts +16 -0
- package/dist/builtins/lookup-criteria-builtins.js +216 -0
- package/dist/builtins/lookup-criteria-builtins.js.map +1 -0
- package/dist/builtins/lookup-database-builtins.d.ts +17 -0
- package/dist/builtins/lookup-database-builtins.js +294 -0
- package/dist/builtins/lookup-database-builtins.js.map +1 -0
- package/dist/builtins/lookup-financial-builtins.d.ts +11 -0
- package/dist/builtins/lookup-financial-builtins.js +291 -0
- package/dist/builtins/lookup-financial-builtins.js.map +1 -0
- package/dist/builtins/lookup-hypothesis-builtins.d.ts +11 -0
- package/dist/builtins/lookup-hypothesis-builtins.js +57 -0
- package/dist/builtins/lookup-hypothesis-builtins.js.map +1 -0
- package/dist/builtins/lookup-matrix-builtins.d.ts +17 -0
- package/dist/builtins/lookup-matrix-builtins.js +218 -0
- package/dist/builtins/lookup-matrix-builtins.js.map +1 -0
- package/dist/builtins/lookup-order-statistics-builtins.d.ts +18 -0
- package/dist/builtins/lookup-order-statistics-builtins.js +575 -0
- package/dist/builtins/lookup-order-statistics-builtins.js.map +1 -0
- package/dist/builtins/lookup-reference-builtins.d.ts +18 -0
- package/dist/builtins/lookup-reference-builtins.js +300 -0
- package/dist/builtins/lookup-reference-builtins.js.map +1 -0
- package/dist/builtins/lookup-regression-builtins.d.ts +12 -0
- package/dist/builtins/lookup-regression-builtins.js +511 -0
- package/dist/builtins/lookup-regression-builtins.js.map +1 -0
- package/dist/builtins/lookup-sort-filter-builtins.d.ts +20 -0
- package/dist/builtins/lookup-sort-filter-builtins.js +382 -0
- package/dist/builtins/lookup-sort-filter-builtins.js.map +1 -0
- package/dist/builtins/lookup.d.ts +13 -0
- package/dist/builtins/lookup.js +867 -0
- package/dist/builtins/lookup.js.map +1 -0
- package/dist/builtins/math-builtins.d.ts +31 -0
- package/dist/builtins/math-builtins.js +420 -0
- package/dist/builtins/math-builtins.js.map +1 -0
- package/dist/builtins/numeric.d.ts +30 -0
- package/dist/builtins/numeric.js +150 -0
- package/dist/builtins/numeric.js.map +1 -0
- package/dist/builtins/placeholder.d.ts +9 -0
- package/dist/builtins/placeholder.js +540 -0
- package/dist/builtins/placeholder.js.map +1 -0
- package/dist/builtins/radix.d.ts +12 -0
- package/dist/builtins/radix.js +220 -0
- package/dist/builtins/radix.js.map +1 -0
- package/dist/builtins/statistical-builtins.d.ts +13 -0
- package/dist/builtins/statistical-builtins.js +240 -0
- package/dist/builtins/statistical-builtins.js.map +1 -0
- package/dist/builtins/statistics.d.ts +8 -0
- package/dist/builtins/statistics.js +74 -0
- package/dist/builtins/statistics.js.map +1 -0
- package/dist/builtins/text.d.ts +5 -0
- package/dist/builtins/text.js +1879 -0
- package/dist/builtins/text.js.map +1 -0
- package/dist/builtins.d.ts +8 -0
- package/dist/builtins.js +695 -0
- package/dist/builtins.js.map +1 -0
- package/dist/compatibility.d.ts +25 -0
- package/dist/compatibility.js +498 -0
- package/dist/compatibility.js.map +1 -0
- package/dist/compiler.d.ts +29 -0
- package/dist/compiler.js +474 -0
- package/dist/compiler.js.map +1 -0
- package/dist/external-function-adapter.d.ts +32 -0
- package/dist/external-function-adapter.js +42 -0
- package/dist/external-function-adapter.js.map +1 -0
- package/dist/generated/formula-inventory.d.ts +6839 -0
- package/dist/generated/formula-inventory.js +7368 -0
- package/dist/generated/formula-inventory.js.map +1 -0
- package/dist/group-pivot-evaluator.d.ts +28 -0
- package/dist/group-pivot-evaluator.js +435 -0
- package/dist/group-pivot-evaluator.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/js-evaluator.d.ts +107 -0
- package/dist/js-evaluator.js +1651 -0
- package/dist/js-evaluator.js.map +1 -0
- package/dist/lexer.d.ts +6 -0
- package/dist/lexer.js +115 -0
- package/dist/lexer.js.map +1 -0
- package/dist/optimizer.d.ts +2 -0
- package/dist/optimizer.js +353 -0
- package/dist/optimizer.js.map +1 -0
- package/dist/parser.d.ts +2 -0
- package/dist/parser.js +352 -0
- package/dist/parser.js.map +1 -0
- package/dist/program-arena.d.ts +22 -0
- package/dist/program-arena.js +67 -0
- package/dist/program-arena.js.map +1 -0
- package/dist/runtime-values.d.ts +17 -0
- package/dist/runtime-values.js +11 -0
- package/dist/runtime-values.js.map +1 -0
- package/dist/special-call-rewrites.d.ts +2 -0
- package/dist/special-call-rewrites.js +74 -0
- package/dist/special-call-rewrites.js.map +1 -0
- package/dist/translation.d.ts +28 -0
- package/dist/translation.js +569 -0
- package/dist/translation.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
export const compatibilityStatuses = [
|
|
2
|
+
"unsupported",
|
|
3
|
+
"seeded",
|
|
4
|
+
"implemented-js",
|
|
5
|
+
"implemented-js-and-wasm-shadow",
|
|
6
|
+
"implemented-wasm-production",
|
|
7
|
+
"blocked",
|
|
8
|
+
];
|
|
9
|
+
export const compatibilityScopes = ["canonical", "extended"];
|
|
10
|
+
export const wasmCompatibilityStatuses = [
|
|
11
|
+
"not-started",
|
|
12
|
+
"shadow",
|
|
13
|
+
"production",
|
|
14
|
+
"blocked",
|
|
15
|
+
];
|
|
16
|
+
export const compatibilityFamilies = [
|
|
17
|
+
"arithmetic",
|
|
18
|
+
"comparison",
|
|
19
|
+
"logical",
|
|
20
|
+
"aggregation",
|
|
21
|
+
"math",
|
|
22
|
+
"text",
|
|
23
|
+
"date-time",
|
|
24
|
+
"lookup-reference",
|
|
25
|
+
"statistical",
|
|
26
|
+
"information",
|
|
27
|
+
"dynamic-array",
|
|
28
|
+
"names",
|
|
29
|
+
"tables",
|
|
30
|
+
"structured-reference",
|
|
31
|
+
"volatile",
|
|
32
|
+
"lambda",
|
|
33
|
+
];
|
|
34
|
+
const familyOwners = {
|
|
35
|
+
arithmetic: "lane-a-arithmetic-aggregation",
|
|
36
|
+
comparison: "backbone-value-model",
|
|
37
|
+
logical: "lane-b-logical-information",
|
|
38
|
+
aggregation: "lane-a-arithmetic-aggregation",
|
|
39
|
+
math: "lane-a-arithmetic-aggregation",
|
|
40
|
+
text: "lane-c-text",
|
|
41
|
+
"date-time": "lane-d-date-time",
|
|
42
|
+
"lookup-reference": "lane-e-lookup-reference",
|
|
43
|
+
statistical: "lane-f-statistical-financial",
|
|
44
|
+
information: "lane-b-logical-information",
|
|
45
|
+
"dynamic-array": "lane-g-dynamic-array-metadata",
|
|
46
|
+
names: "lane-g-dynamic-array-metadata",
|
|
47
|
+
tables: "lane-g-dynamic-array-metadata",
|
|
48
|
+
"structured-reference": "lane-g-dynamic-array-metadata",
|
|
49
|
+
volatile: "lane-d-date-time",
|
|
50
|
+
lambda: "lane-h-lambda",
|
|
51
|
+
};
|
|
52
|
+
const familyPrerequisites = {
|
|
53
|
+
arithmetic: ["core:value-model"],
|
|
54
|
+
comparison: ["core:value-model", "core:comparison-model"],
|
|
55
|
+
logical: ["core:value-model", "core:error-model"],
|
|
56
|
+
aggregation: ["core:value-model", "core:range-iterators"],
|
|
57
|
+
math: ["core:value-model"],
|
|
58
|
+
text: ["core:value-model", "core:string-coercion"],
|
|
59
|
+
"date-time": ["core:value-model", "core:date-serial-model"],
|
|
60
|
+
"lookup-reference": ["core:reference-model", "core:comparison-model"],
|
|
61
|
+
statistical: ["core:value-model", "core:criteria-model"],
|
|
62
|
+
information: ["core:value-model", "core:error-model"],
|
|
63
|
+
"dynamic-array": ["core:shape-model", "core:spill-model"],
|
|
64
|
+
names: ["core:names-model"],
|
|
65
|
+
tables: ["core:tables-model"],
|
|
66
|
+
"structured-reference": ["core:tables-model", "core:structured-reference-model"],
|
|
67
|
+
volatile: ["core:volatile-context"],
|
|
68
|
+
lambda: ["core:lambda-runtime", "core:shape-model"],
|
|
69
|
+
};
|
|
70
|
+
export function deriveWasmStatus(status) {
|
|
71
|
+
switch (status) {
|
|
72
|
+
case "unsupported":
|
|
73
|
+
case "seeded":
|
|
74
|
+
case "implemented-js":
|
|
75
|
+
return "not-started";
|
|
76
|
+
case "implemented-js-and-wasm-shadow":
|
|
77
|
+
return "shadow";
|
|
78
|
+
case "implemented-wasm-production":
|
|
79
|
+
return "production";
|
|
80
|
+
case "blocked":
|
|
81
|
+
return "blocked";
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function entry(id, family, formula, status, options = {}) {
|
|
85
|
+
const base = {
|
|
86
|
+
id,
|
|
87
|
+
family,
|
|
88
|
+
formula,
|
|
89
|
+
status,
|
|
90
|
+
scope: options.scope ?? "canonical",
|
|
91
|
+
fixtureIds: options.fixtureIds ?? [id],
|
|
92
|
+
owner: options.owner ?? familyOwners[family],
|
|
93
|
+
prerequisites: options.prerequisites ?? familyPrerequisites[family],
|
|
94
|
+
wasmStatus: options.wasmStatus ?? deriveWasmStatus(status),
|
|
95
|
+
};
|
|
96
|
+
return options.notes === undefined ? base : { ...base, notes: options.notes };
|
|
97
|
+
}
|
|
98
|
+
export const formulaCompatibilityRegistry = [
|
|
99
|
+
entry("arithmetic:add-basic", "arithmetic", "=A1+A2", "implemented-wasm-production"),
|
|
100
|
+
entry("arithmetic:precedence-basic", "arithmetic", "=A1+A2*A3", "implemented-wasm-production"),
|
|
101
|
+
entry("arithmetic:unary-negation", "arithmetic", "=-A1", "implemented-wasm-production"),
|
|
102
|
+
entry("arithmetic:division-basic", "arithmetic", "=A1/A2", "implemented-wasm-production"),
|
|
103
|
+
entry("arithmetic:power-basic", "arithmetic", "=A1^A2", "implemented-wasm-production"),
|
|
104
|
+
entry("arithmetic:percent-operator", "arithmetic", "=A1*10%", "implemented-wasm-production", {
|
|
105
|
+
notes: "Postfix percent is in the canonical formula corpus and tracked as part of the arithmetic lane.",
|
|
106
|
+
}),
|
|
107
|
+
entry("comparison:equality-number", "comparison", "=A1=A2", "implemented-wasm-production"),
|
|
108
|
+
entry("comparison:equality-text", "comparison", '="hello"="HELLO"', "implemented-wasm-production"),
|
|
109
|
+
entry("comparison:greater-than", "comparison", "=A1>A2", "implemented-wasm-production"),
|
|
110
|
+
entry("comparison:less-than-or-equal", "comparison", "=A1<=A2", "implemented-wasm-production"),
|
|
111
|
+
entry("logical:if-basic", "logical", '=IF(A1>0,"yes","no")', "implemented-wasm-production"),
|
|
112
|
+
entry("logical:ifs-basic", "logical", '=IFS(A1>1,"big",TRUE(),"small")', "implemented-wasm-production"),
|
|
113
|
+
entry("logical:and-basic", "logical", "=AND(A1,A2)", "implemented-wasm-production"),
|
|
114
|
+
entry("logical:or-basic", "logical", "=OR(A1,A2)", "implemented-wasm-production"),
|
|
115
|
+
entry("logical:not-basic", "logical", "=NOT(A1)", "implemented-wasm-production"),
|
|
116
|
+
entry("logical:switch-basic", "logical", '=SWITCH(A1,1,"one","other")', "implemented-wasm-production"),
|
|
117
|
+
entry("logical:xor-basic", "logical", "=XOR(TRUE(),FALSE(),TRUE())", "implemented-wasm-production"),
|
|
118
|
+
entry("aggregation:sum-range", "aggregation", "=SUM(A1:A3)", "implemented-wasm-production"),
|
|
119
|
+
entry("aggregation:avg-range", "aggregation", "=AVG(A1:A3)", "implemented-wasm-production"),
|
|
120
|
+
entry("aggregation:min-range", "aggregation", "=MIN(A1:A3)", "implemented-wasm-production"),
|
|
121
|
+
entry("aggregation:max-range", "aggregation", "=MAX(A1:A3)", "implemented-wasm-production"),
|
|
122
|
+
entry("aggregation:count-range", "aggregation", "=COUNT(A1:A4)", "implemented-wasm-production"),
|
|
123
|
+
entry("aggregation:counta-range", "aggregation", "=COUNTA(A1:A4)", "implemented-wasm-production"),
|
|
124
|
+
entry("aggregation:countblank-range", "aggregation", "=COUNTBLANK(A1:A4)", "implemented-wasm-production"),
|
|
125
|
+
entry("math:abs-basic", "math", "=ABS(A1)", "implemented-wasm-production"),
|
|
126
|
+
entry("math:round-basic", "math", "=ROUND(A1,1)", "implemented-wasm-production"),
|
|
127
|
+
entry("math:trunc-basic", "math", "=TRUNC(A1,1)", "implemented-wasm-production"),
|
|
128
|
+
entry("math:floor-basic", "math", "=FLOOR(A1,2)", "implemented-wasm-production"),
|
|
129
|
+
entry("math:floor-math-basic", "math", "=FLOOR.MATH(A1,2)", "implemented-wasm-production"),
|
|
130
|
+
entry("math:floor-precise-basic", "math", "=FLOOR.PRECISE(A1,2)", "implemented-wasm-production"),
|
|
131
|
+
entry("math:ceiling-basic", "math", "=CEILING(A1,2)", "implemented-wasm-production"),
|
|
132
|
+
entry("math:ceiling-math-basic", "math", "=CEILING.MATH(A1,2)", "implemented-wasm-production"),
|
|
133
|
+
entry("math:ceiling-precise-basic", "math", "=CEILING.PRECISE(A1,2)", "implemented-wasm-production"),
|
|
134
|
+
entry("math:iso-ceiling-basic", "math", "=ISO.CEILING(A1,2)", "implemented-wasm-production"),
|
|
135
|
+
entry("math:mod-basic", "math", "=MOD(A1,A2)", "implemented-wasm-production"),
|
|
136
|
+
entry("math:bitand-basic", "math", "=BITAND(6,3)", "implemented-wasm-production"),
|
|
137
|
+
entry("math:base-basic", "math", "=BASE(255,16,4)", "implemented-wasm-production"),
|
|
138
|
+
entry("math:decimal-basic", "math", '=DECIMAL("00FF",16)', "implemented-wasm-production"),
|
|
139
|
+
entry("math:bin2dec-basic", "math", '=BIN2DEC("1111111111")', "implemented-wasm-production"),
|
|
140
|
+
entry("math:dec2bin-basic", "math", "=DEC2BIN(10,8)", "implemented-wasm-production"),
|
|
141
|
+
entry("math:oct2hex-basic", "math", '=OCT2HEX("17",4)', "implemented-wasm-production"),
|
|
142
|
+
entry("math:besseli-basic", "math", "=BESSELI(1.5,1)", "implemented-wasm-production"),
|
|
143
|
+
entry("math:besselj-basic", "math", "=BESSELJ(1.9,2)", "implemented-wasm-production"),
|
|
144
|
+
entry("math:besselk-basic", "math", "=BESSELK(1.5,1)", "implemented-wasm-production"),
|
|
145
|
+
entry("math:bessely-basic", "math", "=BESSELY(2.5,1)", "implemented-wasm-production"),
|
|
146
|
+
entry("math:convert-basic", "math", '=CONVERT(6,"mi","km")', "implemented-wasm-production"),
|
|
147
|
+
entry("math:euroconvert-basic", "math", '=EUROCONVERT(1,"FRF","DEM",TRUE,3)', "implemented-wasm-production"),
|
|
148
|
+
entry("math:acosh-basic", "math", "=ACOSH(1)", "implemented-wasm-production"),
|
|
149
|
+
entry("math:fact-basic", "math", "=FACT(5)", "implemented-wasm-production"),
|
|
150
|
+
entry("math:combin-basic", "math", "=COMBIN(8,3)", "implemented-wasm-production"),
|
|
151
|
+
entry("math:permut-basic", "math", "=PERMUT(5,3)", "implemented-wasm-production"),
|
|
152
|
+
entry("math:permutationa-basic", "math", "=PERMUTATIONA(2,3)", "implemented-wasm-production"),
|
|
153
|
+
entry("math:mround-basic", "math", "=MROUND(A1,4)", "implemented-wasm-production"),
|
|
154
|
+
entry("math:seriessum-basic", "math", "=SERIESSUM(2,1,2,1,2)", "implemented-wasm-production"),
|
|
155
|
+
entry("math:gcd-basic", "math", "=GCD(A1:A3)", "implemented-wasm-production"),
|
|
156
|
+
entry("math:product-basic", "math", "=PRODUCT(A1:A3)", "implemented-wasm-production"),
|
|
157
|
+
entry("math:geomean-basic", "math", "=GEOMEAN(A1:A3)", "implemented-wasm-production"),
|
|
158
|
+
entry("math:harmean-basic", "math", "=HARMEAN(A1:A3)", "implemented-wasm-production"),
|
|
159
|
+
entry("math:sqrtpi-basic", "math", "=SQRTPI(A1)", "implemented-wasm-production"),
|
|
160
|
+
entry("math:sumsq-basic", "math", "=SUMSQ(A1:A3)", "implemented-wasm-production"),
|
|
161
|
+
entry("text:concat-operator", "text", '="bi"&"lig"', "implemented-wasm-production"),
|
|
162
|
+
entry("text:concat-function", "text", '=CONCAT("bi","lig")', "implemented-wasm-production"),
|
|
163
|
+
entry("text:len-basic", "text", '=LEN("bilig")', "implemented-wasm-production", {
|
|
164
|
+
notes: "LEN now executes through the string-aware native runtime for scalar inputs.",
|
|
165
|
+
}),
|
|
166
|
+
entry("text:char-basic", "text", "=CHAR(65)", "implemented-wasm-production"),
|
|
167
|
+
entry("text:code-basic", "text", '=CODE("A")', "implemented-wasm-production"),
|
|
168
|
+
entry("text:clean-basic", "text", "=CLEAN(CHAR(97)&CHAR(1)&CHAR(98))", "implemented-wasm-production"),
|
|
169
|
+
entry("text:asc-basic", "text", '=ASC("ABC 123")', "implemented-wasm-production"),
|
|
170
|
+
entry("text:jis-basic", "text", '=JIS("ABC 123")', "implemented-wasm-production"),
|
|
171
|
+
entry("text:dbcs-basic", "text", '=DBCS("ABC 123")', "implemented-wasm-production"),
|
|
172
|
+
entry("text:unichar-basic", "text", "=UNICHAR(66)", "implemented-wasm-production"),
|
|
173
|
+
entry("text:dollar-basic", "text", "=DOLLAR(-1234.5,1)", "implemented-wasm-production"),
|
|
174
|
+
entry("text:text-basic", "text", '=TEXT(1234.567,"#,##0.00")', "implemented-wasm-production"),
|
|
175
|
+
entry("text:text-date-basic", "text", '=TEXT(DATE(2024,3,5),"yyyy-mm-dd")', "implemented-wasm-production"),
|
|
176
|
+
entry("text:phonetic-basic", "text", '=PHONETIC("カタカナ")', "implemented-wasm-production"),
|
|
177
|
+
entry("text:bahttext-basic", "text", "=BAHTTEXT(1234)", "implemented-wasm-production"),
|
|
178
|
+
entry("information:t-basic", "information", '=T("alpha")', "implemented-wasm-production"),
|
|
179
|
+
entry("information:n-basic", "information", "=N(TRUE())", "implemented-wasm-production"),
|
|
180
|
+
entry("information:type-basic", "information", '=TYPE("alpha")', "implemented-wasm-production"),
|
|
181
|
+
entry("math:delta-basic", "math", "=DELTA(4,4)", "implemented-wasm-production"),
|
|
182
|
+
entry("math:gestep-basic", "math", "=GESTEP(-1)", "implemented-wasm-production"),
|
|
183
|
+
entry("statistical:gauss-basic", "statistical", "=GAUSS(0)", "implemented-wasm-production"),
|
|
184
|
+
entry("statistical:phi-basic", "statistical", "=PHI(0)", "implemented-wasm-production"),
|
|
185
|
+
entry("statistical:standardize-basic", "statistical", "=STANDARDIZE(1,0,1)", "implemented-wasm-production"),
|
|
186
|
+
entry("statistical:confidence-norm-basic", "statistical", "=CONFIDENCE.NORM(0.05,1,100)", "implemented-wasm-production"),
|
|
187
|
+
entry("statistical:mode-basic", "statistical", "=MODE(A1:A6)", "implemented-wasm-production"),
|
|
188
|
+
entry("statistical:mode-sngl-basic", "statistical", "=MODE.SNGL(A1:A6)", "implemented-wasm-production"),
|
|
189
|
+
entry("statistical:stdev-basic", "statistical", "=STDEV(A1:A4)", "implemented-wasm-production"),
|
|
190
|
+
entry("statistical:stdeva-basic", "statistical", '=STDEVA(2,TRUE(),"skip")', "implemented-wasm-production"),
|
|
191
|
+
entry("statistical:var-basic", "statistical", "=VAR(A1:A4)", "implemented-wasm-production"),
|
|
192
|
+
entry("statistical:vara-basic", "statistical", '=VARA(2,TRUE(),"skip")', "implemented-wasm-production"),
|
|
193
|
+
entry("statistical:skew-basic", "statistical", "=SKEW(A1:A5)", "implemented-wasm-production"),
|
|
194
|
+
entry("statistical:kurt-basic", "statistical", "=KURT(A1:A5)", "implemented-wasm-production"),
|
|
195
|
+
entry("statistical:normdist-basic", "statistical", "=NORMDIST(1,0,1,TRUE)", "implemented-wasm-production"),
|
|
196
|
+
entry("statistical:norminv-basic", "statistical", "=NORMINV(0.8413447460685429,0,1)", "implemented-wasm-production"),
|
|
197
|
+
entry("statistical:normsdist-basic", "statistical", "=NORMSDIST(1)", "implemented-wasm-production"),
|
|
198
|
+
entry("statistical:normsinv-basic", "statistical", "=NORMSINV(0.001)", "implemented-wasm-production"),
|
|
199
|
+
entry("statistical:loginv-basic", "statistical", "=LOGINV(0.5,0,1)", "implemented-wasm-production"),
|
|
200
|
+
entry("statistical:lognormdist-basic", "statistical", "=LOGNORMDIST(1,0,1)", "implemented-wasm-production"),
|
|
201
|
+
entry("date-time:serial-addition", "date-time", "=A1+7", "implemented-wasm-production"),
|
|
202
|
+
entry("date-time:date-constructor", "date-time", "=DATE(2026,3,15)", "implemented-wasm-production"),
|
|
203
|
+
entry("date-time:today-volatile", "date-time", "=TODAY()", "implemented-wasm-production", {
|
|
204
|
+
prerequisites: ["core:value-model", "core:date-serial-model", "core:volatile-context"],
|
|
205
|
+
}),
|
|
206
|
+
entry("lookup-reference:address-basic", "lookup-reference", "=ADDRESS(12,3)", "implemented-wasm-production"),
|
|
207
|
+
entry("lookup-reference:index-basic", "lookup-reference", "=INDEX(A1:B2,2,1)", "implemented-wasm-production"),
|
|
208
|
+
entry("lookup-reference:match-exact", "lookup-reference", '=MATCH("pear",A1:A3,0)', "implemented-wasm-production"),
|
|
209
|
+
entry("lookup-reference:vlookup-exact", "lookup-reference", '=VLOOKUP("pear",A1:B3,2,FALSE)', "implemented-wasm-production"),
|
|
210
|
+
entry("lookup-reference:xlookup-exact", "lookup-reference", '=XLOOKUP("pear",A1:A3,B1:B3)', "implemented-wasm-production"),
|
|
211
|
+
entry("statistical:averageif-basic", "statistical", '=AVERAGEIF(A1:A4,">0")', "implemented-wasm-production"),
|
|
212
|
+
entry("statistical:countif-basic", "statistical", '=COUNTIF(A1:A4,">0")', "implemented-wasm-production"),
|
|
213
|
+
entry("statistical:chisqdist-basic", "statistical", "=CHISQDIST(18.307,10)", "implemented-wasm-production"),
|
|
214
|
+
entry("statistical:chiinv-basic", "statistical", "=CHIINV(0.050001,10)", "implemented-wasm-production"),
|
|
215
|
+
entry("statistical:chisq-inv-rt-basic", "statistical", "=CHISQ.INV.RT(0.050001,10)", "implemented-wasm-production"),
|
|
216
|
+
entry("statistical:chisqinv-basic", "statistical", "=CHISQINV(0.050001,10)", "implemented-wasm-production"),
|
|
217
|
+
entry("statistical:chisq-inv-basic", "statistical", "=CHISQ.INV(0.93,1)", "implemented-wasm-production"),
|
|
218
|
+
entry("statistical:chisq-test-basic", "statistical", "=CHISQ.TEST(A1:B3,D1:E3)", "implemented-wasm-production"),
|
|
219
|
+
entry("statistical:beta-dist-basic", "statistical", "=BETA.DIST(2,8,10,TRUE,1,3)", "implemented-wasm-production"),
|
|
220
|
+
entry("statistical:beta-inv-basic", "statistical", "=BETA.INV(0.6854705810117458,8,10,1,3)", "implemented-wasm-production"),
|
|
221
|
+
entry("statistical:f-dist-rt-basic", "statistical", "=F.DIST.RT(15.2068649,6,4)", "implemented-wasm-production"),
|
|
222
|
+
entry("statistical:fdist-basic", "statistical", "=FDIST(15.2068649,6,4)", "implemented-wasm-production"),
|
|
223
|
+
entry("statistical:f-inv-basic", "statistical", "=F.INV(0.01,6,4)", "implemented-wasm-production"),
|
|
224
|
+
entry("statistical:f-inv-rt-basic", "statistical", "=F.INV.RT(0.01,6,4)", "implemented-wasm-production"),
|
|
225
|
+
entry("statistical:f-test-basic", "statistical", "=F.TEST(A1:A5,B1:B5)", "implemented-wasm-production"),
|
|
226
|
+
entry("statistical:z-test-basic", "statistical", "=Z.TEST(D1:D5,2,1)", "implemented-wasm-production"),
|
|
227
|
+
entry("statistical:correl-basic", "statistical", "=CORREL(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
228
|
+
entry("statistical:covar-basic", "statistical", "=COVAR(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
229
|
+
entry("statistical:covariance-p-basic", "statistical", "=COVARIANCE.P(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
230
|
+
entry("statistical:covariance-s-basic", "statistical", "=COVARIANCE.S(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
231
|
+
entry("statistical:pearson-basic", "statistical", "=PEARSON(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
232
|
+
entry("statistical:intercept-basic", "statistical", "=INTERCEPT(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
233
|
+
entry("statistical:slope-basic", "statistical", "=SLOPE(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
234
|
+
entry("statistical:rsq-basic", "statistical", "=RSQ(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
235
|
+
entry("statistical:steyx-basic", "statistical", "=STEYX(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
236
|
+
entry("statistical:rank-basic", "statistical", "=RANK(20,A1:A4)", "implemented-wasm-production"),
|
|
237
|
+
entry("statistical:rank-eq-basic", "statistical", "=RANK.EQ(20,A1:A4)", "implemented-wasm-production"),
|
|
238
|
+
entry("statistical:rank-avg-basic", "statistical", "=RANK.AVG(20,A1:A4)", "implemented-wasm-production"),
|
|
239
|
+
entry("statistical:median-basic", "statistical", "=MEDIAN(A1:A8)", "implemented-wasm-production"),
|
|
240
|
+
entry("statistical:small-basic", "statistical", "=SMALL(A1:A8,3)", "implemented-wasm-production"),
|
|
241
|
+
entry("statistical:large-basic", "statistical", "=LARGE(A1:A8,2)", "implemented-wasm-production"),
|
|
242
|
+
entry("statistical:percentile-basic", "statistical", "=PERCENTILE(A1:A8,0.25)", "implemented-wasm-production"),
|
|
243
|
+
entry("statistical:percentile-inc-basic", "statistical", "=PERCENTILE.INC(A1:A8,0.25)", "implemented-wasm-production"),
|
|
244
|
+
entry("statistical:percentile-exc-basic", "statistical", "=PERCENTILE.EXC(A1:A8,0.25)", "implemented-wasm-production"),
|
|
245
|
+
entry("statistical:percentrank-basic", "statistical", "=PERCENTRANK(A1:A8,8)", "implemented-wasm-production"),
|
|
246
|
+
entry("statistical:percentrank-inc-basic", "statistical", "=PERCENTRANK.INC(A1:A8,8)", "implemented-wasm-production"),
|
|
247
|
+
entry("statistical:percentrank-exc-basic", "statistical", "=PERCENTRANK.EXC(A1:A8,8)", "implemented-wasm-production"),
|
|
248
|
+
entry("statistical:quartile-basic", "statistical", "=QUARTILE(A1:A8,1)", "implemented-wasm-production"),
|
|
249
|
+
entry("statistical:quartile-inc-basic", "statistical", "=QUARTILE.INC(A1:A8,1)", "implemented-wasm-production"),
|
|
250
|
+
entry("statistical:quartile-exc-basic", "statistical", "=QUARTILE.EXC(A1:A8,1)", "implemented-wasm-production"),
|
|
251
|
+
entry("statistical:mode-mult-basic", "statistical", "=MODE.MULT(A1:A6)", "implemented-wasm-production"),
|
|
252
|
+
entry("statistical:frequency-basic", "statistical", "=FREQUENCY(A1:A6,B1:B3)", "implemented-wasm-production"),
|
|
253
|
+
entry("statistical:t-dist-basic", "statistical", "=T.DIST(1,1,TRUE)", "implemented-wasm-production"),
|
|
254
|
+
entry("statistical:t-inv-2t-basic", "statistical", "=T.INV.2T(0.5,1)", "implemented-wasm-production"),
|
|
255
|
+
entry("statistical:confidence-t-basic", "statistical", "=CONFIDENCE.T(0.5,2,4)", "implemented-wasm-production"),
|
|
256
|
+
entry("statistical:gamma-inv-basic", "statistical", "=GAMMA.INV(0.08030139707139418,3,2)", "implemented-wasm-production"),
|
|
257
|
+
entry("statistical:t-test-basic", "statistical", "=T.TEST(A1:A3,B1:B3,2,1)", "implemented-wasm-production"),
|
|
258
|
+
entry("statistical:forecast-basic", "statistical", "=FORECAST(4,A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
259
|
+
entry("statistical:forecast-linear-basic", "statistical", "=FORECAST.LINEAR(4,A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
260
|
+
entry("statistical:trend-basic", "statistical", "=TREND(A1:A3,B1:B3,D1:D2)", "implemented-wasm-production"),
|
|
261
|
+
entry("statistical:growth-basic", "statistical", "=GROWTH(A1:A3,B1:B3,D1:D2)", "implemented-wasm-production"),
|
|
262
|
+
entry("statistical:linest-basic", "statistical", "=LINEST(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
263
|
+
entry("statistical:logest-basic", "statistical", "=LOGEST(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
264
|
+
entry("statistical:prob-basic", "statistical", "=PROB(A1:A4,B1:B4,2,3)", "implemented-wasm-production"),
|
|
265
|
+
entry("statistical:trimmean-basic", "statistical", "=TRIMMEAN(A1:A8,0.25)", "implemented-wasm-production"),
|
|
266
|
+
entry("statistical:daverage-basic", "statistical", '=DAVERAGE(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
267
|
+
entry("statistical:dcount-basic", "statistical", '=DCOUNT(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
268
|
+
entry("statistical:dcounta-basic", "statistical", '=DCOUNTA(A1:C5,"Height",E1:E2)', "implemented-wasm-production"),
|
|
269
|
+
entry("statistical:dget-basic", "statistical", '=DGET(A1:C5,"Height",F1:F2)', "implemented-wasm-production"),
|
|
270
|
+
entry("statistical:dmax-basic", "statistical", '=DMAX(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
271
|
+
entry("statistical:dmin-basic", "statistical", '=DMIN(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
272
|
+
entry("statistical:dproduct-basic", "statistical", '=DPRODUCT(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
273
|
+
entry("statistical:dstdev-basic", "statistical", '=DSTDEV(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
274
|
+
entry("statistical:dstdevp-basic", "statistical", '=DSTDEVP(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
275
|
+
entry("statistical:dsum-basic", "statistical", '=DSUM(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
276
|
+
entry("statistical:dvar-basic", "statistical", '=DVAR(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
277
|
+
entry("statistical:dvarp-basic", "statistical", '=DVARP(A1:C5,"Yield",E1:E2)', "implemented-wasm-production"),
|
|
278
|
+
entry("information:isblank-basic", "information", "=ISBLANK(A1)", "implemented-wasm-production"),
|
|
279
|
+
entry("information:isnumber-basic", "information", "=ISNUMBER(A1)", "implemented-wasm-production"),
|
|
280
|
+
entry("information:istext-basic", "information", "=ISTEXT(A1)", "implemented-wasm-production"),
|
|
281
|
+
entry("dynamic-array:sequence-spill", "dynamic-array", "=SEQUENCE(3,1,1,1)", "implemented-wasm-production", {
|
|
282
|
+
notes: "Top-level SEQUENCE spills now execute on the AssemblyScript path and reuse the existing workbook spill metadata contract; broader array families remain blocked.",
|
|
283
|
+
}),
|
|
284
|
+
entry("dynamic-array:sequence-aggregate", "dynamic-array", "=SUM(SEQUENCE(A1,1,1,1))", "implemented-wasm-production", {
|
|
285
|
+
notes: "Numeric aggregate consumers can now read transient native SEQUENCE arrays directly on the AssemblyScript path without reviving the removed JS runtime fallback.",
|
|
286
|
+
}),
|
|
287
|
+
entry("dynamic-array:filter-basic", "dynamic-array", "=FILTER(A1:A4,A1:A4>2)", "implemented-wasm-production"),
|
|
288
|
+
entry("dynamic-array:unique-basic", "dynamic-array", "=UNIQUE(A1:A4)", "implemented-wasm-production"),
|
|
289
|
+
entry("dynamic-array:groupby-basic", "dynamic-array", "=GROUPBY(A1:A5,C1:C5,SUM,3,1)", "implemented-js", {
|
|
290
|
+
notes: "GROUPBY now has production JS-special spill semantics and canonical fixture coverage; native grouped-array lowering is still pending.",
|
|
291
|
+
}),
|
|
292
|
+
entry("dynamic-array:pivotby-basic", "dynamic-array", "=PIVOTBY(A1:A5,B1:B5,C1:C5,SUM,3,1,0,1)", "implemented-js", {
|
|
293
|
+
notes: "PIVOTBY now has production JS-special pivot spill semantics and canonical fixture coverage; native grouped-array lowering is still pending.",
|
|
294
|
+
}),
|
|
295
|
+
entry("names:defined-name-scalar", "names", "=TaxRate*A1", "implemented-wasm-production", {
|
|
296
|
+
notes: "Scalar workbook names rebind onto the AssemblyScript path once the engine has concrete scalar metadata; reference-valued names remain blocked.",
|
|
297
|
+
}),
|
|
298
|
+
entry("names:defined-name-case-insensitive", "names", "=taxrate*A1", "implemented-wasm-production", {
|
|
299
|
+
scope: "extended",
|
|
300
|
+
notes: "Case-insensitive scalar workbook names rebind onto the AssemblyScript path after metadata normalization.",
|
|
301
|
+
}),
|
|
302
|
+
entry("names:defined-name-multi-scalar-pack", "names", "=TaxRate+FeeRate", "implemented-wasm-production", {
|
|
303
|
+
scope: "extended",
|
|
304
|
+
notes: "Multiple scalar workbook names can participate in one AssemblyScript-routed scalar expression without widening onto reference-valued metadata.",
|
|
305
|
+
}),
|
|
306
|
+
entry("names:defined-name-missing", "names", "=MissingRate*A1", "implemented-wasm-production", {
|
|
307
|
+
scope: "extended",
|
|
308
|
+
notes: "Missing workbook-level names now stay on the AssemblyScript path, surface #NAME?, and rebind natively once the name appears.",
|
|
309
|
+
}),
|
|
310
|
+
entry("lookup-reference:multiple-operations-basic", "lookup-reference", "=MULTIPLE.OPERATIONS(B5,B3,C4,B2,D2)", "implemented-js", {
|
|
311
|
+
scope: "extended",
|
|
312
|
+
notes: "MULTIPLE.OPERATIONS now routes through the workbook-aware JS what-if contract and is covered by both fixture-harness and engine integration tests.",
|
|
313
|
+
}),
|
|
314
|
+
entry("tables:table-total-row-sum", "tables", "=SUM(Sales[Amount])", "implemented-wasm-production", {
|
|
315
|
+
notes: "Table-backed aggregate formulas now compile through metadata substitution and route onto the native aggregate path once the table exists.",
|
|
316
|
+
}),
|
|
317
|
+
entry("structured-reference:table-column-ref", "structured-reference", "=SUM(Sales[Amount])", "implemented-wasm-production", {
|
|
318
|
+
notes: "Structured column references now compile through metadata substitution and route onto the native aggregate path once the table exists.",
|
|
319
|
+
}),
|
|
320
|
+
entry("volatile:rand-basic", "volatile", "=RAND()", "implemented-wasm-production", {
|
|
321
|
+
prerequisites: ["core:volatile-context", "core:value-model"],
|
|
322
|
+
}),
|
|
323
|
+
entry("lambda:let-basic", "lambda", "=LET(x,2,x+3)", "implemented-wasm-production", {
|
|
324
|
+
notes: "LET formulas with rewrite-safe bindings now lower to ordinary scalar AST before binding, which lets deterministic cases route through the native fast path without a general closure VM.",
|
|
325
|
+
}),
|
|
326
|
+
entry("lambda:lambda-invoke", "lambda", "=LAMBDA(x,x+1)(4)", "implemented-wasm-production", {
|
|
327
|
+
notes: "Immediate LAMBDA invocation now rewrites to the invoked body with argument substitution before binding, so scalar deterministic cases compile onto the native path.",
|
|
328
|
+
}),
|
|
329
|
+
entry("lambda:map-basic", "lambda", "=MAP(A1:A3,LAMBDA(x,x*2))", "implemented-wasm-production", {
|
|
330
|
+
notes: "MAP calls whose lambda body rewrites to an ordinary broadcasted array expression now lower before binding and execute on the native spill path.",
|
|
331
|
+
}),
|
|
332
|
+
entry("logical:if-true-branch", "logical", "=IF(A1,A2,A3)", "implemented-wasm-production"),
|
|
333
|
+
entry("logical:if-condition-error", "logical", "=IF(1/0,1,2)", "implemented-wasm-production", {
|
|
334
|
+
notes: "The native branch VM now propagates IF condition errors before either branch executes.",
|
|
335
|
+
}),
|
|
336
|
+
entry("logical:iferror-catches-any-error", "logical", '=IFERROR(1/0,"fallback")', "implemented-wasm-production"),
|
|
337
|
+
entry("logical:ifna-catches-na-only", "logical", '=IFNA(NA(),"missing")', "implemented-wasm-production"),
|
|
338
|
+
entry("logical:and-false-on-empty", "logical", "=AND(TRUE,A1)", "implemented-wasm-production"),
|
|
339
|
+
entry("logical:or-true-branch", "logical", "=OR(A1,TRUE)", "implemented-wasm-production"),
|
|
340
|
+
entry("logical:not-number", "logical", "=NOT(2)", "implemented-wasm-production"),
|
|
341
|
+
entry("information:isblank-empty", "information", "=ISBLANK(A1)", "implemented-wasm-production"),
|
|
342
|
+
entry("information:isnumber-number", "information", "=ISNUMBER(42)", "implemented-wasm-production"),
|
|
343
|
+
entry("information:istext-string", "information", '=ISTEXT("hello")', "implemented-wasm-production"),
|
|
344
|
+
entry("text:len-counts-plain-string-length", "text", '=LEN("hello")', "implemented-wasm-production"),
|
|
345
|
+
entry("text:exact-basic", "text", '=EXACT("Alpha","alpha")', "implemented-wasm-production", {
|
|
346
|
+
notes: "EXACT now routes through the string-aware WASM runtime.",
|
|
347
|
+
}),
|
|
348
|
+
entry("text:left-basic", "text", '=LEFT("alpha",3)', "implemented-wasm-production"),
|
|
349
|
+
entry("text:right-basic", "text", '=RIGHT("alpha",2)', "implemented-wasm-production"),
|
|
350
|
+
entry("text:mid-basic", "text", '=MID("alphabet",2,3)', "implemented-wasm-production"),
|
|
351
|
+
entry("text:trim-basic", "text", '=TRIM(" alpha beta ")', "implemented-wasm-production"),
|
|
352
|
+
entry("text:upper-basic", "text", '=UPPER("Alpha beta")', "implemented-wasm-production"),
|
|
353
|
+
entry("text:lower-basic", "text", '=LOWER("Alpha BETA")', "implemented-wasm-production"),
|
|
354
|
+
entry("text:find-basic", "text", '=FIND("ph","alphabet")', "implemented-wasm-production"),
|
|
355
|
+
entry("text:search-basic", "text", '=SEARCH("PH","alphabet")', "implemented-wasm-production"),
|
|
356
|
+
entry("text:textbefore-basic", "text", '=TEXTBEFORE("alpha-beta","-")', "implemented-wasm-production"),
|
|
357
|
+
entry("text:textafter-basic", "text", '=TEXTAFTER("alpha-beta","-")', "implemented-wasm-production"),
|
|
358
|
+
entry("text:textjoin-basic", "text", '=TEXTJOIN("-",TRUE,A1:A3)', "implemented-wasm-production"),
|
|
359
|
+
entry("text:textsplit-basic", "text", '=TEXTSPLIT(A1,",","|")', "implemented-wasm-production"),
|
|
360
|
+
entry("text:value-basic", "text", '=VALUE("42")', "implemented-wasm-production", {
|
|
361
|
+
notes: "VALUE now coerces scalar text inputs on the AssemblyScript path, including trimmed decimals and exponent forms.",
|
|
362
|
+
}),
|
|
363
|
+
entry("lookup-reference:choose-basic", "lookup-reference", '=CHOOSE(2,"red","blue","green")', "implemented-wasm-production"),
|
|
364
|
+
entry("lookup-reference:xmatch-basic", "lookup-reference", '=XMATCH("pear",A1:A3,0)', "implemented-wasm-production"),
|
|
365
|
+
entry("lookup-reference:hlookup-basic", "lookup-reference", '=HLOOKUP("pear",A1:C2,2,FALSE)', "implemented-wasm-production"),
|
|
366
|
+
entry("lookup-reference:offset-basic", "lookup-reference", "=OFFSET(A1,1,1)", "implemented-wasm-production", {
|
|
367
|
+
notes: "OFFSET now executes on the AssemblyScript path for numeric inputs, including simple in-bounds offset ranges.",
|
|
368
|
+
}),
|
|
369
|
+
entry("dynamic-array:take-basic", "dynamic-array", "=TAKE(A1:A4,2)", "implemented-wasm-production"),
|
|
370
|
+
entry("dynamic-array:drop-basic", "dynamic-array", "=DROP(A1:A4,2)", "implemented-wasm-production"),
|
|
371
|
+
entry("dynamic-array:choosecols-basic", "dynamic-array", "=CHOOSECOLS(A1:C2,1,3)", "implemented-wasm-production"),
|
|
372
|
+
entry("dynamic-array:chooserows-basic", "dynamic-array", "=CHOOSEROWS(A1:B3,1,3)", "implemented-wasm-production"),
|
|
373
|
+
entry("statistical:sumif-basic", "statistical", '=SUMIF(A1:A4,">0",B1:B4)', "implemented-wasm-production"),
|
|
374
|
+
entry("statistical:sumifs-basic", "statistical", '=SUMIFS(C1:C4,A1:A4,">0",B1:B4,"x")', "implemented-wasm-production"),
|
|
375
|
+
entry("statistical:averageifs-basic", "statistical", '=AVERAGEIFS(C1:C4,A1:A4,">0",B1:B4,"x")', "implemented-wasm-production"),
|
|
376
|
+
entry("statistical:countifs-basic", "statistical", '=COUNTIFS(A1:A4,">0",B1:B4,"x")', "implemented-wasm-production"),
|
|
377
|
+
entry("math:sumproduct-basic", "math", "=SUMPRODUCT(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
378
|
+
entry("math:int-basic", "math", "=INT(-3.1)", "implemented-wasm-production"),
|
|
379
|
+
entry("math:roundup-basic", "math", "=ROUNDUP(12.341,2)", "implemented-wasm-production"),
|
|
380
|
+
entry("math:rounddown-basic", "math", "=ROUNDDOWN(12.349,2)", "implemented-wasm-production"),
|
|
381
|
+
entry("arithmetic:cross-sheet-multiply", "arithmetic", "=Sheet2!B1*3", "implemented-wasm-production", {
|
|
382
|
+
scope: "extended",
|
|
383
|
+
prerequisites: ["core:value-model", "core:reference-model"],
|
|
384
|
+
notes: "Qualified scalar references stay on the native arithmetic path once the target sheet is present.",
|
|
385
|
+
}),
|
|
386
|
+
entry("arithmetic:cross-sheet-empty-cell-zero", "arithmetic", "=Sheet2!B1*3", "implemented-wasm-production", {
|
|
387
|
+
scope: "extended",
|
|
388
|
+
prerequisites: ["core:value-model", "core:reference-model"],
|
|
389
|
+
notes: "Existing blank cells on another sheet coerce through the usual arithmetic empty-cell semantics.",
|
|
390
|
+
}),
|
|
391
|
+
entry("arithmetic:missing-sheet-ref-error", "arithmetic", "=Sheet2!B1*3", "implemented-wasm-production", {
|
|
392
|
+
scope: "extended",
|
|
393
|
+
prerequisites: ["core:value-model", "core:reference-model"],
|
|
394
|
+
notes: "Unresolved qualified cells now stay on the native path via explicit unresolved-ref operands that emit #REF! until rebinding can occur.",
|
|
395
|
+
}),
|
|
396
|
+
entry("date-time:now-volatile", "date-time", "=NOW()", "implemented-wasm-production", {
|
|
397
|
+
prerequisites: ["core:value-model", "core:date-serial-model", "core:volatile-context"],
|
|
398
|
+
notes: "NOW now captures a single recalc-epoch serial on the host and executes on the AssemblyScript path.",
|
|
399
|
+
}),
|
|
400
|
+
entry("date-time:time-basic", "date-time", "=TIME(12,30,0)", "implemented-wasm-production"),
|
|
401
|
+
entry("date-time:hour-basic", "date-time", "=HOUR(A1)", "implemented-wasm-production"),
|
|
402
|
+
entry("date-time:minute-basic", "date-time", "=MINUTE(A1)", "implemented-wasm-production"),
|
|
403
|
+
entry("date-time:second-basic", "date-time", "=SECOND(A1)", "implemented-wasm-production"),
|
|
404
|
+
entry("date-time:datedif-ym", "date-time", '=DATEDIF(DATE(2020,1,15),DATE(2021,3,20),"YM")', "implemented-wasm-production"),
|
|
405
|
+
entry("date-time:days360-basic", "date-time", "=DAYS360(DATE(2024,1,29),DATE(2024,3,31))", "implemented-wasm-production"),
|
|
406
|
+
entry("date-time:isoweeknum-basic", "date-time", "=ISOWEEKNUM(DATE(2024,1,1))", "implemented-wasm-production"),
|
|
407
|
+
entry("date-time:workday-intl-basic", "date-time", "=WORKDAY.INTL(A1,2,7,B1)", "implemented-wasm-production"),
|
|
408
|
+
entry("date-time:timevalue-basic", "date-time", '=TIMEVALUE("1:30 PM")', "implemented-wasm-production"),
|
|
409
|
+
entry("date-time:yearfrac-basic", "date-time", "=YEARFRAC(DATE(2024,1,1),DATE(2024,7,1),3)", "implemented-wasm-production"),
|
|
410
|
+
entry("date-time:fvschedule-basic", "date-time", "=FVSCHEDULE(1000,0.09,0.11,0.1)", "implemented-wasm-production"),
|
|
411
|
+
entry("date-time:effect-basic", "date-time", "=EFFECT(12%,12)", "implemented-wasm-production"),
|
|
412
|
+
entry("date-time:nominal-basic", "date-time", "=NOMINAL(0.12682503013196977,12)", "implemented-wasm-production"),
|
|
413
|
+
entry("date-time:pduration-basic", "date-time", "=PDURATION(10%,100,121)", "implemented-wasm-production"),
|
|
414
|
+
entry("date-time:rri-basic", "date-time", "=RRI(2,100,121)", "implemented-wasm-production"),
|
|
415
|
+
entry("date-time:fv-basic", "date-time", "=FV(10%,2,-100,-1000)", "implemented-wasm-production"),
|
|
416
|
+
entry("date-time:pv-basic", "date-time", "=PV(10%,2,-576.1904761904761)", "implemented-wasm-production"),
|
|
417
|
+
entry("date-time:pmt-basic", "date-time", "=PMT(10%,2,1000)", "implemented-wasm-production"),
|
|
418
|
+
entry("date-time:nper-basic", "date-time", "=NPER(10%,-576.1904761904761,1000)", "implemented-wasm-production"),
|
|
419
|
+
entry("date-time:npv-basic", "date-time", "=NPV(10%,100,200,300)", "implemented-wasm-production"),
|
|
420
|
+
entry("date-time:rate-basic", "date-time", "=RATE(48,-200,8000)", "implemented-wasm-production"),
|
|
421
|
+
entry("date-time:irr-basic", "date-time", "=IRR(A1:A6)", "implemented-wasm-production"),
|
|
422
|
+
entry("date-time:mirr-basic", "date-time", "=MIRR(A1:A6,10%,12%)", "implemented-wasm-production"),
|
|
423
|
+
entry("date-time:xnpv-basic", "date-time", "=XNPV(0.09,A1:A5,B1:B5)", "implemented-wasm-production"),
|
|
424
|
+
entry("date-time:xirr-basic", "date-time", "=XIRR(A1:A5,B1:B5)", "implemented-wasm-production"),
|
|
425
|
+
entry("date-time:ipmt-basic", "date-time", "=IPMT(10%,1,2,1000)", "implemented-wasm-production"),
|
|
426
|
+
entry("date-time:ppmt-basic", "date-time", "=PPMT(10%,1,2,1000)", "implemented-wasm-production"),
|
|
427
|
+
entry("date-time:ispmt-basic", "date-time", "=ISPMT(10%,1,2,1000)", "implemented-wasm-production"),
|
|
428
|
+
entry("date-time:cumipmt-basic", "date-time", "=CUMIPMT(9%/12,30*12,125000,13,24,0)", "implemented-wasm-production"),
|
|
429
|
+
entry("date-time:cumprinc-basic", "date-time", "=CUMPRINC(9%/12,30*12,125000,13,24,0)", "implemented-wasm-production"),
|
|
430
|
+
entry("date-time:db-basic", "date-time", "=DB(10000,1000,5,1)", "implemented-wasm-production"),
|
|
431
|
+
entry("date-time:ddb-basic", "date-time", "=DDB(2400,300,10,2)", "implemented-wasm-production"),
|
|
432
|
+
entry("date-time:vdb-basic", "date-time", "=VDB(2400,300,10,1,3)", "implemented-wasm-production"),
|
|
433
|
+
entry("date-time:sln-basic", "date-time", "=SLN(10000,1000,9)", "implemented-wasm-production"),
|
|
434
|
+
entry("date-time:syd-basic", "date-time", "=SYD(10000,1000,9,1)", "implemented-wasm-production"),
|
|
435
|
+
entry("date-time:disc-basic", "date-time", "=DISC(DATE(2023,1,1),DATE(2023,4,1),97,100,2)", "implemented-wasm-production"),
|
|
436
|
+
entry("date-time:intrate-basic", "date-time", "=INTRATE(DATE(2023,1,1),DATE(2023,4,1),1000,1030,2)", "implemented-wasm-production"),
|
|
437
|
+
entry("date-time:received-basic", "date-time", "=RECEIVED(DATE(2023,1,1),DATE(2023,4,1),1000,0.12,2)", "implemented-wasm-production"),
|
|
438
|
+
entry("date-time:pricedisc-basic", "date-time", "=PRICEDISC(DATE(2008,2,16),DATE(2008,3,1),0.0525,100,2)", "implemented-wasm-production"),
|
|
439
|
+
entry("date-time:yielddisc-basic", "date-time", "=YIELDDISC(DATE(2008,2,16),DATE(2008,3,1),99.795,100,2)", "implemented-wasm-production"),
|
|
440
|
+
entry("date-time:pricemat-basic", "date-time", "=PRICEMAT(DATE(2008,2,15),DATE(2008,4,13),DATE(2007,11,11),0.061,0.061,0)", "implemented-wasm-production"),
|
|
441
|
+
entry("date-time:yieldmat-basic", "date-time", "=YIELDMAT(DATE(2008,3,15),DATE(2008,11,3),DATE(2007,11,8),0.0625,100.0123,0)", "implemented-wasm-production"),
|
|
442
|
+
entry("date-time:oddfprice-basic", "date-time", "=ODDFPRICE(DATE(2008,11,11),DATE(2021,3,1),DATE(2008,10,15),DATE(2009,3,1),0.0785,0.0625,100,2,1)", "implemented-wasm-production"),
|
|
443
|
+
entry("date-time:oddfyield-basic", "date-time", "=ODDFYIELD(DATE(2008,11,11),DATE(2021,3,1),DATE(2008,10,15),DATE(2009,3,1),0.0575,84.5,100,2,0)", "implemented-wasm-production"),
|
|
444
|
+
entry("date-time:oddlprice-basic", "date-time", "=ODDLPRICE(DATE(2008,2,7),DATE(2008,6,15),DATE(2007,10,15),0.0375,0.0405,100,2,0)", "implemented-wasm-production"),
|
|
445
|
+
entry("date-time:oddlyield-basic", "date-time", "=ODDLYIELD(DATE(2008,4,20),DATE(2008,6,15),DATE(2007,12,24),0.0375,99.875,100,2,0)", "implemented-wasm-production"),
|
|
446
|
+
entry("date-time:coupdaybs-basic", "date-time", "=COUPDAYBS(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
447
|
+
entry("date-time:coupdays-basic", "date-time", "=COUPDAYS(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
448
|
+
entry("date-time:coupdaysnc-basic", "date-time", "=COUPDAYSNC(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
449
|
+
entry("date-time:coupncd-basic", "date-time", "=COUPNCD(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
450
|
+
entry("date-time:coupnum-basic", "date-time", "=COUPNUM(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
451
|
+
entry("date-time:couppcd-basic", "date-time", "=COUPPCD(DATE(2007,1,25),DATE(2009,11,15),2,4)", "implemented-wasm-production"),
|
|
452
|
+
entry("date-time:price-basic", "date-time", "=PRICE(DATE(2008,2,15),DATE(2017,11,15),0.0575,0.065,100,2,0)", "implemented-wasm-production"),
|
|
453
|
+
entry("date-time:yield-basic", "date-time", "=YIELD(DATE(2008,2,15),DATE(2016,11,15),0.0575,95.04287,100,2,0)", "implemented-wasm-production"),
|
|
454
|
+
entry("date-time:duration-basic", "date-time", "=DURATION(DATE(2018,7,1),DATE(2048,1,1),0.08,0.09,2,1)", "implemented-wasm-production"),
|
|
455
|
+
entry("date-time:mduration-basic", "date-time", "=MDURATION(DATE(2008,1,1),DATE(2016,1,1),0.08,0.09,2,1)", "implemented-wasm-production"),
|
|
456
|
+
entry("date-time:tbillprice-basic", "date-time", "=TBILLPRICE(DATE(2008,3,31),DATE(2008,6,1),0.09)", "implemented-wasm-production"),
|
|
457
|
+
entry("date-time:tbillyield-basic", "date-time", "=TBILLYIELD(DATE(2008,3,31),DATE(2008,6,1),98.45)", "implemented-wasm-production"),
|
|
458
|
+
entry("date-time:tbilleq-basic", "date-time", "=TBILLEQ(DATE(2008,3,31),DATE(2008,6,1),0.0914)", "implemented-wasm-production"),
|
|
459
|
+
entry("date-time:networkdays-intl-basic", "date-time", "=NETWORKDAYS.INTL(A1,A2,7,B1)", "implemented-wasm-production"),
|
|
460
|
+
entry("date-time:weekday-basic", "date-time", "=WEEKDAY(DATE(2026,3,15))", "implemented-wasm-production"),
|
|
461
|
+
entry("aggregation:cross-sheet-range-sum", "aggregation", "=SUM(Sheet2!A1:A2)", "implemented-wasm-production", {
|
|
462
|
+
scope: "extended",
|
|
463
|
+
prerequisites: ["core:value-model", "core:range-iterators", "core:reference-model"],
|
|
464
|
+
notes: "Resolved qualified ranges now stay on the native aggregation path.",
|
|
465
|
+
}),
|
|
466
|
+
entry("aggregation:cross-sheet-empty-range-zero", "aggregation", "=SUM(Sheet2!A1:A2)", "implemented-wasm-production", {
|
|
467
|
+
scope: "extended",
|
|
468
|
+
prerequisites: ["core:value-model", "core:range-iterators", "core:reference-model"],
|
|
469
|
+
notes: "Existing blank ranges on another sheet aggregate as zero once the referenced sheet exists.",
|
|
470
|
+
}),
|
|
471
|
+
entry("aggregation:missing-sheet-range-ref-error", "aggregation", "=SUM(Sheet2!A1:A2)", "implemented-wasm-production", {
|
|
472
|
+
scope: "extended",
|
|
473
|
+
prerequisites: ["core:value-model", "core:range-iterators", "core:reference-model"],
|
|
474
|
+
notes: "Missing qualified ranges now stay on the native path via explicit unresolved-range operands that emit #REF! until later rebinding.",
|
|
475
|
+
}),
|
|
476
|
+
entry("dynamic-array:sort-basic", "dynamic-array", "=SORT(A1:A4)", "implemented-wasm-production"),
|
|
477
|
+
entry("dynamic-array:sortby-basic", "dynamic-array", "=SORTBY(A1:A3,B1:B3)", "implemented-wasm-production"),
|
|
478
|
+
entry("dynamic-array:tocol-basic", "dynamic-array", "=TOCOL(A1:B2)", "implemented-wasm-production"),
|
|
479
|
+
entry("dynamic-array:torow-basic", "dynamic-array", "=TOROW(A1:B2)", "implemented-wasm-production"),
|
|
480
|
+
entry("dynamic-array:wraprows-basic", "dynamic-array", "=WRAPROWS(A1:A4,2)", "implemented-wasm-production"),
|
|
481
|
+
entry("dynamic-array:wrapcols-basic", "dynamic-array", "=WRAPCOLS(A1:A4,2)", "implemented-wasm-production"),
|
|
482
|
+
entry("names:defined-name-range", "names", "=SUM(MyRange)", "implemented-wasm-production", {
|
|
483
|
+
notes: "Range-valued workbook names now compile through metadata substitution and route onto the native aggregate path once the name resolves.",
|
|
484
|
+
}),
|
|
485
|
+
entry("lambda:byrow-basic", "lambda", "=BYROW(A1:B2,LAMBDA(r,SUM(r)))", "implemented-wasm-production", {
|
|
486
|
+
notes: "BYROW aggregate lambdas in the canonical SUM form now lower onto an internal native row-sum builtin, so the canonical spill case executes on the wasm path.",
|
|
487
|
+
}),
|
|
488
|
+
];
|
|
489
|
+
export function getCompatibilityEntry(id) {
|
|
490
|
+
return formulaCompatibilityRegistry.find((compatibilityEntry) => compatibilityEntry.id === id);
|
|
491
|
+
}
|
|
492
|
+
export function isCompatibilityStatus(value) {
|
|
493
|
+
return compatibilityStatuses.includes(value);
|
|
494
|
+
}
|
|
495
|
+
export function isWasmCompatibilityStatus(value) {
|
|
496
|
+
return wasmCompatibilityStatuses.includes(value);
|
|
497
|
+
}
|
|
498
|
+
//# sourceMappingURL=compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type FormulaRecord } from "@bilig/protocol";
|
|
2
|
+
import type { FormulaNode } from "./ast.js";
|
|
3
|
+
import { type JsPlanInstruction } from "./js-evaluator.js";
|
|
4
|
+
export interface CompiledFormula extends FormulaRecord {
|
|
5
|
+
ast: FormulaNode;
|
|
6
|
+
optimizedAst: FormulaNode;
|
|
7
|
+
deps: string[];
|
|
8
|
+
symbolicNames: string[];
|
|
9
|
+
symbolicTables: string[];
|
|
10
|
+
symbolicSpills: string[];
|
|
11
|
+
volatile: boolean;
|
|
12
|
+
randCallCount: number;
|
|
13
|
+
producesSpill: boolean;
|
|
14
|
+
jsPlan: JsPlanInstruction[];
|
|
15
|
+
program: Uint32Array;
|
|
16
|
+
constants: Float64Array;
|
|
17
|
+
symbolicRefs: string[];
|
|
18
|
+
symbolicRanges: string[];
|
|
19
|
+
symbolicStrings: string[];
|
|
20
|
+
}
|
|
21
|
+
interface CompileFormulaAstOptions {
|
|
22
|
+
originalAst?: FormulaNode;
|
|
23
|
+
symbolicNames?: string[];
|
|
24
|
+
symbolicTables?: string[];
|
|
25
|
+
symbolicSpills?: string[];
|
|
26
|
+
}
|
|
27
|
+
export declare function compileFormulaAst(source: string, ast: FormulaNode, options?: CompileFormulaAstOptions): CompiledFormula;
|
|
28
|
+
export declare function compileFormula(source: string): CompiledFormula;
|
|
29
|
+
export {};
|