@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.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/addressing.d.ts +66 -0
  4. package/dist/addressing.js +179 -0
  5. package/dist/addressing.js.map +1 -0
  6. package/dist/ast.d.ts +74 -0
  7. package/dist/ast.js +2 -0
  8. package/dist/ast.js.map +1 -0
  9. package/dist/binder.d.ts +13 -0
  10. package/dist/binder.js +1700 -0
  11. package/dist/binder.js.map +1 -0
  12. package/dist/builtin-capabilities.d.ts +19 -0
  13. package/dist/builtin-capabilities.js +861 -0
  14. package/dist/builtin-capabilities.js.map +1 -0
  15. package/dist/builtins/complex.d.ts +10 -0
  16. package/dist/builtins/complex.js +407 -0
  17. package/dist/builtins/complex.js.map +1 -0
  18. package/dist/builtins/convert.d.ts +3 -0
  19. package/dist/builtins/convert.js +362 -0
  20. package/dist/builtins/convert.js.map +1 -0
  21. package/dist/builtins/datetime.d.ts +23 -0
  22. package/dist/builtins/datetime.js +1096 -0
  23. package/dist/builtins/datetime.js.map +1 -0
  24. package/dist/builtins/distribution-builtins.d.ts +16 -0
  25. package/dist/builtins/distribution-builtins.js +517 -0
  26. package/dist/builtins/distribution-builtins.js.map +1 -0
  27. package/dist/builtins/distributions.d.ts +34 -0
  28. package/dist/builtins/distributions.js +722 -0
  29. package/dist/builtins/distributions.js.map +1 -0
  30. package/dist/builtins/financial-builtins.d.ts +16 -0
  31. package/dist/builtins/financial-builtins.js +324 -0
  32. package/dist/builtins/financial-builtins.js.map +1 -0
  33. package/dist/builtins/financial.d.ts +11 -0
  34. package/dist/builtins/financial.js +241 -0
  35. package/dist/builtins/financial.js.map +1 -0
  36. package/dist/builtins/fixed-income-builtins.d.ts +14 -0
  37. package/dist/builtins/fixed-income-builtins.js +598 -0
  38. package/dist/builtins/fixed-income-builtins.js.map +1 -0
  39. package/dist/builtins/fixed-income.d.ts +42 -0
  40. package/dist/builtins/fixed-income.js +668 -0
  41. package/dist/builtins/fixed-income.js.map +1 -0
  42. package/dist/builtins/formatting.d.ts +8 -0
  43. package/dist/builtins/formatting.js +53 -0
  44. package/dist/builtins/formatting.js.map +1 -0
  45. package/dist/builtins/logical.d.ts +4 -0
  46. package/dist/builtins/logical.js +258 -0
  47. package/dist/builtins/logical.js.map +1 -0
  48. package/dist/builtins/lookup-array-shape-builtins.d.ts +21 -0
  49. package/dist/builtins/lookup-array-shape-builtins.js +517 -0
  50. package/dist/builtins/lookup-array-shape-builtins.js.map +1 -0
  51. package/dist/builtins/lookup-criteria-builtins.d.ts +16 -0
  52. package/dist/builtins/lookup-criteria-builtins.js +216 -0
  53. package/dist/builtins/lookup-criteria-builtins.js.map +1 -0
  54. package/dist/builtins/lookup-database-builtins.d.ts +17 -0
  55. package/dist/builtins/lookup-database-builtins.js +294 -0
  56. package/dist/builtins/lookup-database-builtins.js.map +1 -0
  57. package/dist/builtins/lookup-financial-builtins.d.ts +11 -0
  58. package/dist/builtins/lookup-financial-builtins.js +291 -0
  59. package/dist/builtins/lookup-financial-builtins.js.map +1 -0
  60. package/dist/builtins/lookup-hypothesis-builtins.d.ts +11 -0
  61. package/dist/builtins/lookup-hypothesis-builtins.js +57 -0
  62. package/dist/builtins/lookup-hypothesis-builtins.js.map +1 -0
  63. package/dist/builtins/lookup-matrix-builtins.d.ts +17 -0
  64. package/dist/builtins/lookup-matrix-builtins.js +218 -0
  65. package/dist/builtins/lookup-matrix-builtins.js.map +1 -0
  66. package/dist/builtins/lookup-order-statistics-builtins.d.ts +18 -0
  67. package/dist/builtins/lookup-order-statistics-builtins.js +575 -0
  68. package/dist/builtins/lookup-order-statistics-builtins.js.map +1 -0
  69. package/dist/builtins/lookup-reference-builtins.d.ts +18 -0
  70. package/dist/builtins/lookup-reference-builtins.js +300 -0
  71. package/dist/builtins/lookup-reference-builtins.js.map +1 -0
  72. package/dist/builtins/lookup-regression-builtins.d.ts +12 -0
  73. package/dist/builtins/lookup-regression-builtins.js +511 -0
  74. package/dist/builtins/lookup-regression-builtins.js.map +1 -0
  75. package/dist/builtins/lookup-sort-filter-builtins.d.ts +20 -0
  76. package/dist/builtins/lookup-sort-filter-builtins.js +382 -0
  77. package/dist/builtins/lookup-sort-filter-builtins.js.map +1 -0
  78. package/dist/builtins/lookup.d.ts +13 -0
  79. package/dist/builtins/lookup.js +867 -0
  80. package/dist/builtins/lookup.js.map +1 -0
  81. package/dist/builtins/math-builtins.d.ts +31 -0
  82. package/dist/builtins/math-builtins.js +420 -0
  83. package/dist/builtins/math-builtins.js.map +1 -0
  84. package/dist/builtins/numeric.d.ts +30 -0
  85. package/dist/builtins/numeric.js +150 -0
  86. package/dist/builtins/numeric.js.map +1 -0
  87. package/dist/builtins/placeholder.d.ts +9 -0
  88. package/dist/builtins/placeholder.js +540 -0
  89. package/dist/builtins/placeholder.js.map +1 -0
  90. package/dist/builtins/radix.d.ts +12 -0
  91. package/dist/builtins/radix.js +220 -0
  92. package/dist/builtins/radix.js.map +1 -0
  93. package/dist/builtins/statistical-builtins.d.ts +13 -0
  94. package/dist/builtins/statistical-builtins.js +240 -0
  95. package/dist/builtins/statistical-builtins.js.map +1 -0
  96. package/dist/builtins/statistics.d.ts +8 -0
  97. package/dist/builtins/statistics.js +74 -0
  98. package/dist/builtins/statistics.js.map +1 -0
  99. package/dist/builtins/text.d.ts +5 -0
  100. package/dist/builtins/text.js +1879 -0
  101. package/dist/builtins/text.js.map +1 -0
  102. package/dist/builtins.d.ts +8 -0
  103. package/dist/builtins.js +695 -0
  104. package/dist/builtins.js.map +1 -0
  105. package/dist/compatibility.d.ts +25 -0
  106. package/dist/compatibility.js +498 -0
  107. package/dist/compatibility.js.map +1 -0
  108. package/dist/compiler.d.ts +29 -0
  109. package/dist/compiler.js +474 -0
  110. package/dist/compiler.js.map +1 -0
  111. package/dist/external-function-adapter.d.ts +32 -0
  112. package/dist/external-function-adapter.js +42 -0
  113. package/dist/external-function-adapter.js.map +1 -0
  114. package/dist/generated/formula-inventory.d.ts +6839 -0
  115. package/dist/generated/formula-inventory.js +7368 -0
  116. package/dist/generated/formula-inventory.js.map +1 -0
  117. package/dist/group-pivot-evaluator.d.ts +28 -0
  118. package/dist/group-pivot-evaluator.js +435 -0
  119. package/dist/group-pivot-evaluator.js.map +1 -0
  120. package/dist/index.d.ts +16 -0
  121. package/dist/index.js +17 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/js-evaluator.d.ts +107 -0
  124. package/dist/js-evaluator.js +1651 -0
  125. package/dist/js-evaluator.js.map +1 -0
  126. package/dist/lexer.d.ts +6 -0
  127. package/dist/lexer.js +115 -0
  128. package/dist/lexer.js.map +1 -0
  129. package/dist/optimizer.d.ts +2 -0
  130. package/dist/optimizer.js +353 -0
  131. package/dist/optimizer.js.map +1 -0
  132. package/dist/parser.d.ts +2 -0
  133. package/dist/parser.js +352 -0
  134. package/dist/parser.js.map +1 -0
  135. package/dist/program-arena.d.ts +22 -0
  136. package/dist/program-arena.js +67 -0
  137. package/dist/program-arena.js.map +1 -0
  138. package/dist/runtime-values.d.ts +17 -0
  139. package/dist/runtime-values.js +11 -0
  140. package/dist/runtime-values.js.map +1 -0
  141. package/dist/special-call-rewrites.d.ts +2 -0
  142. package/dist/special-call-rewrites.js +74 -0
  143. package/dist/special-call-rewrites.js.map +1 -0
  144. package/dist/translation.d.ts +28 -0
  145. package/dist/translation.js +569 -0
  146. package/dist/translation.js.map +1 -0
  147. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-capabilities.js","sourceRoot":"","sources":["../src/builtin-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type CellValue } from "@bilig/protocol";
