pimath 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pimath.js CHANGED
@@ -406,22 +406,22 @@ var m = /* @__PURE__ */ ((o) => (o.VARIABLE = "variable", o.COEFFICIENT = "coeff
406
406
  function Ui(o, e) {
407
407
  if (o.length <= 1)
408
408
  return o;
409
- const t = Object.keys(e).filter((N) => e[N].type === m.FUNCTION).map((N) => N);
410
- t.sort((N, L) => L.length - N.length);
409
+ const t = Object.keys(e).filter((E) => e[E].type === m.FUNCTION).map((E) => E);
410
+ t.sort((E, L) => L.length - E.length);
411
411
  const i = new RegExp(`^(${t.join("|")})\\(`), n = Object.keys(li);
412
- n.sort((N, L) => L.length - N.length);
412
+ n.sort((E, L) => L.length - E.length);
413
413
  const r = new RegExp(`^(${n.join("|")})`), l = /^(\d+(\.\d+)?)/;
414
414
  let c = "", d, f, g;
415
415
  for (; o.length > 0; ) {
416
416
  if (d = f, g = void 0, t.length > 0 && i.exec(o)) {
417
- const N = t.find((L) => o.startsWith(L));
418
- N && (g = N + "(", o = o.slice(N.length + 1), f = m.FUNCTION);
417
+ const E = t.find((L) => o.startsWith(L));
418
+ E && (g = E + "(", o = o.slice(E.length + 1), f = m.FUNCTION);
419
419
  } else if (n.length > 0 && r.exec(o)) {
420
- const N = n.find((L) => o.startsWith(L));
421
- N && (g = N, o = o.slice(N.length), f = m.CONSTANT);
420
+ const E = n.find((L) => o.startsWith(L));
421
+ E && (g = E, o = o.slice(E.length), f = m.CONSTANT);
422
422
  } else if (l.exec(o)) {
423
- const N = l.exec(o);
424
- N && (g = N[0], o = o.slice(N[0].length), f = m.COEFFICIENT);
423
+ const E = l.exec(o);
424
+ E && (g = E[0], o = o.slice(E[0].length), f = m.COEFFICIENT);
425
425
  } else
426
426
  switch (g = o[0], o = o.slice(1), g) {
427
427
  case "(":
@@ -573,17 +573,17 @@ class Xt {
573
573
  break;
574
574
  case m.OPERATION:
575
575
  if (n.length > 0) {
576
- let N = n[n.length - 1];
577
- for (g = +d; N.token in _(this, te) && //either o1 is left-associative and its precedence is less than or equal to that of o2,
578
- (_(this, te)[r].associative === "left" && _(this, te)[r].precedence <= _(this, te)[N.token].precedence || //or o1 is right associative, and has precedence less than that of o2,
579
- _(this, te)[r].associative === "right" && _(this, te)[r].precedence < _(this, te)[N.token].precedence); ) {
576
+ let E = n[n.length - 1];
577
+ for (g = +d; E.token in _(this, te) && //either o1 is left-associative and its precedence is less than or equal to that of o2,
578
+ (_(this, te)[r].associative === "left" && _(this, te)[r].precedence <= _(this, te)[E.token].precedence || //or o1 is right associative, and has precedence less than that of o2,
579
+ _(this, te)[r].associative === "right" && _(this, te)[r].precedence < _(this, te)[E.token].precedence); ) {
580
580
  if (g--, g === 0) {
581
581
  console.log("SECURITY LEVEL 2 OPERATION EXIT");
582
582
  break;
583
583
  }
584
584
  if (i.push(n.pop() ?? { token: "", tokenType: m.OPERATION }), n.length === 0)
585
585
  break;
586
- N = n[n.length - 1];
586
+ E = n[n.length - 1];
587
587
  }
588
588
  }
589
589
  n.push({ token: r, tokenType: c });
@@ -1198,37 +1198,37 @@ a(I, "xMultiply", (...e) => {
1198
1198
  return t;
1199
1199
  });
1200
1200
  let k = I;
1201
- var ce, Fe, P, ht, ye, wi, _t, vi, bi, xi;
1201
+ var ue, Fe, P, ht, ye, wi, _t, vi, bi, xi;
1202
1202
  const ui = class ui {
1203
1203
  constructor(e, t, i = "x") {
1204
1204
  p(this, P);
1205
- p(this, ce);
1205
+ p(this, ue);
1206
1206
  p(this, Fe);
1207
1207
  if (h(this, Fe, i), Object.hasOwn(e, "moveLeft")) {
1208
1208
  const n = e;
1209
- h(this, ce, n.left.clone().subtract(n.right));
1209
+ h(this, ue, n.left.clone().subtract(n.right));
1210
1210
  } else
1211
- h(this, ce, e.clone().subtract(t ?? 0));
1211
+ h(this, ue, e.clone().subtract(t ?? 0));
1212
1212
  }
1213
1213
  solve() {
1214
- if (s(this, ce).degree().isOne())
1214
+ if (s(this, ue).degree().isOne())
1215
1215
  return q(this, P, vi).call(this);
1216
- if (s(this, ce).degree().value === 2)
1216
+ if (s(this, ue).degree().value === 2)
1217
1217
  return q(this, P, bi).call(this);
1218
1218
  const e = q(this, P, wi).call(this);
1219
1219
  if (e.length > 0)
1220
1220
  return e;
1221
- if (s(this, ce).degree().value === 3)
1221
+ if (s(this, ue).degree().value === 3)
1222
1222
  return q(this, P, _t).call(this);
1223
1223
  throw new Error("The equation degree is too high.");
1224
1224
  }
1225
1225
  solveAsCardan() {
1226
- if (s(this, ce).degree().value !== 3)
1226
+ if (s(this, ue).degree().value !== 3)
1227
1227
  throw new Error("The equation is not cubic.");
1228
1228
  return q(this, P, _t).call(this);
1229
1229
  }
1230
1230
  };
1231
- ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1231
+ ue = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1232
1232
  return {
1233
1233
  variable: s(this, Fe),
1234
1234
  exact: !1,
@@ -1248,7 +1248,7 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1248
1248
  display: t.display
1249
1249
  };
1250
1250
  }, wi = function() {
1251
- let e = s(this, ce).clone(), t = [];
1251
+ let e = s(this, ue).clone(), t = [];
1252
1252
  const i = e.lcmDenominator();
1253
1253
  i !== 1 && e.multiply(i);
1254
1254
  const n = e.monomByDegree().coefficient;
@@ -1258,13 +1258,13 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1258
1258
  const l = G.dividers(n.value), c = G.dividers(r.value);
1259
1259
  for (const f of l)
1260
1260
  for (const g of c) {
1261
- const N = new u(g, f);
1262
- e.evaluate(N).isZero() && !t.find((L) => L.value === N.value) && t.push(q(this, P, ye).call(this, N)), N.opposite(), e.evaluate(N).isZero() && !t.find((L) => L.value === N.value) && t.push(q(this, P, ye).call(this, N));
1261
+ const E = new u(g, f);
1262
+ e.evaluate(E).isZero() && !t.find((L) => L.value === E.value) && t.push(q(this, P, ye).call(this, E)), E.opposite(), e.evaluate(E).isZero() && !t.find((L) => L.value === E.value) && t.push(q(this, P, ye).call(this, E));
1263
1263
  }
1264
1264
  for (const f of t) {
1265
1265
  if (f.exact !== !1 && f.exact.isZero())
1266
1266
  continue;
1267
- const g = s(this, ce).clone().parse("x", f.exact.denominator, -f.exact.numerator);
1267
+ const g = s(this, ue).clone().parse("x", f.exact.denominator, -f.exact.numerator);
1268
1268
  for (; e.isDividableBy(g); )
1269
1269
  e = e.divide(g);
1270
1270
  }
@@ -1275,7 +1275,7 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1275
1275
  const d = new ui(e, e.clone().parse("0"), s(this, Fe));
1276
1276
  return t = t.concat(d.solve()), t.sort((f, g) => f.value - g.value);
1277
1277
  }, _t = function() {
1278
- const e = s(this, ce), t = e.monomByDegree(3).coefficient, i = e.monomByDegree(2).coefficient, n = e.monomByDegree(1).coefficient, r = e.monomByDegree(0).coefficient, l = i.clone().divide(t), c = n.clone().divide(t), d = r.clone().divide(t), f = c.clone().subtract(l.clone().pow(2).divide(3)), g = d.clone().subtract(l.clone().multiply(c).divide(3)).add(l.clone().pow(3).multiply(2).divide(27)), N = g.clone().opposite(), L = f.clone().opposite().pow(3).divide(27), de = N.clone().pow(2).subtract(L.clone().multiply(4)).opposite();
1278
+ const e = s(this, ue), t = e.monomByDegree(3).coefficient, i = e.monomByDegree(2).coefficient, n = e.monomByDegree(1).coefficient, r = e.monomByDegree(0).coefficient, l = i.clone().divide(t), c = n.clone().divide(t), d = r.clone().divide(t), f = c.clone().subtract(l.clone().pow(2).divide(3)), g = d.clone().subtract(l.clone().multiply(c).divide(3)).add(l.clone().pow(3).multiply(2).divide(27)), E = g.clone().opposite(), L = f.clone().opposite().pow(3).divide(27), de = E.clone().pow(2).subtract(L.clone().multiply(4)).opposite();
1279
1279
  if (de.isNegative()) {
1280
1280
  const he = g.clone().opposite().add(de.clone().opposite().sqrt()).divide(2).root(3), ae = g.clone().opposite().subtract(de.clone().opposite().sqrt()).divide(2).root(3), ge = he.clone().add(ae).subtract(l.clone().divide(3));
1281
1281
  return [q(this, P, ye).call(this, ge)];
@@ -1285,22 +1285,22 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1285
1285
  return ae.isEqual(ge) ? [q(this, P, ye).call(this, ae)] : [
1286
1286
  q(this, P, ye).call(this, ge),
1287
1287
  q(this, P, ye).call(this, ae)
1288
- ].sort((pe, le) => pe.value - le.value);
1288
+ ].sort((pe, ce) => pe.value - ce.value);
1289
1289
  }
1290
1290
  if (de.isPositive()) {
1291
1291
  const he = [], ae = f.value, ge = g.value, pe = l.value;
1292
- for (let le = 0; le < 3; le++)
1293
- he.push(2 * Math.sqrt(-ae / 3) * Math.cos(Math.acos(3 * ge / (2 * ae) * Math.sqrt(-3 / ae)) / 3 + 2 * Math.PI * le / 3) - pe / 3);
1294
- return he.map((le) => q(this, P, ht).call(this, le)).sort((le, nt) => le.value - nt.value);
1292
+ for (let ce = 0; ce < 3; ce++)
1293
+ he.push(2 * Math.sqrt(-ae / 3) * Math.cos(Math.acos(3 * ge / (2 * ae) * Math.sqrt(-3 / ae)) / 3 + 2 * Math.PI * ce / 3) - pe / 3);
1294
+ return he.map((ce) => q(this, P, ht).call(this, ce)).sort((ce, nt) => ce.value - nt.value);
1295
1295
  }
1296
1296
  return [];
1297
1297
  }, vi = function() {
1298
- const e = s(this, ce).monomByDegree(0).coefficient.clone().opposite().divide(s(this, ce).monomByDegree(1).coefficient);
1298
+ const e = s(this, ue).monomByDegree(0).coefficient.clone().opposite().divide(s(this, ue).monomByDegree(1).coefficient);
1299
1299
  return [
1300
1300
  q(this, P, ye).call(this, e)
1301
1301
  ];
1302
1302
  }, bi = function() {
1303
- const e = s(this, ce), t = e.monomByDegree(2).coefficient, i = e.monomByDegree(1).coefficient, n = e.monomByDegree(0).coefficient, r = i.clone().pow(2).subtract(t.clone().multiply(n).multiply(4));
1303
+ const e = s(this, ue), t = e.monomByDegree(2).coefficient, i = e.monomByDegree(1).coefficient, n = e.monomByDegree(0).coefficient, r = i.clone().pow(2).subtract(t.clone().multiply(n).multiply(4));
1304
1304
  if (r.isNegative())
1305
1305
  return [];
1306
1306
  if (r.isSquare()) {
@@ -1312,12 +1312,12 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1312
1312
  }
1313
1313
  return q(this, P, xi).call(this, t, i, r);
1314
1314
  }, xi = function(e, t, i) {
1315
- const n = G.dividers(i.value).filter((pe) => Math.sqrt(pe) % 1 === 0).map((pe) => Math.sqrt(pe)).pop() ?? 1, r = G.gcd(2 * e.value, t.value, n) * (e.isNegative() ? -1 : 1), l = t.clone().divide(r).opposite(), c = e.clone().divide(r).multiply(2), d = i.clone().divide(n ** 2), f = Math.abs(n / r), g = n === 1 ? "-" : `-${f} `, N = n === 1 ? "+" : `+${f} `;
1316
- function L(pe, le, nt, Yt) {
1317
- return `\\frac{ ${le} ${nt}\\sqrt{ ${Yt} } }{ ${pe} }`;
1315
+ const n = G.dividers(i.value).filter((pe) => Math.sqrt(pe) % 1 === 0).map((pe) => Math.sqrt(pe)).pop() ?? 1, r = G.gcd(2 * e.value, t.value, n) * (e.isNegative() ? -1 : 1), l = t.clone().divide(r).opposite(), c = e.clone().divide(r).multiply(2), d = i.clone().divide(n ** 2), f = Math.abs(n / r), g = n === 1 ? "-" : `-${f} `, E = n === 1 ? "+" : `+${f} `;
1316
+ function L(pe, ce, nt, Yt) {
1317
+ return `\\frac{ ${ce} ${nt}\\sqrt{ ${Yt} } }{ ${pe} }`;
1318
1318
  }
1319
- function de(pe, le, nt, Yt) {
1320
- return `(${le}${nt}sqrt(${Yt}))/${pe}`;
1319
+ function de(pe, ce, nt, Yt) {
1320
+ return `(${ce}${nt}sqrt(${Yt}))/${pe}`;
1321
1321
  }
1322
1322
  const he = i.value ** 0.5, ae = (-t.value - he) / (2 * e.value), ge = (-t.value + he) / (2 * e.value);
1323
1323
  return [
@@ -1326,10 +1326,10 @@ ce = new WeakMap(), Fe = new WeakMap(), P = new WeakSet(), ht = function(e, t) {
1326
1326
  display: de(c.display, l.display, g.toString(), d.display)
1327
1327
  }),
1328
1328
  q(this, P, ht).call(this, ge, {
1329
- tex: L(c.tex, l.tex, N.toString(), d.tex),
1330
- display: de(c.display, l.display, N.toString(), d.display)
1329
+ tex: L(c.tex, l.tex, E.toString(), d.tex),
1330
+ display: de(c.display, l.display, E.toString(), d.display)
1331
1331
  })
1332
- ].sort((pe, le) => pe.value - le.value);
1332
+ ].sort((pe, ce) => pe.value - ce.value);
1333
1333
  };
1334
1334
  let Et = ui;
1335
1335
  function pi(o, e = !0) {
@@ -1480,8 +1480,8 @@ const C = class C {
1480
1480
  else {
1481
1481
  const f = i.euclidean(d);
1482
1482
  t.push(d), i = f.quotient.clone(), c = c.filter((g) => {
1483
- const N = i.monoms[0], L = i.monoms[i.monoms.length - 1], de = g.monoms[0], he = g.monoms[g.monoms.length - 1];
1484
- return L.isDivisible(he) ? N.isDivisible(de) : !1;
1483
+ const E = i.monoms[0], L = i.monoms[i.monoms.length - 1], de = g.monoms[0], he = g.monoms[g.monoms.length - 1];
1484
+ return L.isDivisible(he) ? E.isDivisible(de) : !1;
1485
1485
  });
1486
1486
  }
1487
1487
  }
@@ -1691,7 +1691,7 @@ const C = class C {
1691
1691
  }), t;
1692
1692
  });
1693
1693
  p(this, Ct, (e) => {
1694
- var N;
1694
+ var E;
1695
1695
  let t, i, n, r, l, c, d, f, g;
1696
1696
  if (this.numberOfVars === 1)
1697
1697
  return n = this.monomByDegree(2, e).coefficient, r = this.monomByDegree(1, e).coefficient, l = this.monomByDegree(0, e).coefficient, c = r.clone().pow(2).subtract(n.clone().multiply(l).multiply(4)), c.isZero() ? (d = r.clone().opposite().divide(n.clone().multiply(2)), t = new C(e).subtract(d.display).multiply(d.denominator), i = new C(e).subtract(d.display).multiply(d.denominator), g = n.divide(d.denominator).divide(d.denominator), g.isOne() ? [t, i] : [new C(g.display), t, i]) : c.isPositive() && c.isSquare() ? (d = r.clone().opposite().add(c.clone().sqrt()).divide(n.clone().multiply(2)), f = r.clone().opposite().subtract(c.clone().sqrt()).divide(n.clone().multiply(2)), g = n.divide(d.denominator).divide(f.denominator), g.isOne() ? [
@@ -1703,7 +1703,7 @@ const C = class C {
1703
1703
  new C(e).subtract(f.display).multiply(f.denominator)
1704
1704
  ]) : [this.clone()];
1705
1705
  if (n = this.monomByDegree(2, e), r = this.monomByDegree(1, e), l = this.monomByDegree(0, e), n.isLiteralSquare() && l.isLiteralSquare() && r.clone().pow(2).isSameAs(n.clone().multiply(l))) {
1706
- const L = new C("x", n.coefficient, r.coefficient, l.coefficient), de = s(N = L, Ct).call(N, "x"), he = [];
1706
+ const L = new C("x", n.coefficient, r.coefficient, l.coefficient), de = s(E = L, Ct).call(E, "x"), he = [];
1707
1707
  let ae;
1708
1708
  if (de.length >= 2) {
1709
1709
  for (const ge of de)
@@ -1879,8 +1879,8 @@ const C = class C {
1879
1879
  0,
1880
1880
  l
1881
1881
  )), r = g * 2 + 1, l = f === i.length - 1 ? n.length : t.findIndex((L) => L.value === i[f + 1].value) * 2 + 1;
1882
- const N = f === i.length - 1 ? d.value + 1 : (d.value + i[f + 1].value) / 2;
1883
- c = this.evaluate(N, !0) < 0 ? "-" : "+", n[r] = "z", n = Be(n, "", c, r, l), r = +l, l = n.length;
1882
+ const E = f === i.length - 1 ? d.value + 1 : (d.value + i[f + 1].value) / 2;
1883
+ c = this.evaluate(E, !0) < 0 ? "-" : "+", n[r] = "z", n = Be(n, "", c, r, l), r = +l, l = n.length;
1884
1884
  });
1885
1885
  }
1886
1886
  return { roots: t, signs: n };
@@ -2075,29 +2075,29 @@ const we = class we {
2075
2075
  }
2076
2076
  };
2077
2077
  Te = new WeakMap(), et = new WeakMap(), Ee = new WeakMap(), Ne = new WeakMap();
2078
- let ue = we;
2079
- var He = /* @__PURE__ */ ((o) => (o[o.ROOT = 0] = "ROOT", o[o.POWER = 1] = "POWER", o))(He || {}), Ue, E, pt, ti;
2078
+ let le = we;
2079
+ var He = /* @__PURE__ */ ((o) => (o[o.ROOT = 0] = "ROOT", o[o.POWER = 1] = "POWER", o))(He || {}), Ue, N, pt, ti;
2080
2080
  const me = class me {
2081
2081
  // #endregion Class fields (1)
2082
2082
  // #region Constructors (1)
2083
2083
  constructor(...e) {
2084
2084
  // #region Class fields (1)
2085
2085
  p(this, Ue, He.POWER);
2086
- p(this, E, []);
2086
+ p(this, N, []);
2087
2087
  return this.parse(...e), this;
2088
2088
  }
2089
2089
  // #endregion Constructors (1)
2090
2090
  // #region Properties and methods (25)
2091
2091
  parse(...e) {
2092
- return e.length === 0 ? this : (h(this, E, []), e.forEach((t) => {
2092
+ return e.length === 0 ? this : (h(this, N, []), e.forEach((t) => {
2093
2093
  if (typeof t == "string") {
2094
2094
  const i = t.split(")(").join(")*(").split("*");
2095
- s(this, E).push(...i.map((n) => new ue(n)));
2096
- } else t instanceof me ? s(this, E).push(...t.factors.map((i) => i.clone())) : s(this, E).push(new ue(t));
2095
+ s(this, N).push(...i.map((n) => new le(n)));
2096
+ } else t instanceof me ? s(this, N).push(...t.factors.map((i) => i.clone())) : s(this, N).push(new le(t));
2097
2097
  }), this);
2098
2098
  }
2099
2099
  clone() {
2100
- return new me(...s(this, E).map((e) => e.clone()));
2100
+ return new me(...s(this, N).map((e) => e.clone()));
2101
2101
  }
2102
2102
  static gcd(...e) {
2103
2103
  var i;
@@ -2118,9 +2118,9 @@ const me = class me {
2118
2118
  const i = me.gcd(...t);
2119
2119
  t = t.map((r) => r.divide(i).reduce());
2120
2120
  const n = new A("0");
2121
- return t.forEach((r) => n.add(r.develop())), h(this, E, [
2121
+ return t.forEach((r) => n.add(r.develop())), h(this, N, [
2122
2122
  ...i.factors,
2123
- new ue(n)
2123
+ new le(n)
2124
2124
  ]), this;
2125
2125
  }
2126
2126
  get asPower() {
@@ -2130,51 +2130,51 @@ const me = class me {
2130
2130
  return h(this, Ue, He.ROOT), this;
2131
2131
  }
2132
2132
  degree(e) {
2133
- return s(this, E).reduce((t, i) => t.add(i.degree(e)), new u("0"));
2133
+ return s(this, N).reduce((t, i) => t.add(i.degree(e)), new u("0"));
2134
2134
  }
2135
2135
  get denominator() {
2136
- return s(this, E).filter((e) => e.power.isNegative());
2136
+ return s(this, N).filter((e) => e.power.isNegative());
2137
2137
  }
2138
2138
  derivative() {
2139
- const e = [], t = s(this, E).length;
2139
+ const e = [], t = s(this, N).length;
2140
2140
  for (let n = 0; n < t; n++) {
2141
- const r = s(this, E).slice(), l = r.splice(n, 1)[0];
2141
+ const r = s(this, N).slice(), l = r.splice(n, 1)[0];
2142
2142
  e.push(new me(...r).multiply(new me(...l.derivative())));
2143
2143
  }
2144
2144
  e.forEach((n) => n.reduce());
2145
2145
  const i = e.shift();
2146
- return i !== void 0 && h(this, E, i.factors), this.add(...e);
2146
+ return i !== void 0 && h(this, N, i.factors), this.add(...e);
2147
2147
  }
2148
2148
  develop() {
2149
2149
  const e = new A("1");
2150
- return s(this, E).forEach((t) => {
2150
+ return s(this, N).forEach((t) => {
2151
2151
  e.multiply(t.develop());
2152
2152
  }), e;
2153
2153
  }
2154
2154
  get display() {
2155
2155
  let e = [], t = [];
2156
- if (s(this, Ue) === He.ROOT ? (e = this.numerator, t = this.denominator.map((r) => r.clone().inverse())) : e = s(this, E), e.length === 0 && (e = [new ue("1")]), t.length === 0)
2156
+ if (s(this, Ue) === He.ROOT ? (e = this.numerator, t = this.denominator.map((r) => r.clone().inverse())) : e = s(this, N), e.length === 0 && (e = [new le("1")]), t.length === 0)
2157
2157
  return e.length === 1 ? e[0].asSingle.display : e.map((r) => r.display).join("");
2158
2158
  const i = e.length === 1 ? e[0].asSingle.display : e.map((r) => r.display).join(""), n = t.length === 1 ? t[0].asSingle.display : t.map((r) => r.display).join("");
2159
2159
  return `(${i})/(${n})`;
2160
2160
  }
2161
2161
  divide(e) {
2162
- return h(this, E, s(this, E).concat(e.clone().factors.map((t) => t.inverse()))), this;
2162
+ return h(this, N, s(this, N).concat(e.clone().factors.map((t) => t.inverse()))), this;
2163
2163
  }
2164
2164
  evaluate(e, t) {
2165
- return t ? s(this, E).reduce((i, n) => i * n.evaluate(e, t), 1) : s(this, E).reduce((i, n) => i.multiply(n.evaluate(e)), new u("1"));
2165
+ return t ? s(this, N).reduce((i, n) => i * n.evaluate(e, t), 1) : s(this, N).reduce((i, n) => i.multiply(n.evaluate(e)), new u("1"));
2166
2166
  }
2167
2167
  get factors() {
2168
- return s(this, E);
2168
+ return s(this, N);
2169
2169
  }
2170
2170
  set factors(e) {
2171
- h(this, E, e);
2171
+ h(this, N, e);
2172
2172
  }
2173
2173
  fromPolynom(e, t) {
2174
- return h(this, E, new A(e).factorize(t).map((i) => new ue(i))), this;
2174
+ return h(this, N, new A(e).factorize(t).map((i) => new le(i))), this;
2175
2175
  }
2176
2176
  getZeroes() {
2177
- const e = [].concat(...s(this, E).map((t) => t.polynom.getZeroes()));
2177
+ const e = [].concat(...s(this, N).map((t) => t.polynom.getZeroes()));
2178
2178
  return e.sort((t, i) => t.value - i.value), e.filter(
2179
2179
  (t, i, n) => i === n.findIndex(
2180
2180
  (r) => r.value === t.value
@@ -2182,66 +2182,66 @@ const me = class me {
2182
2182
  );
2183
2183
  }
2184
2184
  hasVariable(e) {
2185
- return s(this, E).some((t) => t.hasVariable(e));
2185
+ return s(this, N).some((t) => t.hasVariable(e));
2186
2186
  }
2187
2187
  inverse() {
2188
- return h(this, E, s(this, E).map((e) => e.inverse())), this;
2188
+ return h(this, N, s(this, N).map((e) => e.inverse())), this;
2189
2189
  }
2190
2190
  isEqual(e) {
2191
2191
  const t = me.gcd(this, e), i = this.clone().divide(t).reduce(), n = e.clone().divide(t).reduce();
2192
2192
  return i.isOne() && n.isOne();
2193
2193
  }
2194
2194
  isOne() {
2195
- return s(this, E).every((e) => e.isOne());
2195
+ return s(this, N).every((e) => e.isOne());
2196
2196
  }
2197
2197
  isZero() {
2198
- return s(this, E).every((e) => e.isZero());
2198
+ return s(this, N).every((e) => e.isZero());
2199
2199
  }
2200
2200
  multiply(...e) {
2201
2201
  return e.forEach((t) => {
2202
- h(this, E, s(this, E).concat(t.clone().factors));
2202
+ h(this, N, s(this, N).concat(t.clone().factors));
2203
2203
  }), this;
2204
2204
  }
2205
2205
  get numerator() {
2206
- return s(this, E).filter((e) => e.power.isPositive());
2206
+ return s(this, N).filter((e) => e.power.isPositive());
2207
2207
  }
2208
2208
  one() {
2209
- return h(this, E, [new ue("1", "1")]), this;
2209
+ return h(this, N, [new le("1", "1")]), this;
2210
2210
  }
2211
2211
  // #endregion Properties and methods (25)
2212
2212
  // #region Getters And Setters (5)
2213
2213
  opposite() {
2214
- const e = s(this, E).findIndex((t) => t.display === "(-1)");
2215
- return e >= 0 ? s(this, E).splice(e, 1) : s(this, E).push(new ue("-1", "1")), this;
2214
+ const e = s(this, N).findIndex((t) => t.display === "(-1)");
2215
+ return e >= 0 ? s(this, N).splice(e, 1) : s(this, N).push(new le("-1", "1")), this;
2216
2216
  }
2217
2217
  pow(e) {
2218
- return h(this, E, s(this, E).map((t) => t.pow(e))), this;
2218
+ return h(this, N, s(this, N).map((t) => t.pow(e))), this;
2219
2219
  }
2220
2220
  primitive() {
2221
2221
  throw new Error("Method not implemented.");
2222
2222
  }
2223
2223
  reduce() {
2224
2224
  const e = Jt(this);
2225
- return h(this, E, Object.values(e).map((t) => {
2225
+ return h(this, N, Object.values(e).map((t) => {
2226
2226
  const i = t[0].polynom, n = t.reduce((r, l) => r.add(l.power), new u("0"));
2227
- return new ue(i, n.reduce());
2227
+ return new le(i, n.reduce());
2228
2228
  }).filter((t) => !t.power.isZero())), this;
2229
2229
  }
2230
2230
  root(e) {
2231
- return h(this, E, s(this, E).map((t) => t.root(e))), this;
2231
+ return h(this, N, s(this, N).map((t) => t.root(e))), this;
2232
2232
  }
2233
2233
  sort() {
2234
- return h(this, E, s(this, E).sort((e, t) => e.degree().isLeq(t.degree()) ? -1 : 1)), this;
2234
+ return h(this, N, s(this, N).sort((e, t) => e.degree().isLeq(t.degree()) ? -1 : 1)), this;
2235
2235
  }
2236
2236
  sqrt() {
2237
- return h(this, E, s(this, E).map((e) => e.sqrt())), this;
2237
+ return h(this, N, s(this, N).map((e) => e.sqrt())), this;
2238
2238
  }
2239
2239
  subtract(...e) {
2240
2240
  return this.add(...e.map((t) => t.opposite()));
2241
2241
  }
2242
2242
  tableOfSigns() {
2243
- const e = this.getZeroes(), t = s(this, E).map((n) => ({ factor: n, tableOfSigns: n.tableOfSigns(e) }));
2244
- return { signs: t.map((n) => n.tableOfSigns).reduce((n, r) => (n.length === 0 ? n = r.signs : r.signs.forEach((l, c) => {
2243
+ const e = this.getZeroes(), t = this.factors.map((n) => ({ factor: new le(n), ...n.tableOfSigns(e) }));
2244
+ return { signs: t.map((n) => n.signs).reduce((n, r) => (n.length === 0 ? n = r : r.forEach((l, c) => {
2245
2245
  switch (l) {
2246
2246
  case "d":
2247
2247
  n[c] = "d";
@@ -2260,25 +2260,25 @@ const me = class me {
2260
2260
  }
2261
2261
  get tex() {
2262
2262
  let e = [], t = [];
2263
- if (s(this, Ue) === He.ROOT ? (e = this.numerator, t = this.denominator.map((r) => r.clone().inverse())) : e = s(this, E), e.length === 0 && (e = [new ue("1")]), t.length === 0)
2263
+ if (s(this, Ue) === He.ROOT ? (e = this.numerator, t = this.denominator.map((r) => r.clone().inverse())) : e = s(this, N), e.length === 0 && (e = [new le("1")]), t.length === 0)
2264
2264
  return e.length === 1 ? e[0].asSingle.tex : e.map((r) => r.tex).join("");
2265
2265
  const i = e.length === 1 ? e[0].asSingle.tex : e.map((r) => r.tex).join(""), n = t.length === 1 ? t[0].asSingle.tex : t.map((r) => r.tex).join("");
2266
2266
  return `\\frac{ ${i} }{ ${n} }`;
2267
2267
  }
2268
2268
  get variables() {
2269
- return s(this, E).reduce((e, t) => e.concat(t.variables), []);
2269
+ return s(this, N).reduce((e, t) => e.concat(t.variables), []);
2270
2270
  }
2271
2271
  // #endregion Getters And Setters (5)
2272
2272
  // #region Private methods (1)
2273
2273
  zero() {
2274
- return h(this, E, [new ue("0", "1")]), this;
2274
+ return h(this, N, [new le("0", "1")]), this;
2275
2275
  }
2276
2276
  // #endregion Private methods (1)
2277
2277
  };
2278
- Ue = new WeakMap(), E = new WeakMap(), pt = new WeakSet(), ti = function(e, t) {
2278
+ Ue = new WeakMap(), N = new WeakMap(), pt = new WeakSet(), ti = function(e, t) {
2279
2279
  const i = Jt(e), n = Jt(t), l = Object.keys(i).filter((c) => Object.hasOwn(n, c)).map((c) => {
2280
- const d = i[c].reduce((g, N) => g.add(N.power), new u("0")), f = n[c].reduce((g, N) => g.add(N.power), new u("0"));
2281
- return new ue(c, u.min(d, f));
2280
+ const d = i[c].reduce((g, E) => g.add(E.power), new u("0")), f = n[c].reduce((g, E) => g.add(E.power), new u("0"));
2281
+ return new le(c, u.min(d, f));
2282
2282
  });
2283
2283
  return new me(...l);
2284
2284
  }, p(me, pt);
@@ -2290,7 +2290,7 @@ function Jt(o) {
2290
2290
  const r = n.polynom.display;
2291
2291
  return Object.hasOwn(i, r) ? i[r].push(n) : i[r] = [n], i;
2292
2292
  }, {});
2293
- return e.isOne() || (t[e.display] = [new ue(e.display, 1)]), t;
2293
+ return e.isOne() || (t[e.display] = [new le(e.display, 1)]), t;
2294
2294
  }
2295
2295
  var O, M, se, zt, tt, Lt;
2296
2296
  const xe = class xe {
@@ -4208,7 +4208,7 @@ const fs = {
4208
4208
  Equation: H,
4209
4209
  Matrix: ns,
4210
4210
  LinearSystem: ii,
4211
- Factor: ue,
4211
+ Factor: le,
4212
4212
  PolyFactor: ei,
4213
4213
  LogicalSet: us,
4214
4214
  Random: cs,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "A math library for teacher :)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,4 +1,4 @@
1
- import { IAlgebra, IExpression, InputAlgebra, InputValue, IPiMathObject, ISolution, literalType, TABLE_OF_SIGNS } from '../pimath.interface';
1
+ import { IAlgebra, IExpression, InputAlgebra, InputValue, IPiMathObject, ISolution, literalType, POLYFACTOR_TABLE_OF_SIGNS } from '../pimath.interface';
2
2
  import { Fraction } from '../coefficients/fraction';
3
3
  import { Factor } from './factor';
4
4
  import { Polynom } from './polynom';
@@ -38,12 +38,7 @@ export declare class PolyFactor implements IPiMathObject<PolyFactor>, IExpressio
38
38
  sort(): this;
39
39
  sqrt(): this;
40
40
  subtract(...values: PolyFactor[]): this;
41
- tableOfSigns(): TABLE_OF_SIGNS & {
42
- factors: {
43
- factor: Factor;
44
- tableOfSigns: TABLE_OF_SIGNS;
45
- }[];
46
- };
41
+ tableOfSigns(): POLYFACTOR_TABLE_OF_SIGNS;
47
42
  get tex(): string;
48
43
  get variables(): string[];
49
44
  zero(): this;
@@ -1 +1 @@
1
- {"version":3,"file":"polyFactor.d.ts","sourceRoot":"","sources":["../../src/algebra/polyFactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EAAE,cAAc,EAE9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAC,MAAM,EAAiB,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAKjC,qBAAa,UAAW,YAAW,aAAa,CAAC,UAAU,CAAC,EACxD,WAAW,CAAC,UAAU,CAAC,EACvB,QAAQ,CAAC,UAAU,CAAC;;gBASR,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE;IAQ/D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE,GAAG,IAAI;IAqBvE,KAAK,IAAI,UAAU;WAuBZ,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU;IAmB/C,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAuBzC,IAAI,OAAO,IAAI,IAAI,CAGlB;IAED,IAAI,MAAM,IAAI,IAAI,CAGjB;IAEM,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;IAIxC,IAAI,WAAW,IAAI,MAAM,EAAE,CAE1B;IAEM,UAAU,IAAI,IAAI;IAsBlB,OAAO,IAAI,OAAO;IAWzB,IAAW,OAAO,IAAI,MAAM,CA+B3B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAK/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ;IAUtH,IAAW,OAAO,IAAI,MAAM,EAAE,CAE7B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAEjC;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlE,SAAS,IAAI,SAAS,EAAE;IAiBxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IASnC,KAAK,IAAI,OAAO;IAIhB,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAQ9C,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAEM,GAAG,IAAI,IAAI;IASX,QAAQ,IAAI,IAAI;IAahB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAKnC,SAAS,IAAI,UAAU;IAIvB,MAAM,IAAI,IAAI;IAgBd,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,IAAI,IAAI,IAAI;IAMZ,IAAI,IAAI,IAAI;IAKZ,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAIvC,YAAY,IAAI,cAAc,GAAG;QAAE,OAAO,EAAE;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,cAAc,CAAA;SAAC,EAAE,CAAA;KAAE;IA6FrG,IAAW,GAAG,IAAI,MAAM,CA+BvB;IAED,IAAW,SAAS,IAAI,MAAM,EAAE,CAG/B;IAMM,IAAI,IAAI,IAAI;CAMtB"}
1
+ {"version":3,"file":"polyFactor.d.ts","sourceRoot":"","sources":["../../src/algebra/polyFactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,yBAAyB,EAE5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAC,MAAM,EAAiB,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAKjC,qBAAa,UAAW,YAAW,aAAa,CAAC,UAAU,CAAC,EACxD,WAAW,CAAC,UAAU,CAAC,EACvB,QAAQ,CAAC,UAAU,CAAC;;gBASR,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE;IAQ/D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE,GAAG,IAAI;IAqBvE,KAAK,IAAI,UAAU;WAuBZ,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU;IAmB/C,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAuBzC,IAAI,OAAO,IAAI,IAAI,CAGlB;IAED,IAAI,MAAM,IAAI,IAAI,CAGjB;IAEM,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;IAIxC,IAAI,WAAW,IAAI,MAAM,EAAE,CAE1B;IAEM,UAAU,IAAI,IAAI;IAsBlB,OAAO,IAAI,OAAO;IAWzB,IAAW,OAAO,IAAI,MAAM,CA+B3B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAK/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ;IAUtH,IAAW,OAAO,IAAI,MAAM,EAAE,CAE7B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAEjC;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlE,SAAS,IAAI,SAAS,EAAE;IAiBxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IASnC,KAAK,IAAI,OAAO;IAIhB,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAQ9C,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAEM,GAAG,IAAI,IAAI;IASX,QAAQ,IAAI,IAAI;IAahB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAKnC,SAAS,IAAI,UAAU;IAIvB,MAAM,IAAI,IAAI;IAgBd,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,IAAI,IAAI,IAAI;IAMZ,IAAI,IAAI,IAAI;IAKZ,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAIvC,YAAY,IAAI,yBAAyB;IA+FhD,IAAW,GAAG,IAAI,MAAM,CA+BvB;IAED,IAAW,SAAS,IAAI,MAAM,EAAE,CAG/B;IAMM,IAAI,IAAI,IAAI;CAMtB"}
package/types/index.d.ts CHANGED
@@ -70,3 +70,4 @@ declare const PiMath: {
70
70
  NumExp: typeof NumExp;
71
71
  };
72
72
  export default PiMath;
73
+ export type { Fraction, NthRoot, Monom, Polynom, Equation, Matrix, LinearSystem, Factor, PolyFactor, LogicalSet, NumExp, Vector, Point, Line, Triangle, Circle, Line3, Plane3, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,OAAO,EAAE,MAAM,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAEhD,mBAAoB,oBAAoB,CAAA;AAaxC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeX,CAAA;AAGD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAKxC,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAE/C,mBAAmB,oBAAoB,CAAA;AAavC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeX,CAAA;AAGD,eAAe,MAAM,CAAA;AACrB,YAAY,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,MAAM,EACN,UAAU,EACV,UAAU,EACV,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,GACT,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Fraction } from './coefficients/fraction';
2
2
  import { NthRoot } from './coefficients/nthRoot';
3
3
  import { Monom } from './algebra/monom';
4
+ import { Factor } from './algebra/factor';
4
5
  export type InputValue<T> = T | string | number | Fraction | NthRoot;
5
6
  export type InputAlgebra<T> = InputValue<T> | Monom;
6
7
  export type literalType<T> = Record<string, T>;
@@ -59,3 +60,9 @@ export interface TABLE_OF_SIGNS {
59
60
  roots: ISolution[];
60
61
  signs: TABLE_OF_SIGNS_VALUES[];
61
62
  }
63
+ export interface FACTOR_TABLE_OF_SIGNS extends TABLE_OF_SIGNS {
64
+ factor: Factor;
65
+ }
66
+ export interface POLYFACTOR_TABLE_OF_SIGNS extends TABLE_OF_SIGNS {
67
+ factors: FACTOR_TABLE_OF_SIGNS[];
68
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"pimath.interface.d.ts","sourceRoot":"","sources":["../src/pimath.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pimath.interface.d.ts","sourceRoot":"","sources":["../src/pimath.interface.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { randomCoefficientConfig, randomEquationConfig, randomGeometryCircleConfig, randomGeometryLine3Config, randomGeometryLineConfig, randomGeometryPointConfig, randomMonomConfig, randomPolynomConfig } from './rndTypes';
2
2
  export type * from './rndTypes';
3
3
  export declare const Random: {
4
- equation: (config?: randomEquationConfig) => import('../algebra/equation').Equation;
5
- polynom: (config?: randomPolynomConfig) => import('../algebra/polynom').Polynom;
6
- monom: (config?: randomMonomConfig) => import('../algebra/monom').Monom;
7
- fraction: (config?: randomCoefficientConfig) => import('../coefficients/fraction').Fraction;
4
+ equation: (config?: randomEquationConfig) => import('..').Equation;
5
+ polynom: (config?: randomPolynomConfig) => import('..').Polynom;
6
+ monom: (config?: randomMonomConfig) => import('..').Monom;
7
+ fraction: (config?: randomCoefficientConfig) => import('..').Fraction;
8
8
  number: (from: number, to: number, exclude?: number[]) => number;
9
9
  numberSym: (max: number, allowZero?: boolean) => number;
10
10
  prime: (max: number) => number;
@@ -12,9 +12,9 @@ export declare const Random: {
12
12
  array: <T>(arr: T[], number?: number) => T[];
13
13
  item: <T>(arr: T[]) => T;
14
14
  shuffle: <T>(arr: T[]) => T[];
15
- line: (config?: randomGeometryLineConfig) => import('../geometry/line').Line;
16
- line3: (config?: randomGeometryLine3Config) => import('../geometry/line3').Line3;
17
- vector: (config?: randomGeometryPointConfig) => import('../geometry/point').Point;
18
- point: (config?: randomGeometryPointConfig) => import('../geometry/point').Point;
19
- circle: (config?: randomGeometryCircleConfig) => import('../geometry/circle').Circle;
15
+ line: (config?: randomGeometryLineConfig) => import('..').Line;
16
+ line3: (config?: randomGeometryLine3Config) => import('..').Line3;
17
+ vector: (config?: randomGeometryPointConfig) => import('..').Point;
18
+ point: (config?: randomGeometryPointConfig) => import('..').Point;
19
+ circle: (config?: randomGeometryCircleConfig) => import('..').Circle;
20
20
  };