@mirascript/mirascript 0.1.44 → 0.1.46

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 (58) hide show
  1. package/dist/{chunk-CQ42UDMB.js → chunk-CZOIPBED.js} +244 -126
  2. package/dist/chunk-CZOIPBED.js.map +6 -0
  3. package/dist/{chunk-VSUYGID4.js → chunk-UI6VQ263.js} +99 -31
  4. package/dist/{chunk-VSUYGID4.js.map → chunk-UI6VQ263.js.map} +1 -1
  5. package/dist/compiler/diagnostic.d.ts +4 -0
  6. package/dist/compiler/diagnostic.d.ts.map +1 -1
  7. package/dist/compiler/emit/index.d.ts +2 -0
  8. package/dist/compiler/emit/index.d.ts.map +1 -1
  9. package/dist/compiler/worker.js +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/subtle.js +6 -2
  12. package/dist/subtle.js.map +1 -1
  13. package/dist/vm/lib/global/index.d.ts +1 -1
  14. package/dist/vm/lib/global/index.d.ts.map +1 -1
  15. package/dist/vm/lib/global/math/arr.d.ts +7 -0
  16. package/dist/vm/lib/global/math/arr.d.ts.map +1 -0
  17. package/dist/vm/lib/global/math/const.d.ts +31 -0
  18. package/dist/vm/lib/global/math/const.d.ts.map +1 -0
  19. package/dist/vm/lib/global/math/gamma.d.ts +3 -0
  20. package/dist/vm/lib/global/math/gamma.d.ts.map +1 -0
  21. package/dist/vm/lib/global/math/index.d.ts +8 -0
  22. package/dist/vm/lib/global/math/index.d.ts.map +1 -0
  23. package/dist/vm/lib/global/math/unary.d.ts +28 -0
  24. package/dist/vm/lib/global/math/unary.d.ts.map +1 -0
  25. package/dist/vm/operations/common.d.ts +2 -2
  26. package/dist/vm/operations/common.d.ts.map +1 -1
  27. package/dist/vm/operations/helpers.d.ts +7 -2
  28. package/dist/vm/operations/helpers.d.ts.map +1 -1
  29. package/dist/vm/operations/type-check.d.ts +1 -1
  30. package/dist/vm/operations/type-check.d.ts.map +1 -1
  31. package/dist/vm/types/function.d.ts +2 -2
  32. package/dist/vm/types/function.d.ts.map +1 -1
  33. package/package.json +5 -5
  34. package/src/compiler/diagnostic.ts +56 -31
  35. package/src/compiler/emit/index.ts +50 -0
  36. package/src/vm/lib/global/index.ts +1 -1
  37. package/src/vm/lib/global/{math-arr.ts → math/arr.ts} +2 -2
  38. package/src/vm/lib/global/{math-const.ts → math/const.ts} +1 -1
  39. package/src/vm/lib/global/math/gamma.ts +245 -0
  40. package/src/vm/lib/global/{math.ts → math/index.ts} +5 -5
  41. package/src/vm/lib/global/{math-unary.ts → math/unary.ts} +2 -2
  42. package/src/vm/lib/global/string.ts +1 -1
  43. package/src/vm/operations/common.ts +2 -2
  44. package/src/vm/operations/helpers.ts +16 -3
  45. package/src/vm/operations/type-check.ts +1 -1
  46. package/src/vm/types/function.ts +3 -2
  47. package/dist/chunk-CQ42UDMB.js.map +0 -6
  48. package/dist/vm/lib/global/math-additional.d.ts +0 -2
  49. package/dist/vm/lib/global/math-additional.d.ts.map +0 -1
  50. package/dist/vm/lib/global/math-arr.d.ts +0 -7
  51. package/dist/vm/lib/global/math-arr.d.ts.map +0 -1
  52. package/dist/vm/lib/global/math-const.d.ts +0 -31
  53. package/dist/vm/lib/global/math-const.d.ts.map +0 -1
  54. package/dist/vm/lib/global/math-unary.d.ts +0 -28
  55. package/dist/vm/lib/global/math-unary.d.ts.map +0 -1
  56. package/dist/vm/lib/global/math.d.ts +0 -8
  57. package/dist/vm/lib/global/math.d.ts.map +0 -1
  58. package/src/vm/lib/global/math-additional.ts +0 -69
