oakscriptjs 0.9.4 → 0.9.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.
Files changed (52) hide show
  1. package/dist/cjs/array/index.d.ts +4 -0
  2. package/dist/cjs/array/index.d.ts.map +1 -1
  3. package/dist/cjs/array/index.js +22 -39
  4. package/dist/cjs/array/index.js.map +2 -2
  5. package/dist/cjs/callsite/index.d.ts +43 -4
  6. package/dist/cjs/callsite/index.d.ts.map +1 -1
  7. package/dist/cjs/callsite/index.js +40 -2
  8. package/dist/cjs/callsite/index.js.map +2 -2
  9. package/dist/cjs/index.d.ts +1 -1
  10. package/dist/cjs/index.js +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/math/index.d.ts +3 -1
  13. package/dist/cjs/math/index.d.ts.map +1 -1
  14. package/dist/cjs/math/index.js +2 -2
  15. package/dist/cjs/math/index.js.map +2 -2
  16. package/dist/cjs/ta/index.d.ts +12 -6
  17. package/dist/cjs/ta/index.d.ts.map +1 -1
  18. package/dist/cjs/ta/index.js +27 -58
  19. package/dist/cjs/ta/index.js.map +3 -3
  20. package/dist/cjs/ta/running-sum.d.ts +2 -1
  21. package/dist/cjs/ta/running-sum.d.ts.map +1 -1
  22. package/dist/cjs/ta/running-sum.js +7 -2
  23. package/dist/cjs/ta/running-sum.js.map +2 -2
  24. package/dist/esm/array/index.d.ts +4 -0
  25. package/dist/esm/array/index.d.ts.map +1 -1
  26. package/dist/esm/array/index.js +35 -46
  27. package/dist/esm/array/index.js.map +1 -1
  28. package/dist/esm/callsite/index.d.ts +43 -4
  29. package/dist/esm/callsite/index.d.ts.map +1 -1
  30. package/dist/esm/callsite/index.js +85 -7
  31. package/dist/esm/callsite/index.js.map +1 -1
  32. package/dist/esm/index.d.ts +1 -1
  33. package/dist/esm/index.js +1 -1
  34. package/dist/esm/math/index.d.ts +3 -1
  35. package/dist/esm/math/index.d.ts.map +1 -1
  36. package/dist/esm/math/index.js +2 -2
  37. package/dist/esm/math/index.js.map +1 -1
  38. package/dist/esm/ta/index.d.ts +12 -6
  39. package/dist/esm/ta/index.d.ts.map +1 -1
  40. package/dist/esm/ta/index.js +56 -77
  41. package/dist/esm/ta/index.js.map +1 -1
  42. package/dist/esm/ta/running-sum.d.ts +2 -1
  43. package/dist/esm/ta/running-sum.d.ts.map +1 -1
  44. package/dist/esm/ta/running-sum.js +15 -4
  45. package/dist/esm/ta/running-sum.js.map +1 -1
  46. package/package.json +2 -2
  47. package/src/array/index.ts +30 -47
  48. package/src/callsite/index.ts +87 -7
  49. package/src/index.ts +1 -1
  50. package/src/math/index.ts +5 -3
  51. package/src/ta/index.ts +61 -83
  52. package/src/ta/running-sum.ts +16 -4
@@ -6,7 +6,8 @@
6
6
  * - each bar first removes, with a Kahan step, the compensated value that was added for the value that leaves the
7
7
  * window, then adds the new value with a Kahan step and keeps its compensated value;
8
8
  * - when the compensation of the previous step would be lost when applied to the new value, the sum is computed
