math-exercises 2.0.28 → 2.0.30
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/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +6 -6
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +10 -6
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +14 -7
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +11 -11
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +4 -6
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +3 -5
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +0 -5
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +10 -16
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +3 -5
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +4 -6
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +4 -6
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType0.d.ts.map +1 -1
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType0.js +0 -2
- package/lib/exercises/complex/argumentFromAlgebraicComplex.d.ts.map +1 -1
- package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts.map +1 -1
- package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +20 -8
- package/lib/exercises/exercise.d.ts +1 -1
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/functions/absolute/absoluteValueInequations.d.ts.map +1 -1
- package/lib/exercises/functions/absolute/absoluteValueInequations.js +8 -5
- package/lib/exercises/functions/affines/interceptReading.d.ts.map +1 -1
- package/lib/exercises/functions/exponential/expSimplifiying.d.ts.map +1 -1
- package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts.map +1 -1
- package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +1 -3
- package/lib/exercises/functions/trinoms/secondDegreeInequation.d.ts.map +1 -1
- package/lib/exercises/functions/trinoms/secondDegreeInequation.js +0 -3
- package/lib/exercises/index.d.ts +1 -0
- package/lib/exercises/index.d.ts.map +1 -1
- package/lib/exercises/index.js +1 -0
- package/lib/exercises/limits/rationalFracForbiddenValueLimit.d.ts.map +1 -1
- package/lib/exercises/limits/rationalFracForbiddenValueLimit.js +1 -6
- package/lib/exercises/matrices/index.d.ts +2 -0
- package/lib/exercises/matrices/index.d.ts.map +1 -0
- package/lib/exercises/matrices/index.js +17 -0
- package/lib/exercises/matrices/matrixInversibilityDomain.d.ts +10 -0
- package/lib/exercises/matrices/matrixInversibilityDomain.d.ts.map +1 -0
- package/lib/exercises/matrices/matrixInversibilityDomain.js +93 -0
- package/lib/exercises/sets/intervals/inequalityToInterval.d.ts +4 -1
- package/lib/exercises/sets/intervals/inequalityToInterval.d.ts.map +1 -1
- package/lib/exercises/sets/intervals/inequalityToInterval.js +10 -7
- package/lib/exercises/sets/intervals/intervalsIntersection.d.ts +7 -2
- package/lib/exercises/sets/intervals/intervalsIntersection.d.ts.map +1 -1
- package/lib/exercises/sets/intervals/intervalsIntersection.js +11 -4
- package/lib/exercises/sets/intervals/intervalsUnion.d.ts +7 -2
- package/lib/exercises/sets/intervals/intervalsUnion.d.ts.map +1 -1
- package/lib/exercises/sets/intervals/intervalsUnion.js +11 -4
- package/lib/exercises/utils/keys/intervalKeys.d.ts +3 -0
- package/lib/exercises/utils/keys/intervalKeys.d.ts.map +1 -0
- package/lib/exercises/utils/keys/intervalKeys.js +10 -0
- package/lib/index.d.ts +124 -8
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -0
- package/lib/math/geometry/point.d.ts.map +1 -1
- package/lib/math/matrices/matrix.d.ts +10 -0
- package/lib/math/matrices/matrix.d.ts.map +1 -0
- package/lib/math/matrices/matrix.js +24 -0
- package/lib/math/numbers/decimals/decimal.d.ts +1 -0
- package/lib/math/numbers/decimals/decimal.d.ts.map +1 -1
- package/lib/math/numbers/decimals/decimal.js +3 -0
- package/lib/math/numbers/integer/integer.d.ts +1 -0
- package/lib/math/numbers/integer/integer.d.ts.map +1 -1
- package/lib/math/numbers/integer/integer.js +3 -0
- package/lib/math/numbers/integer/power.d.ts +1 -0
- package/lib/math/numbers/integer/power.d.ts.map +1 -1
- package/lib/math/numbers/integer/power.js +3 -0
- package/lib/math/numbers/logarithms/ln.d.ts +1 -0
- package/lib/math/numbers/logarithms/ln.d.ts.map +1 -1
- package/lib/math/numbers/logarithms/ln.js +3 -0
- package/lib/math/numbers/nombre.d.ts +5 -2
- package/lib/math/numbers/nombre.d.ts.map +1 -1
- package/lib/math/numbers/nombre.js +22 -7
- package/lib/math/numbers/rationals/rational.d.ts +1 -0
- package/lib/math/numbers/rationals/rational.d.ts.map +1 -1
- package/lib/math/numbers/rationals/rational.js +4 -3
- package/lib/math/numbers/reals/real.d.ts +1 -0
- package/lib/math/numbers/reals/real.d.ts.map +1 -1
- package/lib/math/numbers/reals/real.js +3 -0
- package/lib/math/polynomials/affine.d.ts +20 -5
- package/lib/math/polynomials/affine.d.ts.map +1 -1
- package/lib/math/polynomials/affine.js +8 -12
- package/lib/math/polynomials/trinom.d.ts +40 -4
- package/lib/math/polynomials/trinom.d.ts.map +1 -1
- package/lib/math/polynomials/trinom.js +23 -28
- package/lib/math/sets/intervals/intervals.d.ts +9 -12
- package/lib/math/sets/intervals/intervals.d.ts.map +1 -1
- package/lib/math/sets/intervals/intervals.js +61 -135
- package/lib/math/utils/random/randint.d.ts.map +1 -1
- package/lib/math/utils/random/randint.js +2 -2
- package/lib/server.d.ts +6 -0
- package/lib/server.d.ts.map +1 -1
- package/lib/server.js +10 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/fractionNode.js +40 -0
- package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
- package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/intervalNode.js +14 -2
- package/lib/tree/nodes/sets/majorSets.d.ts +1 -0
- package/lib/tree/nodes/sets/majorSets.d.ts.map +1 -0
- package/lib/tree/nodes/sets/majorSets.js +1 -0
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts +4 -0
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.js +13 -2
- package/lib/types/numberType.d.ts +1 -0
- package/lib/types/numberType.d.ts.map +1 -0
- package/lib/types/numberType.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../src/math/matrices/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D,qBAAa,MAAM;IACjB,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBACJ,QAAQ,EAAE,aAAa,EAAE,EAAE;IAKvC,WAAW;IAUX,KAAK;CAKN"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Matrix = void 0;
|
|
4
|
+
const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
|
|
5
|
+
const substractNode_1 = require("../../tree/nodes/operators/substractNode");
|
|
6
|
+
class Matrix {
|
|
7
|
+
constructor(elements) {
|
|
8
|
+
this.elements = elements;
|
|
9
|
+
this.columns = elements[0].length;
|
|
10
|
+
this.rows = elements.length;
|
|
11
|
+
}
|
|
12
|
+
determinant() {
|
|
13
|
+
if (this.rows === 2 && this.columns === 2) {
|
|
14
|
+
return new substractNode_1.SubstractNode(new multiplyNode_1.MultiplyNode(this.elements[0][0], this.elements[1][1]), new multiplyNode_1.MultiplyNode(this.elements[0][1], this.elements[1][0])).simplify();
|
|
15
|
+
}
|
|
16
|
+
throw Error("general determinant not implemented yet");
|
|
17
|
+
}
|
|
18
|
+
toTex() {
|
|
19
|
+
return `\\begin{pmatrix}${this.elements
|
|
20
|
+
.map((row) => `${row.map((cell) => cell.toTex()).join("&")} \\\\[6pt]`)
|
|
21
|
+
.join("")}\\end{pmatrix}`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.Matrix = Matrix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/decimals/decimal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM;IAY1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAK/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;CAMrD;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,aAAsB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;gBACR,KAAK,EAAE,MAAM;IASzB;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIhC,oBAAoB,CAAC,KAAK,EAAE,MAAM;IAkClC,gBAAgB;IA2BhB,oBAAoB;IAsBpB,UAAU;IAMV,MAAM;CAGP"}
|
|
1
|
+
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/decimals/decimal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM;IAY1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAK/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;CAMrD;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,aAAsB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;gBACR,KAAK,EAAE,MAAM;IASzB,MAAM,CAAC,CAAC,EAAE,MAAM;IAIhB;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIhC,oBAAoB,CAAC,KAAK,EAAE,MAAM;IAkClC,gBAAgB;IA2BhB,oBAAoB;IAsBpB,UAAU;IAMV,MAAM;CAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/integer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;IAGrD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAW;IAGnC,MAAM,CAAC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,EAAE;CAYtB;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMvC,MAAM;IAIN,KAAK,CAAC,SAAS,EAAE,MAAM;IAkCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAc1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAYxC,QAAQ;IAGR,GAAG,CAAC,EAAE,EAAE,MAAM;CAYf"}
|
|
1
|
+
{"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/integer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;IAGrD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAW;IAGnC,MAAM,CAAC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,EAAE;CAYtB;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMvC,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,MAAM;IAIN,KAAK,CAAC,SAAS,EAAE,MAAM;IAkCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAc1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAYxC,QAAQ;IAGR,GAAG,CAAC,EAAE,EAAE,MAAM;CAYf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/power.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,KAAM,YAAW,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;gBACF,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOhC,QAAQ;IASR,gBAAgB,IAAI,MAAM;IAmB1B,MAAM;CAMP"}
|
|
1
|
+
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/power.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,KAAM,YAAW,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;gBACF,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOhC,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,QAAQ;IASR,gBAAgB,IAAI,MAAM;IAmB1B,MAAM;CAMP"}
|
|
@@ -13,6 +13,9 @@ class Power {
|
|
|
13
13
|
this.tex = `${a}^{${b}}`;
|
|
14
14
|
this.type = b < 0 ? nombre_1.NumberType.Rational : nombre_1.NumberType.Integer;
|
|
15
15
|
}
|
|
16
|
+
equals(n) {
|
|
17
|
+
return this.value === n.value;
|
|
18
|
+
}
|
|
16
19
|
simplify() {
|
|
17
20
|
if (this.power === 0)
|
|
18
21
|
return new numberNode_1.NumberNode(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ln.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/logarithms/ln.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,EAAG,YAAW,MAAM;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAM3B,MAAM;IAGN,QAAQ;CACT"}
|
|
1
|
+
{"version":3,"file":"ln.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/logarithms/ln.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,EAAG,YAAW,MAAM;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAM3B,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,MAAM;IAGN,QAAQ;CACT"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
|
|
2
2
|
import { NodeOptions } from "../../tree/nodes/node";
|
|
3
|
-
import { Integer } from "./integer/integer";
|
|
4
3
|
export declare enum NumberType {
|
|
5
4
|
Integer = 0,
|
|
6
5
|
Decimal = 1,
|
|
@@ -12,8 +11,12 @@ export interface Nombre {
|
|
|
12
11
|
tex: string;
|
|
13
12
|
type: NumberType;
|
|
14
13
|
toTree: (opts?: NodeOptions) => AlgebraicNode;
|
|
14
|
+
equals: (n: Nombre) => boolean;
|
|
15
15
|
}
|
|
16
16
|
export declare abstract class NombreConstructor {
|
|
17
|
-
static random(
|
|
17
|
+
static random({ types, excludes, }?: {
|
|
18
|
+
types?: NumberType[];
|
|
19
|
+
excludes?: Nombre[];
|
|
20
|
+
}): Nombre;
|
|
18
21
|
}
|
|
19
22
|
//# sourceMappingURL=nombre.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nombre.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/nombre.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"nombre.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/nombre.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,aAAa,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAChC;AAED,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CAAC,EACZ,KAAK,EACL,QAAQ,GACT,GAAE;QACD,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KAChB;CAiCP"}
|
|
@@ -15,23 +15,38 @@ var NumberType;
|
|
|
15
15
|
NumberType[NumberType["Real"] = 3] = "Real";
|
|
16
16
|
})(NumberType || (exports.NumberType = NumberType = {}));
|
|
17
17
|
class NombreConstructor {
|
|
18
|
-
static random() {
|
|
19
|
-
const
|
|
18
|
+
static random({ types, excludes, } = {}) {
|
|
19
|
+
const allowedTypes = types ?? [
|
|
20
20
|
NumberType.Integer,
|
|
21
21
|
NumberType.Decimal,
|
|
22
22
|
NumberType.Rational,
|
|
23
23
|
NumberType.Real,
|
|
24
|
-
]
|
|
24
|
+
];
|
|
25
|
+
const type = (0, random_1.random)(allowedTypes);
|
|
26
|
+
let res;
|
|
25
27
|
switch (type) {
|
|
26
28
|
case NumberType.Integer:
|
|
27
|
-
|
|
29
|
+
do {
|
|
30
|
+
res = new integer_1.Integer((0, randint_1.randint)(-9, 10));
|
|
31
|
+
} while (excludes?.some((el) => el.equals(res)));
|
|
32
|
+
break;
|
|
28
33
|
case NumberType.Decimal:
|
|
29
|
-
|
|
34
|
+
do {
|
|
35
|
+
res = decimal_1.DecimalConstructor.random(-9, 10);
|
|
36
|
+
} while (excludes?.some((el) => el.equals(res)));
|
|
37
|
+
break;
|
|
30
38
|
case NumberType.Rational:
|
|
31
|
-
|
|
39
|
+
do {
|
|
40
|
+
res = rational_1.RationalConstructor.randomIrreductible();
|
|
41
|
+
} while (excludes?.some((el) => el.equals(res)));
|
|
42
|
+
break;
|
|
32
43
|
case NumberType.Real:
|
|
33
|
-
|
|
44
|
+
do {
|
|
45
|
+
res = real_1.RealConstructor.random();
|
|
46
|
+
} while (excludes?.some((el) => el.equals(res)));
|
|
47
|
+
break;
|
|
34
48
|
}
|
|
49
|
+
return res;
|
|
35
50
|
}
|
|
36
51
|
}
|
|
37
52
|
exports.NombreConstructor = NombreConstructor;
|
|
@@ -19,6 +19,7 @@ export declare class Rational implements Nombre {
|
|
|
19
19
|
isSimplified: boolean;
|
|
20
20
|
type: NumberType;
|
|
21
21
|
constructor(numerator: number, denumerator: number);
|
|
22
|
+
equals(n: Nombre): boolean;
|
|
22
23
|
toTex(): string;
|
|
23
24
|
add(nb: Nombre): Nombre;
|
|
24
25
|
multiply(nb: Nombre): Rational | Integer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rational.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/rationals/rational.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,mBAAmB;IACvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,MAAW;IAW7C,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW;IAO1C,MAAM,CAAC,0BAA0B,CAAC,GAAG,GAAE,MAAW;CAQnD;AAED,qBAAa,QAAS,YAAW,MAAM;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;gBAEL,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAYlD,KAAK;IAML,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAkBvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAgBxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB1B,QAAQ,IAAI,QAAQ;IAIpB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW;IAgBzB,cAAc;IAId,QAAQ,IAAI,OAAO,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"rational.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/rationals/rational.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,mBAAmB;IACvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,MAAW;IAW7C,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW;IAO1C,MAAM,CAAC,0BAA0B,CAAC,GAAG,GAAE,MAAW;CAQnD;AAED,qBAAa,QAAS,YAAW,MAAM;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;gBAEL,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAYlD,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,KAAK;IAML,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAkBvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAgBxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB1B,QAAQ,IAAI,QAAQ;IAIpB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW;IAgBzB,cAAc;IAId,QAAQ,IAAI,OAAO,GAAG,QAAQ;CAS/B"}
|
|
@@ -58,6 +58,9 @@ class Rational {
|
|
|
58
58
|
this.tex = `${this.num < 0 ? "-" : ""}\\frac{${this.num < 0 ? -this.num : this.num}}{${this.denum}}`;
|
|
59
59
|
this.type = nombre_1.NumberType.Rational;
|
|
60
60
|
}
|
|
61
|
+
equals(n) {
|
|
62
|
+
return this.value === n.value;
|
|
63
|
+
}
|
|
61
64
|
toTex() {
|
|
62
65
|
return `${this.num < 0 ? "-" : ""}\\frac{${this.num < 0 ? -this.num : this.num}}{${this.denum}}`;
|
|
63
66
|
}
|
|
@@ -120,9 +123,7 @@ class Rational {
|
|
|
120
123
|
return this.denum !== 1 && (0, gcd_1.gcd)(this.num, this.denum) === 1;
|
|
121
124
|
}
|
|
122
125
|
simplify() {
|
|
123
|
-
const sign =
|
|
124
|
-
? 1
|
|
125
|
-
: -1;
|
|
126
|
+
const sign = this.num * this.denum > 0 ? 1 : -1;
|
|
126
127
|
const div = Math.abs((0, gcd_1.gcd)(this.num, this.denum));
|
|
127
128
|
if (Math.abs(this.denum) === div)
|
|
128
129
|
return new integer_1.Integer(this.num / this.denum);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/real.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAS/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,8BAAsB,eAAe;IACnC,MAAM,CAAC,MAAM;CAUd;AACD,qBAAa,IAAK,YAAW,MAAM;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBACL,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtC,MAAM,IAAI,aAAa;CAIxB;AAED,8BAAsB,qBAAqB;IACzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EACxB,kBAA0B,EAC1B,SAAc,GACf;;;KAAA,GAAG,UAAU;IASd,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW,GAAG,UAAU;CAIxD;AAED,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAK3B,cAAc;IAMd,mBAAmB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBvC,QAAQ,IAAI,MAAM;IAyBlB,KAAK,IAAI,MAAM;IAIf,MAAM;CAGP"}
|
|
1
|
+
{"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/real.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAS/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,8BAAsB,eAAe;IACnC,MAAM,CAAC,MAAM;CAUd;AACD,qBAAa,IAAK,YAAW,MAAM;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBACL,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtC,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,MAAM,IAAI,aAAa;CAIxB;AAED,8BAAsB,qBAAqB;IACzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EACxB,kBAA0B,EAC1B,SAAc,GACf;;;KAAA,GAAG,UAAU;IASd,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW,GAAG,UAAU;CAIxD;AAED,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAK3B,cAAc;IAMd,mBAAmB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBvC,QAAQ,IAAI,MAAM;IAyBlB,KAAK,IAAI,MAAM;IAIf,MAAM;CAGP"}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
import { Nombre } from
|
|
2
|
-
import {
|
|
3
|
-
import { Polynomial } from './polynomial';
|
|
1
|
+
import { Nombre } from "../numbers/nombre";
|
|
2
|
+
import { Polynomial } from "./polynomial";
|
|
4
3
|
export declare abstract class AffineConstructor {
|
|
5
|
-
static random(
|
|
6
|
-
|
|
4
|
+
static random(aOpts?: {
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
excludes?: number[];
|
|
8
|
+
}, bOpts?: {
|
|
9
|
+
min?: number;
|
|
10
|
+
max?: number;
|
|
11
|
+
excludes?: number[];
|
|
12
|
+
}): Affine;
|
|
13
|
+
static differentRandoms(nb: number, aOpts?: {
|
|
14
|
+
min?: number;
|
|
15
|
+
max?: number;
|
|
16
|
+
excludes?: number[];
|
|
17
|
+
}, bOpts?: {
|
|
18
|
+
min?: number;
|
|
19
|
+
max?: number;
|
|
20
|
+
excludes?: number[];
|
|
21
|
+
}): Affine[];
|
|
7
22
|
}
|
|
8
23
|
export declare class Affine extends Polynomial {
|
|
9
24
|
a: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/affine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/affine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC3D,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1D,MAAM;IAcT,MAAM,CAAC,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC3D,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1D,MAAM,EAAE;CAWZ;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;gBAEL,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAOxD,OAAO,IAAI,MAAM;IAIjB,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Affine = exports.AffineConstructor = void 0;
|
|
4
|
-
const integer_1 = require("../numbers/integer/integer");
|
|
5
4
|
const rational_1 = require("../numbers/rationals/rational");
|
|
6
|
-
const
|
|
7
|
-
const intervals_1 = require("../sets/intervals/intervals");
|
|
5
|
+
const randint_1 = require("../utils/random/randint");
|
|
8
6
|
const polynomial_1 = require("./polynomial");
|
|
9
7
|
class AffineConstructor {
|
|
10
|
-
static random(
|
|
11
|
-
const a =
|
|
12
|
-
const b =
|
|
13
|
-
|
|
14
|
-
throw Error('received null in AffineConstructor');
|
|
15
|
-
return new Affine(a.value, b.value);
|
|
8
|
+
static random(aOpts, bOpts) {
|
|
9
|
+
const a = (0, randint_1.randint)(aOpts?.min ?? -9, aOpts?.max ?? 10, aOpts?.excludes ?? [0]);
|
|
10
|
+
const b = (0, randint_1.randint)(bOpts?.min ?? -9, bOpts?.max ?? 10, bOpts?.excludes ?? []);
|
|
11
|
+
return new Affine(a, b);
|
|
16
12
|
}
|
|
17
|
-
static differentRandoms(nb,
|
|
13
|
+
static differentRandoms(nb, aOpts, bOpts) {
|
|
18
14
|
const res = [];
|
|
19
15
|
for (let i = 0; i < nb; i++) {
|
|
20
16
|
let aff;
|
|
21
17
|
do {
|
|
22
|
-
aff = AffineConstructor.random(
|
|
18
|
+
aff = AffineConstructor.random(aOpts, bOpts);
|
|
23
19
|
} while (res.some((affine) => affine.equals(aff)));
|
|
24
20
|
res.push(aff);
|
|
25
21
|
}
|
|
@@ -28,7 +24,7 @@ class AffineConstructor {
|
|
|
28
24
|
}
|
|
29
25
|
exports.AffineConstructor = AffineConstructor;
|
|
30
26
|
class Affine extends polynomial_1.Polynomial {
|
|
31
|
-
constructor(a, b, variable =
|
|
27
|
+
constructor(a, b, variable = "x") {
|
|
32
28
|
super([b, a], variable);
|
|
33
29
|
this.a = a;
|
|
34
30
|
this.b = b;
|
|
@@ -3,14 +3,50 @@ import { AddNode } from "../../tree/nodes/operators/addNode";
|
|
|
3
3
|
import { FractionNode } from "../../tree/nodes/operators/fractionNode";
|
|
4
4
|
import { MultiplyNode } from "../../tree/nodes/operators/multiplyNode";
|
|
5
5
|
import { Point } from "../geometry/point";
|
|
6
|
-
import { MathSet } from "../sets/mathSet";
|
|
7
6
|
import { Polynomial } from "./polynomial";
|
|
8
7
|
import { OppositeNode } from "../../tree/nodes/functions/oppositeNode";
|
|
9
8
|
import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
|
|
10
9
|
export declare abstract class TrinomConstructor {
|
|
11
|
-
static random(
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
static random(aOpts?: {
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
excludes?: number[];
|
|
14
|
+
}, bOpts?: {
|
|
15
|
+
min?: number;
|
|
16
|
+
max?: number;
|
|
17
|
+
excludes?: number[];
|
|
18
|
+
}, cOpts?: {
|
|
19
|
+
min?: number;
|
|
20
|
+
max?: number;
|
|
21
|
+
excludes?: number[];
|
|
22
|
+
}): Trinom;
|
|
23
|
+
static randomCanonical(aOpts?: {
|
|
24
|
+
min?: number;
|
|
25
|
+
max?: number;
|
|
26
|
+
excludes?: number[];
|
|
27
|
+
from?: number[];
|
|
28
|
+
}, alphaOpts?: {
|
|
29
|
+
min?: number;
|
|
30
|
+
max?: number;
|
|
31
|
+
excludes?: number[];
|
|
32
|
+
}, betaOpts?: {
|
|
33
|
+
min?: number;
|
|
34
|
+
max?: number;
|
|
35
|
+
excludes?: number[];
|
|
36
|
+
}): Trinom;
|
|
37
|
+
static randomFactorized(aOpts?: {
|
|
38
|
+
min?: number;
|
|
39
|
+
max?: number;
|
|
40
|
+
excludes?: number[];
|
|
41
|
+
}, x1Opts?: {
|
|
42
|
+
min?: number;
|
|
43
|
+
max?: number;
|
|
44
|
+
excludes?: number[];
|
|
45
|
+
}, x2Opts?: {
|
|
46
|
+
min?: number;
|
|
47
|
+
max?: number;
|
|
48
|
+
excludes?: number[];
|
|
49
|
+
}): Trinom;
|
|
14
50
|
}
|
|
15
51
|
export declare class Trinom extends Polynomial {
|
|
16
52
|
a: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trinom.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/trinom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"trinom.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/trinom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC3D,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC3D,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1D,MAAM;IAmBT,MAAM,CAAC,eAAe,CACpB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,EACD,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC/D,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC7D,MAAM;IAmBT,MAAM,CAAC,gBAAgB,CACrB,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC3D,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC5D,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC3D,MAAM;CAoBV;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;gBACL,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAQnE,QAAQ;IAGR,YAAY,IAAI,UAAU;IAI1B,QAAQ;IAUR,YAAY,IAAI,aAAa,EAAE;IAoD/B,2BAA2B;IAO3B,QAAQ;IAGR,YAAY;IAIZ,OAAO;IAIP,WAAW;IAIX,iBAAiB;IA4CjB,gBAAgB;IAsBhB,SAAS;CAGV"}
|
|
@@ -9,41 +9,36 @@ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
|
|
|
9
9
|
const powerNode_1 = require("../../tree/nodes/operators/powerNode");
|
|
10
10
|
const variableNode_1 = require("../../tree/nodes/variables/variableNode");
|
|
11
11
|
const point_1 = require("../geometry/point");
|
|
12
|
-
const integer_1 = require("../numbers/integer/integer");
|
|
13
12
|
const rational_1 = require("../numbers/rationals/rational");
|
|
14
13
|
const real_1 = require("../numbers/reals/real");
|
|
15
|
-
const discreteSet_1 = require("../sets/discreteSet");
|
|
16
|
-
const intervals_1 = require("../sets/intervals/intervals");
|
|
17
14
|
const polynomial_1 = require("./polynomial");
|
|
18
15
|
const oppositeNode_1 = require("../../tree/nodes/functions/oppositeNode");
|
|
19
16
|
const gcd_1 = require("../utils/arithmetic/gcd");
|
|
17
|
+
const randint_1 = require("../utils/random/randint");
|
|
18
|
+
const random_1 = require("../../utils/random");
|
|
20
19
|
class TrinomConstructor {
|
|
21
|
-
static random(
|
|
22
|
-
const a =
|
|
23
|
-
const b =
|
|
24
|
-
const c =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const alpha =
|
|
32
|
-
const beta =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
const x1 = domainX1.getRandomElement();
|
|
42
|
-
const x2 = domainX2.getRandomElement();
|
|
43
|
-
if (a === null || x1 === null || x2 === null)
|
|
44
|
-
throw Error("received null in random factorized");
|
|
20
|
+
static random(aOpts, bOpts, cOpts) {
|
|
21
|
+
const a = (0, randint_1.randint)(aOpts?.min ?? -9, aOpts?.max ?? 10, aOpts?.excludes ?? [0]);
|
|
22
|
+
const b = (0, randint_1.randint)(bOpts?.min ?? -9, bOpts?.max ?? 10, bOpts?.excludes ?? []);
|
|
23
|
+
const c = (0, randint_1.randint)(cOpts?.min ?? -9, cOpts?.max ?? 10, cOpts?.excludes ?? []);
|
|
24
|
+
return new Trinom(a, b, c);
|
|
25
|
+
}
|
|
26
|
+
static randomCanonical(aOpts, alphaOpts, betaOpts) {
|
|
27
|
+
const a = aOpts?.from
|
|
28
|
+
? (0, random_1.random)(aOpts.from)
|
|
29
|
+
: (0, randint_1.randint)(aOpts?.min ?? -9, aOpts?.max ?? 10, aOpts?.excludes ?? [0]);
|
|
30
|
+
const alpha = (0, randint_1.randint)(alphaOpts?.min ?? -9, alphaOpts?.max ?? 10, alphaOpts?.excludes ?? []);
|
|
31
|
+
const beta = (0, randint_1.randint)(betaOpts?.min ?? -9, betaOpts?.max ?? 10, betaOpts?.excludes ?? []);
|
|
32
|
+
const b = -2 * a * alpha;
|
|
33
|
+
const c = a * alpha ** 2 + beta;
|
|
34
|
+
return new Trinom(a, b, c);
|
|
35
|
+
}
|
|
36
|
+
static randomFactorized(aOpts, x1Opts, x2Opts) {
|
|
37
|
+
const a = (0, randint_1.randint)(aOpts?.min ?? -9, aOpts?.max ?? 10, aOpts?.excludes ?? [0]);
|
|
38
|
+
const x1 = (0, randint_1.randint)(x1Opts?.min ?? -9, x1Opts?.max ?? 10, x1Opts?.excludes ?? []);
|
|
39
|
+
const x2 = (0, randint_1.randint)(x2Opts?.min ?? -9, x2Opts?.max ?? 10, x2Opts?.excludes ?? []);
|
|
45
40
|
//a*x^2 + ax*-x2 + a*-x1*x + a*-x1*-x2
|
|
46
|
-
return new Trinom(a
|
|
41
|
+
return new Trinom(a, -a * (x1 + x2), a * x1 * x2);
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
44
|
exports.TrinomConstructor = TrinomConstructor;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Nombre
|
|
1
|
+
import { Nombre } from "../../../math/numbers/nombre";
|
|
2
|
+
import { AlgebraicNode } from "../../../tree/nodes/algebraicNode";
|
|
2
3
|
import { ClosureType, IntervalNode } from "../../../tree/nodes/sets/intervalNode";
|
|
3
|
-
import { DiscreteSet } from "../discreteSet";
|
|
4
4
|
import { MathSet } from "../mathSet";
|
|
5
5
|
import { MathSetInterface } from "../mathSetInterface";
|
|
6
6
|
export declare abstract class IntervalConstructor {
|
|
@@ -8,29 +8,26 @@ export declare abstract class IntervalConstructor {
|
|
|
8
8
|
static differentRandoms(nb: number): Interval[];
|
|
9
9
|
}
|
|
10
10
|
export declare class Interval implements MathSetInterface {
|
|
11
|
+
minNode: AlgebraicNode;
|
|
11
12
|
min: number;
|
|
12
13
|
minTex: string;
|
|
13
14
|
max: number;
|
|
15
|
+
maxNode: AlgebraicNode;
|
|
14
16
|
maxTex: string;
|
|
15
17
|
closure: ClosureType;
|
|
16
18
|
leftBracket: "[" | "]";
|
|
17
19
|
rightBracket: "[" | "]";
|
|
18
|
-
leftInequalitySymbol: "\\le" | "<"
|
|
19
|
-
rightInequalitySymbol: "\\le" | "<"
|
|
20
|
-
type: NumberType;
|
|
20
|
+
leftInequalitySymbol: "\\le" | "<";
|
|
21
|
+
rightInequalitySymbol: "\\le" | "<";
|
|
21
22
|
tex: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*/
|
|
25
|
-
constructor(tex?: string);
|
|
23
|
+
constructor(min: AlgebraicNode, max: AlgebraicNode, closure: ClosureType);
|
|
24
|
+
equals(interval: Interval): boolean;
|
|
26
25
|
union(interval: Interval): MathSet;
|
|
27
26
|
intersection(interval: Interval): MathSet;
|
|
28
|
-
exclude(nb: number): MathSet;
|
|
29
|
-
difference(set: DiscreteSet): MathSet;
|
|
30
27
|
insideToTex(): string;
|
|
31
28
|
toTex(): string;
|
|
32
29
|
toInequality(): string;
|
|
33
|
-
getRandomElement(
|
|
30
|
+
getRandomElement(): Nombre;
|
|
34
31
|
toTree(): IntervalNode;
|
|
35
32
|
}
|
|
36
33
|
//# sourceMappingURL=intervals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intervals.d.ts","sourceRoot":"","sources":["../../../../src/math/sets/intervals/intervals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"intervals.d.ts","sourceRoot":"","sources":["../../../../src/math/sets/intervals/intervals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAc,MAAM,2BAA2B,CAAC;AAI/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM/D,OAAO,EACL,WAAW,EACX,YAAY,EAEb,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,MAAM;IA2Cb,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM;CAWnC;AAED,qBAAa,QAAS,YAAW,gBAAgB;IAC/C,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC;IACvB,YAAY,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,GAAG,CAAC;IACnC,qBAAqB,EAAE,MAAM,GAAG,GAAG,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;gBACA,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW;IAiBxE,MAAM,CAAC,QAAQ,EAAE,QAAQ;IAOzB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IA6ClC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAyCzC,WAAW,IAAI,MAAM;IAGrB,KAAK,IAAI,MAAM;IAMf,YAAY,IAAI,MAAM;IAmBtB,gBAAgB,IAAI,MAAM;IAI1B,MAAM;CAGP"}
|