2
+ import type { EvaluationResult } from "../runtime-values.js";
3
+ type Builtin = (...args: CellValue[]) => EvaluationResult;
4
+ interface ComplexBuiltinHelpers {
5
+ toNumber(this: void, value: CellValue): number | undefined;
6
+ numberResult(this: void, value: number): CellValue;
7
+ valueError(this: void): CellValue;
8
+ }
9
+ export declare function createComplexBuiltins({ toNumber, numberResult, valueError, }: ComplexBuiltinHelpers): Record<string, Builtin>;
10
+ export {};
@@ -0,0 +1,407 @@
1
+ import { ErrorCode, ValueTag } from "@bilig/protocol";
2
+ export function createComplexBuiltins({ toNumber, numberResult, valueError, }) {
3
+ return {
4
+ COMPLEX: (realArg, imaginaryArg = { tag: ValueTag.Number, value: 0 }, suffixArg) => {
5
+ const real = toNumber(realArg);
6
+ const imaginary = toNumber(imaginaryArg);
7
+ if (real === undefined || imaginary === undefined) {
8
+ return valueError();
9
+ }
10
+ let suffix = "i";
11
+ if (suffixArg !== undefined) {
12
+ if (suffixArg.tag !== ValueTag.String) {
13
+ return valueError();
14
+ }
15
+ const normalized = suffixArg.value.trim().toLowerCase();
16
+ if (normalized !== "i" && normalized !== "j") {
17
+ return valueError();
18
+ }
19
+ suffix = normalized;
20
+ }
21
+ return complexResult({
22
+ real: normalizeSignedZero(real),
23
+ imaginary: normalizeSignedZero(imaginary),
24
+ suffix,
25
+ });
26
+ },
27
+ IMREAL: (valueArg) => {
28
+ const parsed = parseComplexNumber(valueArg, toNumber);
29
+ return parsed === undefined ? valueError() : numberResult(parsed.real);
30
+ },
31
+ IMAGINARY: (valueArg) => {
32
+ const parsed = parseComplexNumber(valueArg, toNumber);
33
+ return parsed === undefined ? valueError() : numberResult(parsed.imaginary);
34
+ },
35
+ IMABS: (valueArg) => {
36
+ const parsed = parseComplexNumber(valueArg, toNumber);
37
+ return parsed === undefined ? valueError() : numberResult(complexMagnitude(parsed));
38
+ },
39
+ IMARGUMENT: (valueArg) => {
40
+ const parsed = parseComplexNumber(valueArg, toNumber);
41
+ return parsed === undefined ? valueError() : numberResult(complexArgument(parsed));
42
+ },
43
+ IMCONJUGATE: (valueArg) => {
44
+ const parsed = parseComplexNumber(valueArg, toNumber);
45
+ return parsed === undefined ? valueError() : complexResult(complexConjugate(parsed));
46
+ },
47
+ IMSUM: (...args) => {
48
+ const parsed = args.map((arg) => parseComplexNumber(arg, toNumber));
49
+ if (parsed.length === 0 || parsed.some((value) => value === undefined)) {
50
+ return valueError();
51
+ }
52
+ const values = [];
53
+ for (const value of parsed) {
54
+ if (value === undefined) {
55
+ return valueError();
56
+ }
57
+ values.push(value);
58
+ }
59
+ return complexResult(values.reduce((sum, value) => addComplex(sum, value), {
60
+ real: 0,
61
+ imaginary: 0,
62
+ suffix: commonComplexSuffix(values),
63
+ }));
64
+ },
65
+ IMSUB: (leftArg, rightArg) => {
66
+ const left = parseComplexNumber(leftArg, toNumber);
67
+ const right = parseComplexNumber(rightArg, toNumber);
68
+ return left === undefined || right === undefined
69
+ ? valueError()
70
+ : complexResult(subtractComplex(left, right));
71
+ },
72
+ IMPRODUCT: (...args) => {
73
+ const parsed = args.map((arg) => parseComplexNumber(arg, toNumber));
74
+ if (parsed.length === 0 || parsed.some((value) => value === undefined)) {
75
+ return valueError();
76
+ }
77
+ const values = [];
78
+ for (const value of parsed) {
79
+ if (value === undefined) {
80
+ return valueError();
81
+ }
82
+ values.push(value);
83
+ }
84
+ return complexResult(values.reduce((product, value) => multiplyComplex(product, value), {
85
+ real: 1,
86
+ imaginary: 0,
87
+ suffix: commonComplexSuffix(values),
88
+ }));
89
+ },
90
+ IMDIV: (leftArg, rightArg) => {
91
+ const left = parseComplexNumber(leftArg, toNumber);
92
+ const right = parseComplexNumber(rightArg, toNumber);
93
+ const quotient = left === undefined || right === undefined ? undefined : divideComplex(left, right);
94
+ return quotient === undefined
95
+ ? left !== undefined && right !== undefined
96
+ ? div0Error()
97
+ : valueError()
98
+ : complexResult(quotient);
99
+ },
100
+ IMEXP: (valueArg) => {
101
+ const parsed = parseComplexNumber(valueArg, toNumber);
102
+ return parsed === undefined ? valueError() : complexResult(complexExp(parsed));
103
+ },
104
+ IMLN: (valueArg) => {
105
+ const parsed = parseComplexNumber(valueArg, toNumber);
106
+ const logged = parsed === undefined ? undefined : complexLn(parsed);
107
+ return logged === undefined ? valueError() : complexResult(logged);
108
+ },
109
+ IMLOG10: (valueArg) => {
110
+ const parsed = parseComplexNumber(valueArg, toNumber);
111
+ const logged = parsed === undefined ? undefined : complexLn(parsed);
112
+ return logged === undefined
113
+ ? valueError()
114
+ : complexResult({
115
+ real: normalizeSignedZero(logged.real / Math.log(10)),
116
+ imaginary: normalizeSignedZero(logged.imaginary / Math.log(10)),
117
+ suffix: logged.suffix,
118
+ });
119
+ },
120
+ IMLOG2: (valueArg) => {
121
+ const parsed = parseComplexNumber(valueArg, toNumber);
122
+ const logged = parsed === undefined ? undefined : complexLn(parsed);
123
+ return logged === undefined
124
+ ? valueError()
125
+ : complexResult({
126
+ real: normalizeSignedZero(logged.real / Math.log(2)),
127
+ imaginary: normalizeSignedZero(logged.imaginary / Math.log(2)),
128
+ suffix: logged.suffix,
129
+ });
130
+ },
131
+ IMPOWER: (valueArg, powerArg) => {
132
+ const parsed = parseComplexNumber(valueArg, toNumber);
133
+ const exponent = toNumber(powerArg);
134
+ const powered = parsed === undefined || exponent === undefined ? undefined : complexPower(parsed, exponent);
135
+ return powered === undefined ? valueError() : complexResult(powered);
136
+ },
137
+ IMSQRT: (valueArg) => {
138
+ const parsed = parseComplexNumber(valueArg, toNumber);
139
+ return parsed === undefined ? valueError() : complexResult(complexSqrt(parsed));
140
+ },
141
+ IMSIN: (valueArg) => {
142
+ const parsed = parseComplexNumber(valueArg, toNumber);
143
+ return parsed === undefined ? valueError() : complexResult(complexSin(parsed));
144
+ },
145
+ IMCOS: (valueArg) => {
146
+ const parsed = parseComplexNumber(valueArg, toNumber);
147
+ return parsed === undefined ? valueError() : complexResult(complexCos(parsed));
148
+ },
149
+ IMTAN: (valueArg) => {
150
+ const parsed = parseComplexNumber(valueArg, toNumber);
151
+ if (parsed === undefined) {
152
+ return valueError();
153
+ }
154
+ const quotient = divideComplex(complexSin(parsed), complexCos(parsed));
155
+ return quotient === undefined ? div0Error() : complexResult(quotient);
156
+ },
157
+ IMSINH: (valueArg) => {
158
+ const parsed = parseComplexNumber(valueArg, toNumber);
159
+ return parsed === undefined ? valueError() : complexResult(complexSinh(parsed));
160
+ },
161
+ IMCOSH: (valueArg) => {
162
+ const parsed = parseComplexNumber(valueArg, toNumber);
163
+ return parsed === undefined ? valueError() : complexResult(complexCosh(parsed));
164
+ },
165
+ IMSEC: (valueArg) => {
166
+ const parsed = parseComplexNumber(valueArg, toNumber);
167
+ const reciprocal = parsed === undefined ? undefined : reciprocalComplex(complexCos(parsed));
168
+ return reciprocal === undefined
169
+ ? parsed === undefined
170
+ ? valueError()
171
+ : div0Error()
172
+ : complexResult(reciprocal);
173
+ },
174
+ IMCSC: (valueArg) => {
175
+ const parsed = parseComplexNumber(valueArg, toNumber);
176
+ const reciprocal = parsed === undefined ? undefined : reciprocalComplex(complexSin(parsed));
177
+ return reciprocal === undefined
178
+ ? parsed === undefined
179
+ ? valueError()
180
+ : div0Error()
181
+ : complexResult(reciprocal);
182
+ },
183
+ IMCOT: (valueArg) => {
184
+ const parsed = parseComplexNumber(valueArg, toNumber);
185
+ if (parsed === undefined) {
186
+ return valueError();
187
+ }
188
+ const quotient = divideComplex(complexCos(parsed), complexSin(parsed));
189
+ return quotient === undefined ? div0Error() : complexResult(quotient);
190
+ },
191
+ IMSECH: (valueArg) => {
192
+ const parsed = parseComplexNumber(valueArg, toNumber);
193
+ const reciprocal = parsed === undefined ? undefined : reciprocalComplex(complexCosh(parsed));
194
+ return reciprocal === undefined
195
+ ? parsed === undefined
196
+ ? valueError()
197
+ : div0Error()
198
+ : complexResult(reciprocal);
199
+ },
200
+ IMCSCH: (valueArg) => {
201
+ const parsed = parseComplexNumber(valueArg, toNumber);
202
+ const reciprocal = parsed === undefined ? undefined : reciprocalComplex(complexSinh(parsed));
203
+ return reciprocal === undefined
204
+ ? parsed === undefined
205
+ ? valueError()
206
+ : div0Error()
207
+ : complexResult(reciprocal);
208
+ },
209
+ };
210
+ }
211
+ function div0Error() {
212
+ return { tag: ValueTag.Error, code: ErrorCode.Div0 };
213
+ }
214
+ function normalizeSignedZero(value) {
215
+ return Object.is(value, -0) || Math.abs(value) < 1e-12 ? 0 : value;
216
+ }
217
+ function parseComplexNumber(value, toNumber) {
218
+ if (value.tag === ValueTag.Error) {
219
+ return undefined;
220
+ }
221
+ if (value.tag === ValueTag.Number ||
222
+ value.tag === ValueTag.Boolean ||
223
+ value.tag === ValueTag.Empty) {
224
+ const numeric = toNumber(value);
225
+ return numeric === undefined
226
+ ? undefined
227
+ : { real: normalizeSignedZero(numeric), imaginary: 0, suffix: "i" };
228
+ }
229
+ const raw = value.value.trim();
230
+ if (raw === "") {
231
+ return undefined;
232
+ }
233
+ const normalized = raw.toLowerCase();
234
+ const suffix = normalized.endsWith("j") ? "j" : normalized.endsWith("i") ? "i" : undefined;
235
+ if (!suffix) {
236
+ const real = Number(raw);
237
+ return Number.isFinite(real)
238
+ ? { real: normalizeSignedZero(real), imaginary: 0, suffix: "i" }
239
+ : undefined;
240
+ }
241
+ const body = normalized.slice(0, -1);
242
+ let splitIndex = -1;
243
+ for (let index = 1; index < body.length; index += 1) {
244
+ const char = body[index];
245
+ const previous = body[index - 1];
246
+ if ((char === "+" || char === "-") && previous !== "e") {
247
+ splitIndex = index;
248
+ }
249
+ }
250
+ if (splitIndex !== -1) {
251
+ const real = Number(body.slice(0, splitIndex));
252
+ const imaginaryToken = body.slice(splitIndex);
253
+ const imaginary = imaginaryToken === "+" ? 1 : imaginaryToken === "-" ? -1 : Number(imaginaryToken);
254
+ if (!Number.isFinite(real) || !Number.isFinite(imaginary)) {
255
+ return undefined;
256
+ }
257
+ return {
258
+ real: normalizeSignedZero(real),
259
+ imaginary: normalizeSignedZero(imaginary),
260
+ suffix,
261
+ };
262
+ }
263
+ const imaginary = body === "" || body === "+" ? 1 : body === "-" ? -1 : Number(body);
264
+ if (!Number.isFinite(imaginary)) {
265
+ return undefined;
266
+ }
267
+ return { real: 0, imaginary: normalizeSignedZero(imaginary), suffix };
268
+ }
269
+ function complexToString(value) {
270
+ const real = normalizeSignedZero(value.real);
271
+ const imaginary = normalizeSignedZero(value.imaginary);
272
+ if (imaginary === 0) {
273
+ return `${real}`;
274
+ }
275
+ const imagMagnitude = Math.abs(imaginary);
276
+ const imagPart = imagMagnitude === 1 ? value.suffix : `${imagMagnitude}${value.suffix}`;
277
+ if (real === 0) {
278
+ return imaginary < 0 ? `-${imagPart}` : imagPart;
279
+ }
280
+ return `${real}${imaginary < 0 ? "-" : "+"}${imagPart}`;
281
+ }
282
+ function complexResult(value) {
283
+ return { tag: ValueTag.String, value: complexToString(value), stringId: 0 };
284
+ }
285
+ function commonComplexSuffix(values) {
286
+ return values.some((value) => value.suffix === "j") ? "j" : "i";
287
+ }
288
+ function addComplex(left, right) {
289
+ return {
290
+ real: normalizeSignedZero(left.real + right.real),
291
+ imaginary: normalizeSignedZero(left.imaginary + right.imaginary),
292
+ suffix: commonComplexSuffix([left, right]),
293
+ };
294
+ }
295
+ function subtractComplex(left, right) {
296
+ return {
297
+ real: normalizeSignedZero(left.real - right.real),
298
+ imaginary: normalizeSignedZero(left.imaginary - right.imaginary),
299
+ suffix: commonComplexSuffix([left, right]),
300
+ };
301
+ }
302
+ function multiplyComplex(left, right) {
303
+ return {
304
+ real: normalizeSignedZero(left.real * right.real - left.imaginary * right.imaginary),
305
+ imaginary: normalizeSignedZero(left.real * right.imaginary + left.imaginary * right.real),
306
+ suffix: commonComplexSuffix([left, right]),
307
+ };
308
+ }
309
+ function divideComplex(left, right) {
310
+ const denominator = right.real ** 2 + right.imaginary ** 2;
311
+ if (denominator === 0) {
312
+ return undefined;
313
+ }
314
+ return {
315
+ real: normalizeSignedZero((left.real * right.real + left.imaginary * right.imaginary) / denominator),
316
+ imaginary: normalizeSignedZero((left.imaginary * right.real - left.real * right.imaginary) / denominator),
317
+ suffix: commonComplexSuffix([left, right]),
318
+ };
319
+ }
320
+ function reciprocalComplex(value) {
321
+ return divideComplex({ real: 1, imaginary: 0, suffix: value.suffix }, value);
322
+ }
323
+ function complexMagnitude(value) {
324
+ return Math.hypot(value.real, value.imaginary);
325
+ }
326
+ function complexArgument(value) {
327
+ return Math.atan2(value.imaginary, value.real);
328
+ }
329
+ function complexConjugate(value) {
330
+ return {
331
+ real: normalizeSignedZero(value.real),
332
+ imaginary: normalizeSignedZero(-value.imaginary),
333
+ suffix: value.suffix,
334
+ };
335
+ }
336
+ function complexExp(value) {
337
+ const scale = Math.exp(value.real);
338
+ return {
339
+ real: normalizeSignedZero(scale * Math.cos(value.imaginary)),
340
+ imaginary: normalizeSignedZero(scale * Math.sin(value.imaginary)),
341
+ suffix: value.suffix,
342
+ };
343
+ }
344
+ function complexLn(value) {
345
+ const magnitude = complexMagnitude(value);
346
+ if (magnitude === 0) {
347
+ return undefined;
348
+ }
349
+ return {
350
+ real: normalizeSignedZero(Math.log(magnitude)),
351
+ imaginary: normalizeSignedZero(complexArgument(value)),
352
+ suffix: value.suffix,
353
+ };
354
+ }
355
+ function complexPower(value, exponent) {
356
+ const magnitude = complexMagnitude(value);
357
+ if (magnitude === 0) {
358
+ return exponent === 0 ? undefined : { real: 0, imaginary: 0, suffix: value.suffix };
359
+ }
360
+ const angle = complexArgument(value);
361
+ const scaledMagnitude = magnitude ** exponent;
362
+ return {
363
+ real: normalizeSignedZero(scaledMagnitude * Math.cos(exponent * angle)),
364
+ imaginary: normalizeSignedZero(scaledMagnitude * Math.sin(exponent * angle)),
365
+ suffix: value.suffix,
366
+ };
367
+ }
368
+ function complexSqrt(value) {
369
+ const magnitude = complexMagnitude(value);
370
+ const real = Math.sqrt((magnitude + value.real) / 2);
371
+ const imaginarySign = value.imaginary < 0 ? -1 : 1;
372
+ const imaginary = imaginarySign * Math.sqrt(Math.max(0, (magnitude - value.real) / 2));
373
+ return {
374
+ real: normalizeSignedZero(real),
375
+ imaginary: normalizeSignedZero(imaginary),
376
+ suffix: value.suffix,
377
+ };
378
+ }
379
+ function complexSin(value) {
380
+ return {
381
+ real: normalizeSignedZero(Math.sin(value.real) * Math.cosh(value.imaginary)),
382
+ imaginary: normalizeSignedZero(Math.cos(value.real) * Math.sinh(value.imaginary)),
383
+ suffix: value.suffix,
384
+ };
385
+ }
386
+ function complexCos(value) {
387
+ return {
388
+ real: normalizeSignedZero(Math.cos(value.real) * Math.cosh(value.imaginary)),
389
+ imaginary: normalizeSignedZero(-Math.sin(value.real) * Math.sinh(value.imaginary)),
390
+ suffix: value.suffix,
391
+ };
392
+ }
393
+ function complexSinh(value) {
394
+ return {
395
+ real: normalizeSignedZero(Math.sinh(value.real) * Math.cos(value.imaginary)),
396
+ imaginary: normalizeSignedZero(Math.cosh(value.real) * Math.sin(value.imaginary)),
397
+ suffix: value.suffix,
398
+ };
399
+ }
400
+ function complexCosh(value) {
401
+ return {
402
+ real: normalizeSignedZero(Math.cosh(value.real) * Math.cos(value.imaginary)),
403
+ imaginary: normalizeSignedZero(Math.sinh(value.real) * Math.sin(value.imaginary)),
404
+ suffix: value.suffix,
405
+ };
406
+ }
407
+ //# sourceMappingURL=complex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complex.js","sourceRoot":"","sources":["../../src/builtins/complex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CellValue } from "@bilig/protocol";
2
+ export declare function convertBuiltin(numberArg: CellValue | undefined, fromUnitArg: CellValue | undefined, toUnitArg: CellValue | undefined): CellValue;
3
+ export declare function euroconvertBuiltin(numberArg: CellValue | undefined, sourceArg: CellValue | undefined, targetArg: CellValue | undefined, fullPrecisionArg?: CellValue, triangulationPrecisionArg?: CellValue): CellValue;