9
- * again from the window values (newest first) and the compensation is reset.
9
+ * again from the window values (newest first) and the compensation is reset. The test rounds on the grid of the
10
+ * new value toward +infinity: for a negative power of two, the finer grid of the binade below (#136).
10
11
  *
11
12
  * So the result can differ from the exact window sum in the last bits (e.g. a small residue on a window of zeros),
12
13
  * as in PineScript.
@@ -1 +1 @@
1
- {"version":3,"file":"running-sum.d.ts","sourceRoot":"","sources":["../../../src/ta/running-sum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCjG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,MAAM,EAAE,CAaV"}
1
+ {"version":3,"file":"running-sum.d.ts","sourceRoot":"","sources":["../../../src/ta/running-sum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0CH;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCjG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,MAAM,EAAE,CAaV"}
@@ -28,14 +28,19 @@ function exponentOf(x) {
28
28
  const e = view.getUint16(0) >> 4 & 2047;
29
29
  return e === 0 ? -1074 : e - 1023;
30
30
  }
31
+ function spacingUp(x) {
32
+ const e = exponentOf(x);
33
+ const powerOfTwo = (view.getUint16(0) & 15) === 0 && view.getUint16(2) === 0 && view.getUint32(4) === 0;
34
+ return 2 ** (e - (x < 0 && powerOfTwo && e > -1022 ? 53 : 52));
35
+ }
31
36
  function compensationLost(x, c) {
32
37
  if (c === 0 || x === 0) return false;
33
- const ulp = 2 ** (exponentOf(x) - 52);
38
+ const ulp = spacingUp(x);
34
39
  const q = c / ulp;
35
40
  const mantissa = x / ulp;
36
41
  const f = Math.floor(q);
37
42
  const d = q - f;
38
- const applied = d > 0.5 ? f + 1 : d < 0.5 ? f : (mantissa - f) % 2 === 0 ? f : f + 1;
43
+ const applied = d > 0.5 ? f + 1 : d < 0.5 ? f : Math.abs(mantissa % 2) === Math.abs(f % 2) ? f : f + 1;
39
44
  return Math.abs(applied) < Math.abs(q);
40
45
  }
41
46
  function isNa(v) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ta/running-sum.ts"],
4
- "sourcesContent": ["/**\n * Running window sum with the floating-point behaviour of PineScript `math.sum` / `ta.sma` / `ta.stdev` /\n * `ta.variance` (bit for bit).\n *\n * PineScript does not sum the window again on each bar. It keeps a compensated (Kahan) running sum:\n * - each bar first removes, with a Kahan step, the compensated value that was added for the value that leaves the\n * window, then adds the new value with a Kahan step and keeps its compensated value;\n * - when the compensation of the previous step would be lost when applied to the new value, the sum is computed\n * again from the window values (newest first) and the compensation is reset.\n *\n * So the result can differ from the exact window sum in the last bits (e.g. a small residue on a window of zeros),\n * as in PineScript.\n *\n * @internal\n */\n\nconst view = new DataView(new ArrayBuffer(8));\n\n/** Binary exponent of a finite non-zero number (from its bits). */\nfunction exponentOf(x: number): number {\n view.setFloat64(0, x);\n const e = (view.getUint16(0) >> 4) & 0x7ff;\n return e === 0 ? -1074 : e - 1023;\n}\n\n/**\n * Whether the compensation `c` is (partly) lost when it is applied to `x`: `x - c` rounded on the grid of `x`\n * (spacing of the binade of `x`, ties to an even mantissa) applies less than `c`.\n */\nfunction compensationLost(x: number, c: number): boolean {\n if (c === 0 || x === 0) return false;\n const ulp = 2 ** (exponentOf(x) - 52);\n const q = c / ulp;\n const mantissa = x / ulp;\n const f = Math.floor(q);\n const d = q - f;\n const applied = d > 0.5 ? f + 1 : d < 0.5 ? f : (mantissa - f) % 2 === 0 ? f : f + 1;\n return Math.abs(applied) < Math.abs(q);\n}\n\n/** A value PineScript treats as na in window functions (also +/-Infinity). */\nfunction isNa(v: number | null | undefined): boolean {\n return v === undefined || v === null || !Number.isFinite(v);\n}\n\n/**\n * The sum of the last `length` non-na values on each bar, as PineScript computes it.\n *\n * @param source - Values (na: NaN, null, undefined or +/-Infinity, skipped)\n * @param length - Number of non-na values in the window\n * @returns The running sum per bar: NaN until `length` non-na values exist; a bar with an na value keeps the\n * previous result\n */\nexport function runningSum(source: ArrayLike<number | null | undefined>, length: number): number[] {\n const len = Math.floor(length);\n const out: number[] = new Array<number>(source.length).fill(NaN);\n if (!(len >= 1)) return out;\n const values: number[] = [];\n const stored: number[] = [];\n let s = 0;\n let c = 0;\n let previous = NaN;\n const kahanAdd = (v: number): number => {\n const y = v - c;\n const t = s + y;\n c = (t - s) - y;\n s = t;\n return y;\n };\n for (let i = 0; i < source.length; i++) {\n const v = source[i];\n if (isNa(v)) {\n out[i] = previous;\n continue;\n }\n const x = v as number;\n const c0 = c;\n const n = values.length;\n if (n >= len) kahanAdd(-stored[n - len]!);\n values.push(x);\n if (compensationLost(x, c0)) {\n let fresh = 0;\n for (let k = values.length - 1; k >= Math.max(0, values.length - len); k--) fresh += values[k]!;\n s = fresh;\n c = 0;\n stored.push(x);\n } else {\n stored.push(kahanAdd(x));\n }\n previous = values.length >= len ? s : NaN;\n out[i] = previous;\n }\n return out;\n}\n\n/**\n * Window variance from the running sums of the values and of their squares, as PineScript computes it:\n * biased `sumSq / n - mean * mean`, unbiased `sumSq / (n - 1) - mean * sum / (n - 1)`, with `mean = sum / n`.\n */\nexport function runningVariance(\n source: ArrayLike<number | null | undefined>,\n length: number,\n biased: boolean\n): number[] {\n const len = Math.floor(length);\n const squares = Array.from({ length: source.length }, (_, i) => {\n const v = source[i];\n return isNa(v) ? NaN : (v as number) * (v as number);\n });\n const sums = runningSum(source, len);\n const sumSquares = runningSum(squares, len);\n return sums.map((sum, i) => {\n const mean = sum / len;\n const sq = sumSquares[i]!;\n return biased ? sq / len - mean * mean : sq / (len - 1) - (mean * sum) / (len - 1);\n });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,OAAO,IAAI,SAAS,IAAI,YAAY,CAAC,CAAC;AAG5C,SAAS,WAAW,GAAmB;AACrC,OAAK,WAAW,GAAG,CAAC;AACpB,QAAM,IAAK,KAAK,UAAU,CAAC,KAAK,IAAK;AACrC,SAAO,MAAM,IAAI,QAAQ,IAAI;AAC/B;AAMA,SAAS,iBAAiB,GAAW,GAAoB;AACvD,MAAI,MAAM,KAAK,MAAM,EAAG,QAAO;AAC/B,QAAM,MAAM,MAAM,WAAW,CAAC,IAAI;AAClC,QAAM,IAAI,IAAI;AACd,QAAM,WAAW,IAAI;AACrB,QAAM,IAAI,KAAK,MAAM,CAAC;AACtB,QAAM,IAAI,IAAI;AACd,QAAM,UAAU,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,WAAW,KAAK,MAAM,IAAI,IAAI,IAAI;AACnF,SAAO,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC;AACvC;AAGA,SAAS,KAAK,GAAuC;AACnD,SAAO,MAAM,UAAa,MAAM,QAAQ,CAAC,OAAO,SAAS,CAAC;AAC5D;AAUO,SAAS,WAAW,QAA8C,QAA0B;AACjG,QAAM,MAAM,KAAK,MAAM,MAAM;AAC7B,QAAM,MAAgB,IAAI,MAAc,OAAO,MAAM,EAAE,KAAK,GAAG;AAC/D,MAAI,EAAE,OAAO,GAAI,QAAO;AACxB,QAAM,SAAmB,CAAC;AAC1B,QAAM,SAAmB,CAAC;AAC1B,MAAI,IAAI;AACR,MAAI,IAAI;AACR,MAAI,WAAW;AACf,QAAM,WAAW,CAAC,MAAsB;AACtC,UAAM,IAAI,IAAI;AACd,UAAM,IAAI,IAAI;AACd,QAAK,IAAI,IAAK;AACd,QAAI;AACJ,WAAO;AAAA,EACT;AACA,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,IAAI,OAAO,CAAC;AAClB,QAAI,KAAK,CAAC,GAAG;AACX,UAAI,CAAC,IAAI;AACT;AAAA,IACF;AACA,UAAM,IAAI;AACV,UAAM,KAAK;AACX,UAAM,IAAI,OAAO;AACjB,QAAI,KAAK,IAAK,UAAS,CAAC,OAAO,IAAI,GAAG,CAAE;AACxC,WAAO,KAAK,CAAC;AACb,QAAI,iBAAiB,GAAG,EAAE,GAAG;AAC3B,UAAI,QAAQ;AACZ,eAAS,IAAI,OAAO,SAAS,GAAG,KAAK,KAAK,IAAI,GAAG,OAAO,SAAS,GAAG,GAAG,IAAK,UAAS,OAAO,CAAC;AAC7F,UAAI;AACJ,UAAI;AACJ,aAAO,KAAK,CAAC;AAAA,IACf,OAAO;AACL,aAAO,KAAK,SAAS,CAAC,CAAC;AAAA,IACzB;AACA,eAAW,OAAO,UAAU,MAAM,IAAI;AACtC,QAAI,CAAC,IAAI;AAAA,EACX;AACA,SAAO;AACT;AAMO,SAAS,gBACd,QACA,QACA,QACU;AACV,QAAM,MAAM,KAAK,MAAM,MAAM;AAC7B,QAAM,UAAU,MAAM,KAAK,EAAE,QAAQ,OAAO,OAAO,GAAG,CAAC,GAAG,MAAM;AAC9D,UAAM,IAAI,OAAO,CAAC;AAClB,WAAO,KAAK,CAAC,IAAI,MAAO,IAAgB;AAAA,EAC1C,CAAC;AACD,QAAM,OAAO,WAAW,QAAQ,GAAG;AACnC,QAAM,aAAa,WAAW,SAAS,GAAG;AAC1C,SAAO,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,UAAM,OAAO,MAAM;AACnB,UAAM,KAAK,WAAW,CAAC;AACvB,WAAO,SAAS,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,KAAM,OAAO,OAAQ,MAAM;AAAA,EAClF,CAAC;AACH;",
4
+ "sourcesContent": ["/**\n * Running window sum with the floating-point behaviour of PineScript `math.sum` / `ta.sma` / `ta.stdev` /\n * `ta.variance` (bit for bit).\n *\n * PineScript does not sum the window again on each bar. It keeps a compensated (Kahan) running sum:\n * - each bar first removes, with a Kahan step, the compensated value that was added for the value that leaves the\n * window, then adds the new value with a Kahan step and keeps its compensated value;\n * - when the compensation of the previous step would be lost when applied to the new value, the sum is computed\n * again from the window values (newest first) and the compensation is reset. The test rounds on the grid of the\n * new value toward +infinity: for a negative power of two, the finer grid of the binade below (#136).\n *\n * So the result can differ from the exact window sum in the last bits (e.g. a small residue on a window of zeros),\n * as in PineScript.\n *\n * @internal\n */\n\nconst view = new DataView(new ArrayBuffer(8));\n\n/** Binary exponent of a finite non-zero number (from its bits). */\nfunction exponentOf(x: number): number {\n view.setFloat64(0, x);\n const e = (view.getUint16(0) >> 4) & 0x7ff;\n return e === 0 ? -1074 : e - 1023;\n}\n\n/**\n * Distance from a finite non-zero `x` to the next number toward +infinity: the spacing of the binade of `x`, or half\n * of it when `x` is a negative power of two (the next number up is in the binade below).\n */\nfunction spacingUp(x: number): number {\n const e = exponentOf(x);\n const powerOfTwo = (view.getUint16(0) & 0xf) === 0 && view.getUint16(2) === 0 && view.getUint32(4) === 0;\n return 2 ** (e - (x < 0 && powerOfTwo && e > -1022 ? 53 : 52));\n}\n\n/**\n * Whether the compensation `c` is (partly) lost when it is applied to `x`: `x - c` rounded on the grid of `x`\n * (spacing {@link spacingUp}, ties to an even mantissa) applies less than `c`.\n */\nfunction compensationLost(x: number, c: number): boolean {\n if (c === 0 || x === 0) return false;\n const ulp = spacingUp(x);\n const q = c / ulp;\n const mantissa = x / ulp;\n const f = Math.floor(q);\n const d = q - f;\n // parity of mantissa - f from each part: the mantissa can be 2^53 (half spacing), where mantissa - f is not exact\n const applied = d > 0.5 ? f + 1 : d < 0.5 ? f : Math.abs(mantissa % 2) === Math.abs(f % 2) ? f : f + 1;\n return Math.abs(applied) < Math.abs(q);\n}\n\n/** A value PineScript treats as na in window functions (also +/-Infinity). */\nfunction isNa(v: number | null | undefined): boolean {\n return v === undefined || v === null || !Number.isFinite(v);\n}\n\n/**\n * The sum of the last `length` non-na values on each bar, as PineScript computes it.\n *\n * @param source - Values (na: NaN, null, undefined or +/-Infinity, skipped)\n * @param length - Number of non-na values in the window\n * @returns The running sum per bar: NaN until `length` non-na values exist; a bar with an na value keeps the\n * previous result\n */\nexport function runningSum(source: ArrayLike<number | null | undefined>, length: number): number[] {\n const len = Math.floor(length);\n const out: number[] = new Array<number>(source.length).fill(NaN);\n if (!(len >= 1)) return out;\n const values: number[] = [];\n const stored: number[] = [];\n let s = 0;\n let c = 0;\n let previous = NaN;\n const kahanAdd = (v: number): number => {\n const y = v - c;\n const t = s + y;\n c = (t - s) - y;\n s = t;\n return y;\n };\n for (let i = 0; i < source.length; i++) {\n const v = source[i];\n if (isNa(v)) {\n out[i] = previous;\n continue;\n }\n const x = v as number;\n const c0 = c;\n const n = values.length;\n if (n >= len) kahanAdd(-stored[n - len]!);\n values.push(x);\n if (compensationLost(x, c0)) {\n let fresh = 0;\n for (let k = values.length - 1; k >= Math.max(0, values.length - len); k--) fresh += values[k]!;\n s = fresh;\n c = 0;\n stored.push(x);\n } else {\n stored.push(kahanAdd(x));\n }\n previous = values.length >= len ? s : NaN;\n out[i] = previous;\n }\n return out;\n}\n\n/**\n * Window variance from the running sums of the values and of their squares, as PineScript computes it:\n * biased `sumSq / n - mean * mean`, unbiased `sumSq / (n - 1) - mean * sum / (n - 1)`, with `mean = sum / n`.\n */\nexport function runningVariance(\n source: ArrayLike<number | null | undefined>,\n length: number,\n biased: boolean\n): number[] {\n const len = Math.floor(length);\n const squares = Array.from({ length: source.length }, (_, i) => {\n const v = source[i];\n return isNa(v) ? NaN : (v as number) * (v as number);\n });\n const sums = runningSum(source, len);\n const sumSquares = runningSum(squares, len);\n return sums.map((sum, i) => {\n const mean = sum / len;\n const sq = sumSquares[i]!;\n return biased ? sq / len - mean * mean : sq / (len - 1) - (mean * sum) / (len - 1);\n });\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -465,6 +465,8 @@ export declare function binary_search(id: PineArray<float>, val: float): int;
465
465
  * - Array must be sorted in ascending order
466
466
  * - For duplicate values, returns leftmost occurrence
467
467
  * - When value not found, returns position of next smaller element
468
+ * - PineScript rules: a value below every element gives 0; `na` counts as greater than every number (an array
469
+ * without na gives `size - 1`); the comparison is exact (no 1e-10 tolerance)
468
470
  */
469
471
  export declare function binary_search_leftmost(id: PineArray<float>, val: float): int;
470
472
  /**
@@ -495,6 +497,8 @@ export declare function binary_search_leftmost(id: PineArray<float>, val: float)
495
497
  * - Array must be sorted in ascending order
496
498
  * - For duplicate values, returns rightmost occurrence
497
499
  * - When value not found, returns position of next larger element
500
+ * - PineScript rules: a value above every element gives `size` (the position after the last element); `na` counts
501
+ * as greater than every number (an array without na gives `size`); the comparison is exact (no 1e-10 tolerance)
498
502
  */
499
503
  export declare function binary_search_rightmost(id: PineArray<float>, val: float): int;
500
504
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"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"}
@@ -608,32 +608,38 @@ export function binary_search(id, val) {
608
608
  * - Array must be sorted in ascending order
609
609
  * - For duplicate values, returns leftmost occurrence
610
610
  * - When value not found, returns position of next smaller element
611
+ * - PineScript rules: a value below every element gives 0; `na` counts as greater than every number (an array
612
+ * without na gives `size - 1`); the comparison is exact (no 1e-10 tolerance)
611
613
  */
612
614
  export function binary_search_leftmost(id, val) {
613
- let left = 0;
614
- let right = id.length - 1;
615
- let result = -1;
616
- let found = false;
617
- while (left <= right) {
618
- const mid = Math.floor((left + right) / 2);
619
- if (id[mid] < val) {
620
- if (!found) {
621
- result = mid; // Track the last element smaller than val (only if not found)
622
- }
623
- left = mid + 1;
624
- }
625
- else if (id[mid] === val) {
626
- result = mid;
627
- found = true;
628
- // Continue searching to the left for leftmost occurrence
629
- right = mid - 1;
630
- }
631
- else {
632
- // id[mid] > val
633
- right = mid - 1;
634
- }
615
+ if (id.length === 0)
616
+ return -1;
617
+ const at = searchBound(id, val, false);
618
+ return at < id.length && compareSorted(id[at], val) === 0 ? at : Math.max(0, at - 1);
619
+ }
620
+ /**
621
+ * Order of the PineScript binary searches: numbers in ascending order, na above every number (equal to na).
622
+ */
623
+ function compareSorted(a, b) {
624
+ const an = Number.isNaN(a);
625
+ const bn = Number.isNaN(b);
626
+ if (an || bn)
627
+ return an === bn ? 0 : an ? 1 : -1;
628
+ return a < b ? -1 : a > b ? 1 : 0;
629
+ }
630
+ /** First index whose element is >= `val` (`after` false) or > `val` (`after` true); `id.length` when none. */
631
+ function searchBound(id, val, after) {
632
+ let lo = 0;
633
+ let hi = id.length;
634
+ while (lo < hi) {
635
+ const mid = (lo + hi) >>> 1;
636
+ const c = compareSorted(id[mid], val);
637
+ if (c < 0 || (after && c === 0))
638
+ lo = mid + 1;
639
+ else
640
+ hi = mid;
635
641
  }
636
- return result;
642
+ return lo;
637
643
  }
638
644
  /**
639
645
  * Binary Search Rightmost
@@ -663,31 +669,14 @@ export function binary_search_leftmost(id, val) {
663
669
  * - Array must be sorted in ascending order
664
670
  * - For duplicate values, returns rightmost occurrence
665
671
  * - When value not found, returns position of next larger element
672
+ * - PineScript rules: a value above every element gives `size` (the position after the last element); `na` counts
673
+ * as greater than every number (an array without na gives `size`); the comparison is exact (no 1e-10 tolerance)
666
674
  */
667
675
  export function binary_search_rightmost(id, val) {
668
- let left = 0;
669
- let right = id.length - 1;
670
- let result = -1;
671
- let found = false;
672
- while (left <= right) {
673
- const mid = Math.floor((left + right) / 2);
674
- if (id[mid] <= val) {
675
- if (id[mid] === val) {
676
- result = mid;
677
- found = true;
678
- }
679
- // Continue searching to the right for rightmost occurrence
680
- left = mid + 1;
681
- }
682
- else {
683
- // id[mid] > val
684
- if (!found) {
685
- result = mid; // Track the first element greater than val (only if not found)
686
- }
687
- right = mid - 1;
688
- }
689
- }
690
- return result;
676
+ if (id.length === 0)
677
+ return -1;
678
+ const at = searchBound(id, val, true);
679
+ return at > 0 && compareSorted(id[at - 1], val) === 0 ? at - 1 : at;
691
680
  }
692
681
  /**
693
682
  * Covariance
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@
11
11
  * loops, called only on the bars where the Pine call runs.
12
12
  * - {@link lowest} / {@link highest}: `ta.lowest` / `ta.highest` with a series length (a different length on each
13
13
  * call), which PineScript computes with a state kept between calls.
14
- * - {@link linreg}: `ta.linreg` in a conditional block, whose window is kept by bar (not by call).
14
+ * - {@link lowestByBar} / {@link highestByBar} / {@link linreg}: `ta.lowest` / `ta.highest` / `ta.linreg` in a
15
+ * conditional block, whose history is kept by bar (not by call).
15
16
  *
16
17
  * Since PineScript v6, `and` / `or` are lazy: the right operand runs only when the left operand does not decide
17
18
  * the result. A ta.* call in the right operand of `a or b` runs on the bars where `a` is false, in `a and b` on the
@@ -50,16 +51,25 @@ import type { Source } from '../types/index.js';
50
51
  * @param sources - the arguments of the call, one value per chart bar
51
52
  */
52
53
  export declare function whenCalled<T extends number | boolean>(called: ArrayLike<boolean | number>, fn: (...values: number[][]) => ArrayLike<T>, ...sources: Source[]): Array<T | number>;
53
- /** One `ta.crossover(a, b)` call site: false on its first call, as its history is na. */
54
+ /**
55
+ * One `ta.crossover(a, b)` call site: compared with the last call where both arguments were not na; false before
56
+ * such a call.
57
+ */
54
58
  export declare function crossover(): (a: number, b: number) => boolean;
55
- /** One `ta.crossunder(a, b)` call site: false on its first call, as its history is na. */
59
+ /**
60
+ * One `ta.crossunder(a, b)` call site: compared with the last call where both arguments were not na; false before
61
+ * such a call.
62
+ */
56
63
  export declare function crossunder(): (a: number, b: number) => boolean;
57
64
  /**
58
65
  * One `ta.barssince(condition)` call site: the number of calls since the condition was true on a call (0 on that
59
66
  * call), na before the first true condition. An na condition counts as false.
60
67
  */
61
68
  export declare function barssince(): (condition: boolean | number) => number;
62
- /** One `ta.cross(a, b)` call site: false on its first call, as its history is na. */
69
+ /**
70
+ * One `ta.cross(a, b)` call site: compared with the last call where both arguments were not na; false before such
71
+ * a call.
72
+ */
63
73
  export declare function cross(): (a: number, b: number) => boolean;
64
74
  /**
65
75
  * One `ta.lowest(source, length)` call site with a series length (a different length on each call), called with
@@ -86,6 +96,35 @@ export declare function lowest(): (value: number, length: number) => number;
86
96
  * `(value, length)`. Same rules as {@link lowest}.
87
97
  */
88
98
  export declare function highest(): (value: number, length: number) => number;
99
+ /**
100
+ * One `ta.lowest(source, length)` call site in a conditional block whose history is kept by bar (not by call), called
101
+ * with `(barIndex, value, length)` on the bars where the Pine call runs.
102
+ *
103
+ * PineScript rules (measured on a call in a ternary branch, length 6):
104
+ * - the values are kept in a ring of `length + 1` slots indexed by the bar index, filled with 0 at the start and
105
+ * written only on the bars where the call runs: a bar before the first call counts as 0, and a bar without a call
106
+ * holds the value of the call `length + 1` bars earlier (0 if there was none)
107
+ * - on a call, the value replaces the kept extreme when there is none or when it is strictly lower; only otherwise,
108
+ * when the kept extreme is `length` bars old, the last `length` bars are read again from the ring (the oldest bar
109
+ * wins a tie)
110
+ * - na before bar `length - 1` (by bar, not by call)
111
+ *
112
+ * {@link lowest} keeps the history by call instead; both rules were measured, on different scripts.
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * // Pine: lo = cond ? ta.lowest(low, 6) : na
117
+ * const site = callsite.lowestByBar();
118
+ * const lo = lows.map((v, i) => (cond[i] ? site(i, v, 6) : NaN));
119
+ * ```
120
+ */
121
+ export declare function lowestByBar(): (barIndex: number, value: number, length: number) => number;
122
+ /**
123
+ * One `ta.highest(source, length)` call site in a conditional block whose history is kept by bar, called with
124
+ * `(barIndex, value, length)`. Same rules as {@link lowestByBar} (a value replaces the kept extreme when it is
125
+ * strictly higher).
126
+ */
127
+ export declare function highestByBar(): (barIndex: number, value: number, length: number) => number;
89
128
  /**
90
129
  * One `ta.linreg(source, length, offset)` call site in a conditional block, called with
91
130
  * `(barIndex, value, length, offset)` on the bars where the Pine call runs.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EACnD,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,EACnC,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAC3C,GAAG,OAAO,EAAE,MAAM,EAAE,GACnB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CASnB;AAcD,yFAAyF;AACzF,wBAAgB,SAAS,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAE7D;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK,MAAM,CAOnE;AAED,qFAAqF;AACrF,wBAAgB,KAAK,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAEzD;AA2CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAEnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAUrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EACnD,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,EACnC,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAC3C,GAAG,OAAO,EAAE,MAAM,EAAE,GACnB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CASnB;AAmBD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAE7D;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK,MAAM,CAOnE;AAED;;;GAGG;AACH,wBAAgB,KAAK,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAEzD;AA2CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAEnE;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAEzF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAE1F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAUrG"}
@@ -11,7 +11,8 @@
11
11
  * loops, called only on the bars where the Pine call runs.
12
12
  * - {@link lowest} / {@link highest}: `ta.lowest` / `ta.highest` with a series length (a different length on each
13
13
  * call), which PineScript computes with a state kept between calls.
14
- * - {@link linreg}: `ta.linreg` in a conditional block, whose window is kept by bar (not by call).
14
+ * - {@link lowestByBar} / {@link highestByBar} / {@link linreg}: `ta.lowest` / `ta.highest` / `ta.linreg` in a
15
+ * conditional block, whose history is kept by bar (not by call).
15
16
  *
16
17
  * Since PineScript v6, `and` / `or` are lazy: the right operand runs only when the left operand does not decide
17
18
  * the result. A ta.* call in the right operand of `a or b` runs on the bars where `a` is false, in `a and b` on the
@@ -61,22 +62,33 @@ export function whenCalled(called, fn, ...sources) {
61
62
  });
62
63
  return out;
63
64
  }
64
- /** A call site that keeps the two previous arguments (na before the first call). */
65
+ /**
66
+ * A call site that keeps the arguments of the last call where both were not na (na before such a call), as
67
+ * ta.crossover / ta.crossunder / ta.cross.
68
+ */
65
69
  function twoSeriesSite(test) {
66
70
  let prevA = NaN;
67
71
  let prevB = NaN;
68
72
  return (a, b) => {
69
73
  const result = test(a, b, prevA, prevB);
70
- prevA = a;
71
- prevB = b;
74
+ if (!Number.isNaN(a) && !Number.isNaN(b)) {
75
+ prevA = a;
76
+ prevB = b;
77
+ }
72
78
  return result;
73
79
  };
74
80
  }
75
- /** One `ta.crossover(a, b)` call site: false on its first call, as its history is na. */
81
+ /**
82
+ * One `ta.crossover(a, b)` call site: compared with the last call where both arguments were not na; false before
83
+ * such a call.
84
+ */
76
85
  export function crossover() {
77
86
  return twoSeriesSite((a, b, pa, pb) => a > b && pa <= pb);
78
87
  }
79
- /** One `ta.crossunder(a, b)` call site: false on its first call, as its history is na. */
88
+ /**
89
+ * One `ta.crossunder(a, b)` call site: compared with the last call where both arguments were not na; false before
90
+ * such a call.
91
+ */
80
92
  export function crossunder() {
81
93
  return twoSeriesSite((a, b, pa, pb) => a < b && pa >= pb);
82
94
  }
@@ -94,7 +106,10 @@ export function barssince() {
94
106
  return count;
95
107
  };
96
108
  }
97
- /** One `ta.cross(a, b)` call site: false on its first call, as its history is na. */
109
+ /**
110
+ * One `ta.cross(a, b)` call site: compared with the last call where both arguments were not na; false before such
111
+ * a call.
112
+ */
98
113
  export function cross() {
99
114
  return twoSeriesSite((a, b, pa, pb) => (a > b && pa <= pb) || (a < b && pa >= pb));
100
115
  }
@@ -175,6 +190,69 @@ export function lowest() {
175
190
  export function highest() {
176
191
  return extremeSite(false);
177
192
  }
193
+ /** One `ta.lowest` / `ta.highest` call site whose history is kept by bar; rules in {@link lowestByBar}. */
194
+ function extremeByBarSite(isLowest) {
195
+ const better = isLowest ? (a, b) => a < b : (a, b) => a > b;
196
+ let ring = [];
197
+ let extreme = NaN;
198
+ let extremeAt = -1;
199
+ return (barIndex, value, length) => {
200
+ const len = Math.floor(length);
201
+ if (ring.length !== len + 1) {
202
+ ring = new Array(len + 1).fill(0);
203
+ extreme = NaN;
204
+ }
205
+ ring[barIndex % (len + 1)] = value;
206
+ if (Number.isNaN(extreme) || better(value, extreme)) {
207
+ extreme = value;
208
+ extremeAt = barIndex;
209
+ }
210
+ else if (barIndex - extremeAt >= len) {
211
+ extreme = NaN;
212
+ for (let b = barIndex - len + 1; b <= barIndex; b++) {
213
+ const v = ring[b % (len + 1)];
214
+ if (!Number.isNaN(v) && (Number.isNaN(extreme) || better(v, extreme))) {
215
+ extreme = v;
216
+ extremeAt = b;
217
+ }
218
+ }
219
+ }
220
+ return barIndex < len - 1 ? NaN : extreme;
221
+ };
222
+ }
223
+ /**
224
+ * One `ta.lowest(source, length)` call site in a conditional block whose history is kept by bar (not by call), called
225
+ * with `(barIndex, value, length)` on the bars where the Pine call runs.
226
+ *
227
+ * PineScript rules (measured on a call in a ternary branch, length 6):
228
+ * - the values are kept in a ring of `length + 1` slots indexed by the bar index, filled with 0 at the start and
229
+ * written only on the bars where the call runs: a bar before the first call counts as 0, and a bar without a call
230
+ * holds the value of the call `length + 1` bars earlier (0 if there was none)
231
+ * - on a call, the value replaces the kept extreme when there is none or when it is strictly lower; only otherwise,
232
+ * when the kept extreme is `length` bars old, the last `length` bars are read again from the ring (the oldest bar
233
+ * wins a tie)
234
+ * - na before bar `length - 1` (by bar, not by call)
235
+ *
236
+ * {@link lowest} keeps the history by call instead; both rules were measured, on different scripts.
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * // Pine: lo = cond ? ta.lowest(low, 6) : na
241
+ * const site = callsite.lowestByBar();
242
+ * const lo = lows.map((v, i) => (cond[i] ? site(i, v, 6) : NaN));
243
+ * ```
244
+ */
245
+ export function lowestByBar() {
246
+ return extremeByBarSite(true);
247
+ }
248
+ /**
249
+ * One `ta.highest(source, length)` call site in a conditional block whose history is kept by bar, called with
250
+ * `(barIndex, value, length)`. Same rules as {@link lowestByBar} (a value replaces the kept extreme when it is
251
+ * strictly higher).
252
+ */
253
+ export function highestByBar() {
254
+ return extremeByBarSite(false);
255
+ }
178
256
  /**
179
257
  * One `ta.linreg(source, length, offset)` call site in a conditional block, called with
180
258
  * `(barIndex, value, length, offset)` on the bars where the Pine call runs.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export type * from './strategy/index.js';
54
54
  export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
55
55
  export type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';
56
56
  export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
57
- export declare const VERSION = "0.9.4";
57
+ export declare const VERSION = "0.9.5";
58
58
  /**
59
59
  * Library information
60
60
  */
package/dist/esm/index.js CHANGED
@@ -61,7 +61,7 @@ export { STRATEGY_CONSTANTS, STRATEGY_DEFAULTS, STRATEGY_NUMBER_VARIABLES, STRAT
61
61
  export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
62
62
  export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
63
63
  // Version
64
- export const VERSION = '0.9.4';
64
+ export const VERSION = '0.9.5';
65
65
  /**
66
66
  * Library information
67
67
  */
@@ -512,12 +512,13 @@ export declare function random(min?: float, max?: float, _seed?: int): float;
512
512
  * Returns the sign of a number.
513
513
  *
514
514
  * @param value - The number to check or Series
515
- * @returns 1 for positive, -1 for negative, 0 for zero
515
+ * @returns 1 for positive, -1 for negative, 0 for zero, na for na
516
516
  *
517
517
  * @remarks
518
518
  * - Returns 1 if value > 0
519
519
  * - Returns -1 if value < 0
520
520
  * - Returns 0 if value = 0
521
+ * - Returns na if value is na (as PineScript)
521
522
  * - Useful for determining direction or polarity
522
523
  * - If value is a Series, returns a Series; if value is a number, returns a number
523
524
  *
@@ -527,6 +528,7 @@ export declare function random(min?: float, max?: float, _seed?: int): float;
527
528
  * math.sign(-3) // Returns: -1
528
529
  * math.sign(0) // Returns: 0
529
530
  * math.sign(0.001) // Returns: 1
531
+ * math.sign(NaN) // Returns: NaN
530
532
  * ```
531
533
  */
532
534
  export declare function sign(value: Series): Series;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/math/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;AAmBxC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC7C,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;AAC9D,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC;AA+B5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,CA4BjE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,CA4BjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,CA6BjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;AAChE,wBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;AAgB5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmB1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;AAC3D,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3D,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5D,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;AA0BzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC7C,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmB3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3C,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmB1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmB1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AAmB1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AACnD,wBAAgB,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AACnD,wBAAgB,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;AAmBjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAQnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAC5C,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;AAmBxC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;AAC1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;AAuDxE,eAAO,MAAM,EAAE,QAAU,CAAC;AAC1B,eAAO,MAAM,CAAC,QAAS,CAAC;AACxB,eAAO,MAAM,GAAG,oBAAoB,CAAC;AACrC,eAAO,MAAM,IAAI,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/math/index.ts"],"names":[],"mappings":"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"}