@@ -46,7 +46,7 @@ import {
46
46
  parseDiagnostics,
47
47
  toString,
48
48
  values
49
- } from "./chunk-VSUYGID4.js";
49
+ } from "./chunk-UI6VQ263.js";
50
50
 
51
51
  // src/compiler/load-module.ts
52
52
  import { loadModule } from "@mirascript/bindings";
@@ -124,7 +124,7 @@ function toNumber(value, fallback) {
124
124
  // src/helpers/convert/to-format.ts
125
125
  function formatNumber(finite) {
126
126
  if (finite === 0) return "0";
127
- const s = finite.toString();
127
+ const s2 = finite.toString();
128
128
  let ps;
129
129
  const abs3 = Math.abs(finite);
130
130
  if (abs3 >= 1e3 || abs3 < 1e-3) {
@@ -134,7 +134,7 @@ function formatNumber(finite) {
134
134
  } else {
135
135
  ps = finite.toPrecision(6);
136
136
  }
137
- return ps.length < s.length ? ps : s;
137
+ return ps.length < s2.length ? ps : s2;
138
138
  }
139
139
  function toFormat(value, format2) {
140
140
  const f = format2 == null ? "" : format2.trim();
@@ -460,40 +460,6 @@ var VmExtern = class extends VmWrapper {
460
460
  };
461
461
  Object.defineProperty(VmExtern.prototype, kVmExtern, { value: true });
462
462
 
463
- // src/vm/types/module.ts
464
- var VmModule = class extends VmWrapper {
465
- constructor(name, value) {
466
- super(value);
467
- this.name = name;
468
- }
469
- /** @inheritdoc */
470
- has(key) {
471
- return hasOwnEnumerable(this.value, key);
472
- }
473
- /** @inheritdoc */
474
- get(key) {
475
- if (!this.has(key)) return void 0;
476
- return this.value[key] ?? null;
477
- }
478
- /** @inheritdoc */
479
- keys() {
480
- return keys(this.value);
481
- }
482
- /** @inheritdoc */
483
- same(other) {
484
- return this === other;
485
- }
486
- /** @inheritdoc */
487
- get type() {
488
- return "module";
489
- }
490
- /** @inheritdoc */
491
- get tag() {
492
- return this.name;
493
- }
494
- };
495
- Object.defineProperty(VmModule.prototype, kVmModule, { value: true });
496
-
497
463
  // src/vm/checkpoint.ts
498
464
  var { now } = Date;
499
465
  var TIME_ORIGIN = now() - 1e3 * 3600 * 12;
@@ -780,6 +746,40 @@ function createVmContext(arg0 = null, arg1 = null, describer = null) {
780
746
  return new Value2VmContext(vmValues, externValues, describer);
781
747
  }
782
748
 
749
+ // src/vm/types/module.ts
750
+ var VmModule = class extends VmWrapper {
751
+ constructor(name, value) {
752
+ super(value);
753
+ this.name = name;
754
+ }
755
+ /** @inheritdoc */
756
+ has(key) {
757
+ return hasOwnEnumerable(this.value, key);
758
+ }
759
+ /** @inheritdoc */
760
+ get(key) {
761
+ if (!this.has(key)) return void 0;
762
+ return this.value[key] ?? null;
763
+ }
764
+ /** @inheritdoc */
765
+ keys() {
766
+ return keys(this.value);
767
+ }
768
+ /** @inheritdoc */
769
+ same(other) {
770
+ return this === other;
771
+ }
772
+ /** @inheritdoc */
773
+ get type() {
774
+ return "module";
775
+ }
776
+ /** @inheritdoc */
777
+ get tag() {
778
+ return this.name;
779
+ }
780
+ };
781
+ Object.defineProperty(VmModule.prototype, kVmModule, { value: true });
782
+
783
783
  // src/vm/operations/index.ts
784
784
  var operations_exports = {};
785
785
  __export(operations_exports, {
@@ -818,6 +818,7 @@ __export(operations_exports, {
818
818
  $Lt: () => $Lt,
819
819
  $Lte: () => $Lte,
820
820
  $Mod: () => $Mod,
821
+ $Module: () => $Module,
821
822
  $Mul: () => $Mul,
822
823
  $Naeq: () => $Naeq,
823
824
  $Neg: () => $Neg,
@@ -1073,19 +1074,26 @@ var sliceCore = (value, start, end, exclusive) => {
1073
1074
  function $Slice(value, start, end) {
1074
1075
  $AssertInit(value);
1075
1076
  if (!isVmArray(value)) throw new VmError(`Expected array, got ${display(value)}`, []);
1076
- const s = start != null ? $ToNumber(start) : 0;
1077
+ const s2 = start != null ? $ToNumber(start) : 0;
1077
1078
  const e2 = end != null ? $ToNumber(end) : value.length - 1;
1078
- return sliceCore(value, s, e2, false);
1079
+ return sliceCore(value, s2, e2, false);
1079
1080
  }
1080
1081
  function $SliceExclusive(value, start, end) {
1081
1082
  $AssertInit(value);
1082
1083
  if (!isVmArray(value)) throw new VmError(`Expected array, got ${display(value)}`, []);
1083
- const s = start != null ? $ToNumber(start) : 0;
1084
+ const s2 = start != null ? $ToNumber(start) : 0;
1084
1085
  const e2 = end != null ? $ToNumber(end) : value.length;
1085
- return sliceCore(value, s, e2, true);
1086
+ return sliceCore(value, s2, e2, true);
1086
1087
  }
1087
1088
 
1088
1089
  // src/vm/operations/helpers.ts
1090
+ function $Module(name, body) {
1091
+ const mod = create(null);
1092
+ for (const [key, get] of entries(body)) {
1093
+ defineProperty(mod, key, { __proto__: null, get, enumerable: true });
1094
+ }
1095
+ return new VmModule(name, mod);
1096
+ }
1089
1097
  function $El(value) {
1090
1098
  $AssertInit(value);
1091
1099
  if (!isVmConst(value)) return null;
@@ -1113,23 +1121,23 @@ var isEmptyRange = (start, end) => {
1113
1121
  return !isFinite(start) || !isFinite(end) || start > end;
1114
1122
  };
1115
1123
  function $ArrayRange(start, end) {
1116
- const s = $ToNumber(start);
1124
+ const s2 = $ToNumber(start);
1117
1125
  const e2 = $ToNumber(end);
1118
- if (isEmptyRange(s, e2)) return [];
1119
- assertArrayLength(e2 - s + 1);
1126
+ if (isEmptyRange(s2, e2)) return [];
1127
+ assertArrayLength(e2 - s2 + 1);
1120
1128
  const arr = [];
1121
- for (let i = s; i <= e2; i++) {
1129
+ for (let i = s2; i <= e2; i++) {
1122
1130
  arr.push(i);
1123
1131
  }
1124
1132
  return arr;
1125
1133
  }
1126
1134
  function $ArrayRangeExclusive(start, end) {
1127
- const s = $ToNumber(start);
1135
+ const s2 = $ToNumber(start);
1128
1136
  const e2 = $ToNumber(end);
1129
- if (isEmptyRange(s, e2)) return [];
1130
- assertArrayLength(e2 - s);
1137
+ if (isEmptyRange(s2, e2)) return [];
1138
+ assertArrayLength(e2 - s2);
1131
1139
  const arr = [];
1132
- for (let i = s; i < e2; i++) {
1140
+ for (let i = s2; i < e2; i++) {
1133
1141
  arr.push(i);
1134
1142
  }
1135
1143
  return arr;
@@ -1378,6 +1386,7 @@ __export(global_exports, {
1378
1386
  floor: () => floor,
1379
1387
  format: () => format,
1380
1388
  from_json: () => from_json,
1389
+ gamma: () => gamma,
1381
1390
  hypot: () => hypot,
1382
1391
  join: () => join,
1383
1392
  keys: () => keys3,
@@ -1592,7 +1601,7 @@ function VmLib(value, option, properties) {
1592
1601
  return ret;
1593
1602
  }
1594
1603
 
1595
- // src/vm/lib/global/math-arr.ts
1604
+ // src/vm/lib/global/math/arr.ts
1596
1605
  function build(f) {
1597
1606
  return (...values4) => {
1598
1607
  const numbers = getNumbers(values4);
@@ -1647,7 +1656,7 @@ var product = VmLib(
1647
1656
  }
1648
1657
  );
1649
1658
 
1650
- // src/vm/lib/global/math-const.ts
1659
+ // src/vm/lib/global/math/const.ts
1651
1660
  import { DiagnosticCode as DiagnosticCode2 } from "@mirascript/constants";
1652
1661
  var PI = VmLib(Math.PI, {
1653
1662
  summary: "圆周率",
@@ -1698,7 +1707,7 @@ var LOG10E = VmLib(Math.LOG10E, {
1698
1707
  returnsType: "number"
1699
1708
  });
1700
1709
 
1701
- // src/vm/lib/global/math-unary.ts
1710
+ // src/vm/lib/global/math/unary.ts
1702
1711
  function build2(f) {
1703
1712
  return (x) => {
1704
1713
  return f(expectNumber("x", x));
@@ -1872,54 +1881,163 @@ var cbrt = VmLib(build2(Math.cbrt), {
1872
1881
  returnsType: "number"
1873
1882
  });
1874
1883
 
1875
- // src/vm/lib/global/math-additional.ts
1876
- var { sqrt: sqrt2, pow, exp: exp2 } = Math;
1877
- var GAMMA_G = 4.7421875;
1878
- var GAMMA_P = [
1879
- 0.9999999999999971,
1880
- 57.15623566586292,
1881
- -59.59796035547549,
1882
- 14.136097974741746,
1883
- -0.4919138160976202,
1884
- 3399464998481189e-20,
1885
- 4652362892704858e-20,
1886
- -9837447530487956e-20,
1887
- 1580887032249125e-19,
1888
- -21026444172410488e-20,
1889
- 21743961811521265e-20,
1890
- -1643181065367639e-19,
1891
- 8441822398385275e-20,
1892
- -26190838401581408e-21,
1893
- 36899182659531625e-22
1884
+ // src/vm/lib/global/math/gamma.ts
1885
+ var { PI: PI2, exp: exp2, floor: floor2, cos: cos2, sin: sin2, pow, trunc: trunc3 } = Math;
1886
+ var MEM = new DataView(new ArrayBuffer(8));
1887
+ function f64ToBits(value) {
1888
+ MEM.setFloat64(0, value, false);
1889
+ return MEM.getBigUint64(0, false);
1890
+ }
1891
+ function f64FromBits(bits) {
1892
+ MEM.setBigUint64(0, bits, false);
1893
+ return MEM.getFloat64(0, false);
1894
+ }
1895
+ function sinpi(x) {
1896
+ x = x * 0.5;
1897
+ x = 2 * (x - floor2(x));
1898
+ let n = trunc3(4 * x);
1899
+ n = trunc3((n + 1) / 2);
1900
+ x -= n * 0.5;
1901
+ x *= PI2;
1902
+ switch (n) {
1903
+ case 1:
1904
+ return cos2(x);
1905
+ case 2:
1906
+ return sin2(-x);
1907
+ case 3:
1908
+ return -cos2(x);
1909
+ default:
1910
+ return sin2(x);
1911
+ }
1912
+ }
1913
+ var N = 12;
1914
+ var GMHALF = 5.52468004077673;
1915
+ var SNUM = [
1916
+ 2353137688041076e-5,
1917
+ 429198036426491e-4,
1918
+ 3571195923735567e-5,
1919
+ 1792103442603721e-5,
1920
+ 6039542586352028e-6,
1921
+ 14397204073117216e-7,
1922
+ 24887455786205417e-8,
1923
+ 31426415585400194e-9,
1924
+ 2.8763706289353725e6,
1925
+ 186056.26539522348,
1926
+ 8071.672002365816,
1927
+ 210.82427775157936,
1928
+ 2.5066282746310002
1894
1929
  ];
1895
- var SQRT_2_PI = sqrt2(2 * Math.PI);
1930
+ var SDEN = [
1931
+ 0,
1932
+ 39916800,
1933
+ 120543840,
1934
+ 150917976,
1935
+ 105258076,
1936
+ 45995730,
1937
+ 13339535,
1938
+ 2637558,
1939
+ 357423,
1940
+ 32670,
1941
+ 1925,
1942
+ 66,
1943
+ 1
1944
+ ];
1945
+ function s(x) {
1946
+ let num2 = 0;
1947
+ let den = 0;
1948
+ if (x < 8) {
1949
+ for (let i = N; i >= 0; i--) {
1950
+ num2 = num2 * x + SNUM[i];
1951
+ den = den * x + SDEN[i];
1952
+ }
1953
+ } else {
1954
+ for (let i = 0; i <= N; i++) {
1955
+ num2 = num2 / x + SNUM[i];
1956
+ den = den / x + SDEN[i];
1957
+ }
1958
+ }
1959
+ return num2 / den;
1960
+ }
1961
+ function tgamma(x) {
1962
+ const u = f64ToBits(x);
1963
+ const ix = Number(u >> 32n & 0x7fffffffn);
1964
+ const sign2 = u >> 63n !== 0n;
1965
+ if (ix >= 2146435072) {
1966
+ return x + PositiveInfinity;
1967
+ }
1968
+ if (ix < 1023 - 54 << 20) {
1969
+ return 1 / x;
1970
+ }
1971
+ if (x === floor2(x)) {
1972
+ if (sign2) {
1973
+ return NotNumber;
1974
+ }
1975
+ if (x <= FACT_MAX) {
1976
+ return fact(trunc3(x) - 1);
1977
+ }
1978
+ }
1979
+ if (ix >= 1080492032) {
1980
+ if (sign2) {
1981
+ if (floor2(x) * 0.5 === floor2(x * 0.5)) {
1982
+ return 0;
1983
+ } else {
1984
+ return -0;
1985
+ }
1986
+ }
1987
+ const x1p1023 = f64FromBits(0x7fe0000000000000n);
1988
+ return x * x1p1023;
1989
+ }
1990
+ const absx = sign2 ? -x : x;
1991
+ const y = absx + GMHALF;
1992
+ let dy;
1993
+ if (absx > GMHALF) {
1994
+ dy = y - absx;
1995
+ dy -= GMHALF;
1996
+ } else {
1997
+ dy = y - GMHALF;
1998
+ dy -= absx;
1999
+ }
2000
+ let z = absx - 0.5;
2001
+ let r = s(absx) * exp2(-y);
2002
+ if (x < 0) {
2003
+ r = -PI2 / (sinpi(absx) * absx * r);
2004
+ dy = -dy;
2005
+ z = -z;
2006
+ }
2007
+ r += dy * (GMHALF + 0.5) * r / y;
2008
+ const zHalf = pow(y, 0.5 * z);
2009
+ return r * zHalf * zHalf;
2010
+ }
2011
+ var gamma = VmLib(
2012
+ (x) => {
2013
+ const n = expectNumber("x", x);
2014
+ return tgamma(n);
2015
+ },
2016
+ {
2017
+ summary: "返回 Gamma 函数的值",
2018
+ params: { x: "要计算 Gamma 函数的数值" },
2019
+ paramsType: { x: "number" },
2020
+ returnsType: "number",
2021
+ examples: ["gamma(5) // 24"]
2022
+ }
2023
+ );
2024
+ var FACT_MAX = 171;
2025
+ var FACT = [1, 1];
2026
+ function fact(n) {
2027
+ const cached = FACT[n];
2028
+ if (cached != null) return cached;
2029
+ let r = 1n;
2030
+ for (let i = 2; i <= n; i++) {
2031
+ r *= BigInt(i);
2032
+ FACT[i] = Number(r);
2033
+ }
2034
+ return FACT[n];
2035
+ }
1896
2036
  var factorial = VmLib(
1897
2037
  (x) => {
1898
- let n = expectNumber("x", x);
2038
+ const n = expectNumber("x", x);
1899
2039
  if (isNaN(n) || n < 0) return NotNumber;
1900
- if (n >= 171) return PositiveInfinity;
1901
- if (isInteger(n)) {
1902
- if (n === 0 || n === 1) return 1;
1903
- let r = 1;
1904
- for (let i = 2; i <= n; i++) {
1905
- r *= i;
1906
- }
1907
- return r;
1908
- }
1909
- if (n > 85) {
1910
- n = n + 1;
1911
- const twoN = n * n;
1912
- const threeN = twoN * n;
1913
- const fourN = threeN * n;
1914
- const fiveN = fourN * n;
1915
- return sqrt2(2 * Math.PI / n) * pow(n / Math.E, n) * (1 + 1 / (12 * n) + 1 / (288 * twoN) - 139 / (51840 * threeN) - 571 / (2488320 * fourN) + 163879 / (209018880 * fiveN) + 5246819 / (75246796800 * fiveN * n));
1916
- }
1917
- let p = GAMMA_P[0];
1918
- for (let i = 1; i < GAMMA_P.length; ++i) {
1919
- p += GAMMA_P[i] / (n + i);
1920
- }
1921
- const t = n + GAMMA_G + 0.5;
1922
- return SQRT_2_PI * pow(t, n + 0.5) * exp2(-t) * p;
2040
+ return tgamma(n + 1);
1923
2041
  },
1924
2042
  {
1925
2043
  summary: "返回一个数的阶乘",
@@ -1930,7 +2048,7 @@ var factorial = VmLib(
1930
2048
  }
1931
2049
  );
1932
2050
 
1933
- // src/vm/lib/global/math.ts
2051
+ // src/vm/lib/global/math/index.ts
1934
2052
  var { atan2: _atan2, pow: _pow, random: _random } = Math;
1935
2053
  var atan2 = VmLib((x, y) => _atan2(expectNumber(0, x), expectNumber(1, y)), {
1936
2054
  summary: "返回从原点到点 (x, y) 的角度(弧度)",
@@ -2891,7 +3009,7 @@ var format = VmLib(
2891
3009
  // src/vm/lib/global/string.ts
2892
3010
  var chars = VmLib(
2893
3011
  (str) => {
2894
- return [...expectString("str", str)];
3012
+ return Array.from(expectString("str", str));
2895
3013
  },
2896
3014
  {
2897
3015
  summary: "将字符串转换为字符数组",
@@ -2990,10 +3108,10 @@ var replace = VmLib(
2990
3108
  );
2991
3109
  var split = VmLib(
2992
3110
  (str, separator = "") => {
2993
- const s = expectString("str", str);
3111
+ const s2 = expectString("str", str);
2994
3112
  const p = expectString("separator", separator);
2995
- if (!p) return [...s];
2996
- return s.split(p);
3113
+ if (!p) return [...s2];
3114
+ return s2.split(p);
2997
3115
  },
2998
3116
  {
2999
3117
  summary: "将字符串拆分为子串数组",
@@ -3006,8 +3124,8 @@ var split = VmLib(
3006
3124
  var join = VmLib(
3007
3125
  (arr, separator = "") => {
3008
3126
  expectArray("arr", arr, null);
3009
- const s = expectString("separator", separator);
3010
- return arr.map((v) => expectString(null, v)).join(s);
3127
+ const s2 = expectString("separator", separator);
3128
+ return arr.map((v) => expectString(null, v)).join(s2);
3011
3129
  },
3012
3130
  {
3013
3131
  summary: "将字符串数组连接为单个字符串",
@@ -3380,11 +3498,11 @@ var multiply = VmLib(
3380
3498
  $Mul,
3381
3499
  (a2, b2, al, bl) => {
3382
3500
  const l = Math.max(al, bl);
3383
- let s = 0;
3501
+ let s2 = 0;
3384
3502
  for (let i = 0; i < l; i++) {
3385
- s += num(a2[i]) * num(b2[i]);
3503
+ s2 += num(a2[i]) * num(b2[i]);
3386
3504
  }
3387
- return s;
3505
+ return s2;
3388
3506
  },
3389
3507
  (a2, b2, ar, ac, br, bc) => {
3390
3508
  if (ac !== br) throwError(`Incompatible matrix dimensions`, null);
@@ -3499,20 +3617,20 @@ var invert = VmLib(
3499
3617
  if (r !== c) {
3500
3618
  if (Ar[c] !== 0) {
3501
3619
  const f = -Ar[c] / Ac[c];
3502
- for (let s = c; s < cols; s++) {
3503
- Ar[s] = Ar[s] + f * Ac[s];
3620
+ for (let s2 = c; s2 < cols; s2++) {
3621
+ Ar[s2] = Ar[s2] + f * Ac[s2];
3504
3622
  }
3505
- for (let s = 0; s < cols; s++) {
3506
- Br[s] = Br[s] + f * Bc[s];
3623
+ for (let s2 = 0; s2 < cols; s2++) {
3624
+ Br[s2] = Br[s2] + f * Bc[s2];
3507
3625
  }
3508
3626
  }
3509
3627
  } else {
3510
3628
  const f = Ac[c];
3511
- for (let s = c; s < cols; s++) {
3512
- Ar[s] = Ar[s] / f;
3629
+ for (let s2 = c; s2 < cols; s2++) {
3630
+ Ar[s2] = Ar[s2] / f;
3513
3631
  }
3514
- for (let s = 0; s < cols; s++) {
3515
- Br[s] = Br[s] / f;
3632
+ for (let s2 = 0; s2 < cols; s2++) {
3633
+ Br[s2] = Br[s2] / f;
3516
3634
  }
3517
3635
  }
3518
3636
  }
@@ -3528,10 +3646,10 @@ var invert = VmLib(
3528
3646
  }
3529
3647
  );
3530
3648
  function filled(size2, value) {
3531
- const s = getNumbers(size2);
3532
- if (s.length === 0) return [];
3533
- while (s.length > 0) {
3534
- const repeat2 = arrayLen(s.pop());
3649
+ const s2 = getNumbers(size2);
3650
+ if (s2.length === 0) return [];
3651
+ while (s2.length > 0) {
3652
+ const repeat2 = arrayLen(s2.pop());
3535
3653
  Cp();
3536
3654
  const data = [];
3537
3655
  data.length = repeat2;
@@ -3556,12 +3674,12 @@ var ones = VmLib((...size2) => filled(size2, 1), {
3556
3674
  });
3557
3675
  var identity = VmLib(
3558
3676
  (...size2) => {
3559
- let s = getNumbers(size2);
3560
- if (s.length === 0) return [];
3561
- if (s.length > 2) throwError("Invalid matrix size", []);
3562
- if (s.length === 1) s = [s[0], s[0]];
3563
- const m = arrayLen(s[0]);
3564
- const n = arrayLen(s[1]);
3677
+ let s2 = getNumbers(size2);
3678
+ if (s2.length === 0) return [];
3679
+ if (s2.length > 2) throwError("Invalid matrix size", []);
3680
+ if (s2.length === 1) s2 = [s2[0], s2[0]];
3681
+ const m = arrayLen(s2[0]);
3682
+ const n = arrayLen(s2[1]);
3565
3683
  const ret = [];
3566
3684
  for (let i = 0; i < m; i++) {
3567
3685
  const row = [];
@@ -3681,12 +3799,12 @@ export {
3681
3799
  VmExtern,
3682
3800
  wrapToVmValue,
3683
3801
  unwrapFromVmValue,
3684
- VmModule,
3685
3802
  configCheckpoint,
3686
3803
  VmFunction,
3687
3804
  defineVmContextValue,
3688
3805
  DefaultVmContext,
3689
3806
  createVmContext,
3807
+ VmModule,
3690
3808
  $GlobalFallback,
3691
3809
  operations_exports,
3692
3810
  wrapScript,
@@ -3695,4 +3813,4 @@ export {
3695
3813
  emitScript,
3696
3814
  lib
3697
3815
  };
3698
- //# sourceMappingURL=chunk-CQ42UDMB.js.map
3816
+ //# sourceMappingURL=chunk-CZOIPBED.js.map