math-exercises 1.3.5 → 1.3.7
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/calcul/addAndSub.d.ts +7 -0
- package/lib/exercises/calcul/addAndSub.d.ts.map +1 -0
- package/lib/exercises/calcul/addAndSub.js +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +6 -6
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +5 -5
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +5 -5
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionsDivision.js +3 -3
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionsProduct.js +3 -3
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts +4 -0
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/fractionsSum.js +3 -3
- package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +4 -0
- package/lib/exercises/calcul/fractions/simplifyFraction.d.ts.map +1 -0
- package/lib/exercises/calcul/fractions/simplifyFraction.js +2 -2
- package/lib/exercises/calcul/operations/operationsPriorities.d.ts +11 -0
- package/lib/exercises/calcul/operations/operationsPriorities.d.ts.map +1 -0
- package/lib/exercises/calcul/operations/operationsPriorities.js +7 -7
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +1 -0
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts.map +1 -0
- package/lib/exercises/calcul/rounding/rounding.d.ts +20 -0
- package/lib/exercises/calcul/rounding/rounding.d.ts.map +1 -0
- package/lib/exercises/calcul/rounding/rounding.js +3 -3
- package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/allIdentities.js +2 -2
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +6 -6
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +4 -4
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +7 -7
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +7 -7
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +4 -0
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +6 -6
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +7 -0
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +6 -6
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +7 -0
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +8 -8
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +7 -0
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +8 -8
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +7 -0
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +8 -8
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +7 -0
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +7 -7
- package/lib/exercises/exercise.d.ts +16 -0
- package/lib/exercises/exercise.d.ts.map +1 -0
- package/lib/exercises/exercises.d.ts +3 -0
- package/lib/exercises/exercises.d.ts.map +1 -0
- package/lib/exercises/geometry/cartesian/midpoint.d.ts +4 -0
- package/lib/exercises/geometry/cartesian/midpoint.d.ts.map +1 -0
- package/lib/exercises/geometry/cartesian/midpoint.js +4 -4
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +4 -0
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts.map +1 -0
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +4 -4
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.d.ts +1 -0
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.d.ts.map +1 -0
- package/lib/exercises/powers/powersDivision.d.ts +8 -0
- package/lib/exercises/powers/powersDivision.d.ts.map +1 -0
- package/lib/exercises/powers/powersDivision.js +5 -5
- package/lib/exercises/powers/powersOfTenToDecimal.d.ts +7 -0
- package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -0
- package/lib/exercises/powers/powersOfTenToDecimal.js +4 -4
- package/lib/exercises/powers/powersPower.d.ts +8 -0
- package/lib/exercises/powers/powersPower.d.ts.map +1 -0
- package/lib/exercises/powers/powersPower.js +4 -4
- package/lib/exercises/powers/powersProduct.d.ts +8 -0
- package/lib/exercises/powers/powersProduct.d.ts.map +1 -0
- package/lib/exercises/powers/powersProduct.js +5 -5
- package/lib/exercises/powers/scientificToDecimal.d.ts +7 -0
- package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -0
- package/lib/exercises/powers/scientificToDecimal.js +6 -6
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +1 -0
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts.map +1 -0
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +3 -3
- package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +1 -0
- package/lib/exercises/sequences/geometric/geometricFindReason.d.ts.map +1 -0
- package/lib/exercises/sequences/geometric/geometricFindReason.js +3 -3
- package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +4 -0
- package/lib/exercises/squareRoots/simpifySquareRoot.d.ts.map +1 -0
- package/lib/exercises/squareRoots/simpifySquareRoot.js +1 -1
- package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +4 -0
- package/lib/exercises/trigonometry/mainRemarkableValues.d.ts.map +1 -0
- package/lib/exercises/trigonometry/mainRemarkableValues.js +2 -2
- package/lib/exercises/trigonometry/remarkableValues.d.ts +4 -0
- package/lib/exercises/trigonometry/remarkableValues.d.ts.map +1 -0
- package/lib/exercises/trigonometry/remarkableValues.js +2 -2
- package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -0
- package/lib/exercises/utils/getDistinctQuestions.d.ts.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +4 -2
- package/lib/math/geometry/point.d.ts +13 -0
- package/lib/math/geometry/point.d.ts.map +1 -0
- package/lib/math/geometry/point.js +4 -4
- package/lib/math/geometry/vector.d.ts +16 -0
- package/lib/math/geometry/vector.d.ts.map +1 -0
- package/lib/math/geometry/vector.js +4 -4
- package/lib/math/numbers/decimals/decimal.d.ts +25 -0
- package/lib/math/numbers/decimals/decimal.d.ts.map +1 -0
- package/lib/math/numbers/decimals/decimal.js +17 -17
- package/lib/math/numbers/epsilon.d.ts +2 -0
- package/lib/math/numbers/epsilon.d.ts.map +1 -0
- package/lib/math/numbers/integer/integer.d.ts +15 -0
- package/lib/math/numbers/integer/integer.d.ts.map +1 -0
- package/lib/math/numbers/integer/integer.js +9 -9
- package/lib/math/numbers/integer/power.d.ts +14 -0
- package/lib/math/numbers/integer/power.d.ts.map +1 -0
- package/lib/math/numbers/integer/power.js +8 -8
- package/lib/math/numbers/nombre.d.ts +14 -0
- package/lib/math/numbers/nombre.d.ts.map +1 -0
- package/lib/math/numbers/rationals/rational.d.ts +26 -0
- package/lib/math/numbers/rationals/rational.d.ts.map +1 -0
- package/lib/math/numbers/rationals/rational.js +12 -12
- package/lib/math/numbers/reals/real.d.ts +10 -0
- package/lib/math/numbers/reals/real.d.ts.map +1 -0
- package/lib/math/numbers/reals/real.js +1 -1
- package/lib/math/numbers/reals/squareRoot.d.ts +19 -0
- package/lib/math/numbers/reals/squareRoot.d.ts.map +1 -0
- package/lib/math/numbers/reals/squareRoot.js +8 -8
- package/lib/math/polynomials/affine.d.ts +16 -0
- package/lib/math/polynomials/affine.d.ts.map +1 -0
- package/lib/math/polynomials/affine.js +4 -4
- package/lib/math/polynomials/polynomial.d.ts +25 -0
- package/lib/math/polynomials/polynomial.d.ts.map +1 -0
- package/lib/math/sequences/arithmeticSequence.d.ts +1 -0
- package/lib/math/sequences/arithmeticSequence.d.ts.map +1 -0
- package/lib/math/sequences/geometricSequence.d.ts +4 -0
- package/lib/math/sequences/geometricSequence.d.ts.map +1 -0
- package/lib/math/sequences/sequence.d.ts +15 -0
- package/lib/math/sequences/sequence.d.ts.map +1 -0
- package/lib/math/sequences/sequence.js +0 -2
- package/lib/math/sets/discreteSet.d.ts +11 -0
- package/lib/math/sets/discreteSet.d.ts.map +1 -0
- package/lib/math/sets/discreteSet.js +4 -4
- package/lib/math/sets/emptySet.d.ts +1 -0
- package/lib/math/sets/emptySet.d.ts.map +1 -0
- package/lib/math/sets/intervals/intervals.d.ts +27 -0
- package/lib/math/sets/intervals/intervals.d.ts.map +1 -0
- package/lib/math/sets/intervals/intervals.js +5 -5
- package/lib/math/sets/mathSet.d.ts +8 -0
- package/lib/math/sets/mathSet.d.ts.map +1 -0
- package/lib/math/sets/mathSetInterface.d.ts +6 -0
- package/lib/math/sets/mathSetInterface.d.ts.map +1 -0
- package/lib/math/trigonometry/remarkableValue.d.ts +11 -0
- package/lib/math/trigonometry/remarkableValue.d.ts.map +1 -0
- package/lib/math/trigonometry/remarkableValue.js +7 -7
- package/lib/math/trigonometry/remarkableValues.d.ts +3 -0
- package/lib/math/trigonometry/remarkableValues.d.ts.map +1 -0
- package/lib/math/trigonometry/remarkableValues.js +6 -6
- package/lib/math/utils/arithmetic/coprimesOf.d.ts +2 -0
- package/lib/math/utils/arithmetic/coprimesOf.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/dividersOf.d.ts +2 -0
- package/lib/math/utils/arithmetic/dividersOf.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/gcd.d.ts +2 -0
- package/lib/math/utils/arithmetic/gcd.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/isSquare.d.ts +2 -0
- package/lib/math/utils/arithmetic/isSquare.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/lcd.d.ts +2 -0
- package/lib/math/utils/arithmetic/lcd.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +2 -0
- package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/nonDividersOf.d.ts +2 -0
- package/lib/math/utils/arithmetic/nonDividersOf.d.ts.map +1 -0
- package/lib/math/utils/arithmetic/primeFactors.d.ts +6 -0
- package/lib/math/utils/arithmetic/primeFactors.d.ts.map +1 -0
- package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +2 -0
- package/lib/math/utils/decimals/decimalPartLengthOf.d.ts.map +1 -0
- package/lib/math/utils/random/randTupleInt.d.ts +14 -0
- package/lib/math/utils/random/randTupleInt.d.ts.map +1 -0
- package/lib/math/utils/random/randTupleInt.js +2 -2
- package/lib/math/utils/random/randint.d.ts +5 -0
- package/lib/math/utils/random/randint.d.ts.map +1 -0
- package/lib/math/utils/round.d.ts +2 -0
- package/lib/math/utils/round.d.ts.map +1 -0
- package/lib/tree/nodes/functions/cosNode.d.ts +10 -0
- package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -0
- package/lib/tree/nodes/functions/functionNode.d.ts +15 -0
- package/lib/tree/nodes/functions/functionNode.d.ts.map +1 -0
- package/lib/tree/nodes/functions/oppositeNode.d.ts +8 -0
- package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -0
- package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
- package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -0
- package/lib/tree/nodes/functions/sqrtNode.d.ts +9 -0
- package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -0
- package/lib/tree/nodes/node.d.ts +13 -0
- package/lib/tree/nodes/node.d.ts.map +1 -0
- package/lib/tree/nodes/numbers/constantNode.d.ts +10 -0
- package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -0
- package/lib/tree/nodes/numbers/numberNode.d.ts +11 -0
- package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -0
- package/lib/tree/nodes/numbers/piNode.d.ts +3 -0
- package/lib/tree/nodes/numbers/piNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/addNode.d.ts +8 -0
- package/lib/tree/nodes/operators/addNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/divideNode.d.ts +12 -0
- package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/equalNode.d.ts +8 -0
- package/lib/tree/nodes/operators/equalNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts +12 -0
- package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/multiplyNode.d.ts +8 -0
- package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/operatorNode.d.ts +22 -0
- package/lib/tree/nodes/operators/operatorNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/powerNode.d.ts +8 -0
- package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -0
- package/lib/tree/nodes/operators/substractNode.d.ts +8 -0
- package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -0
- package/lib/tree/nodes/variables/variableNode.d.ts +9 -0
- package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -0
- package/lib/tree/parsers/derivateParser.d.ts +1 -0
- package/lib/tree/parsers/derivateParser.d.ts.map +1 -0
- package/lib/tree/parsers/simplify.d.ts +3 -0
- package/lib/tree/parsers/simplify.d.ts.map +1 -0
- package/lib/utils/arrayEqual.d.ts +2 -0
- package/lib/utils/arrayEqual.d.ts.map +1 -0
- package/lib/utils/coinFlip.d.ts +2 -0
- package/lib/utils/coinFlip.d.ts.map +1 -0
- package/lib/utils/random.d.ts +2 -0
- package/lib/utils/random.d.ts.map +1 -0
- package/lib/utils/shuffle.d.ts +2 -0
- package/lib/utils/shuffle.d.ts.map +1 -0
- package/package.json +7 -3
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Decimal = exports.DecimalConstructor = void 0;
|
|
4
|
-
const randint_1 = require("
|
|
5
|
-
const numberNode_1 = require("
|
|
4
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
5
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
6
6
|
const integer_1 = require("../integer/integer");
|
|
7
7
|
const nombre_1 = require("../nombre");
|
|
8
8
|
class DecimalConstructor {
|
|
9
9
|
static randomFracPart(precision) {
|
|
10
|
-
let decimals =
|
|
10
|
+
let decimals = '';
|
|
11
11
|
for (let i = 0; i < precision; i++) {
|
|
12
12
|
decimals += (0, randint_1.randint)(i === precision - 1 ? 1 : 0, 10);
|
|
13
13
|
}
|
|
14
14
|
return decimals;
|
|
15
15
|
}
|
|
16
16
|
static random(min, max, precision) {
|
|
17
|
-
const int = (0, randint_1.randint)(min, max) +
|
|
17
|
+
const int = (0, randint_1.randint)(min, max) + '';
|
|
18
18
|
const decimals = DecimalConstructor.randomFracPart(precision);
|
|
19
19
|
return DecimalConstructor.fromParts(int, decimals);
|
|
20
20
|
}
|
|
21
21
|
static fromParts(intPart, decimalPart) {
|
|
22
|
-
return new Decimal(Number(
|
|
22
|
+
return new Decimal(Number('' + intPart + '.' + decimalPart));
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.DecimalConstructor = DecimalConstructor;
|
|
@@ -27,10 +27,10 @@ class Decimal {
|
|
|
27
27
|
constructor(value) {
|
|
28
28
|
this.type = nombre_1.NumberType.Decimal;
|
|
29
29
|
this.value = value;
|
|
30
|
-
this.tex = value +
|
|
31
|
-
let [intPartString, decimalPartString] = (value +
|
|
30
|
+
this.tex = value + '';
|
|
31
|
+
let [intPartString, decimalPartString] = (value + '').split('.');
|
|
32
32
|
this.intPart = Number(intPartString);
|
|
33
|
-
this.decimalPart = decimalPartString ||
|
|
33
|
+
this.decimalPart = decimalPartString || '';
|
|
34
34
|
this.precision = this.decimalPart.length;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -39,7 +39,7 @@ class Decimal {
|
|
|
39
39
|
* @returns
|
|
40
40
|
*/
|
|
41
41
|
round(precision) {
|
|
42
|
-
const intPartString = this.intPart +
|
|
42
|
+
const intPartString = this.intPart + '';
|
|
43
43
|
if (precision < 0) {
|
|
44
44
|
if (precision < -intPartString.length)
|
|
45
45
|
throw Error("can't round to higher precision");
|
|
@@ -49,7 +49,7 @@ class Decimal {
|
|
|
49
49
|
throw Error("can't round to higher precision");
|
|
50
50
|
if (precision === this.precision)
|
|
51
51
|
return this;
|
|
52
|
-
let newFracPart =
|
|
52
|
+
let newFracPart = '', newIntPart = '';
|
|
53
53
|
const shouldRoundUp = Number(this.decimalPart[precision]) > 4;
|
|
54
54
|
if (shouldRoundUp) {
|
|
55
55
|
let retenue = true;
|
|
@@ -72,7 +72,7 @@ class Decimal {
|
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
const nb = (Number(intPartString[i + intPartString.length]) + 1) % 10;
|
|
75
|
-
newIntPart = nb +
|
|
75
|
+
newIntPart = nb + '' + newIntPart;
|
|
76
76
|
if (nb !== 0) {
|
|
77
77
|
retenue = false;
|
|
78
78
|
for (let j = i + intPartString.length - 1; j > -1; j--) {
|
|
@@ -112,22 +112,22 @@ class Decimal {
|
|
|
112
112
|
return DecimalConstructor.fromParts(newIntPart, newFracPart);
|
|
113
113
|
}
|
|
114
114
|
multiplyByPowerOfTen(power) {
|
|
115
|
-
let newIntPart =
|
|
115
|
+
let newIntPart = '', newFracPart = '';
|
|
116
116
|
if (power > -1) {
|
|
117
|
-
newIntPart = this.intPart +
|
|
117
|
+
newIntPart = this.intPart + '';
|
|
118
118
|
for (let i = 0; i < power; i++) {
|
|
119
|
-
newIntPart += i > this.decimalPart.length - 1 ?
|
|
119
|
+
newIntPart += i > this.decimalPart.length - 1 ? '0' : this.decimalPart[i];
|
|
120
120
|
}
|
|
121
121
|
newFracPart = this.decimalPart.slice(power);
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
|
-
const intPartString = this.intPart +
|
|
124
|
+
const intPartString = this.intPart + '';
|
|
125
125
|
newFracPart = this.decimalPart;
|
|
126
126
|
for (let i = intPartString.length - 1; i > intPartString.length - 1 + power; i--) {
|
|
127
|
-
newFracPart = (i < 0 ?
|
|
127
|
+
newFracPart = (i < 0 ? '0' : intPartString[i]) + newFracPart;
|
|
128
128
|
}
|
|
129
129
|
if (power + intPartString.length < 1)
|
|
130
|
-
newIntPart =
|
|
130
|
+
newIntPart = '0';
|
|
131
131
|
else
|
|
132
132
|
newIntPart = intPartString.slice(0, power + intPartString.length);
|
|
133
133
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epsilon.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/epsilon.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,QAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Node } from '../../../tree/nodes/node';
|
|
2
|
+
import { Nombre, NumberType } from '../nombre';
|
|
3
|
+
export declare abstract class IntegerConstructor {
|
|
4
|
+
static random(nbOfDigits: number): number;
|
|
5
|
+
}
|
|
6
|
+
export declare class Integer implements Nombre {
|
|
7
|
+
value: number;
|
|
8
|
+
tex: string;
|
|
9
|
+
type: NumberType;
|
|
10
|
+
constructor(value: number, tex?: string);
|
|
11
|
+
toTree(): Node;
|
|
12
|
+
round(precision: number): Integer;
|
|
13
|
+
divide(nb: Nombre): Nombre;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=integer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/integer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM;CAGjC;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,IAAI,IAAI;IAId,KAAK,CAAC,SAAS,EAAE,MAAM;IAiCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;CAW3B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Integer = exports.IntegerConstructor = void 0;
|
|
4
|
-
const randint_1 = require("
|
|
5
|
-
const numberNode_1 = require("
|
|
4
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
5
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
6
6
|
const nombre_1 = require("../nombre");
|
|
7
7
|
const rational_1 = require("../rationals/rational");
|
|
8
8
|
class IntegerConstructor {
|
|
@@ -14,27 +14,27 @@ exports.IntegerConstructor = IntegerConstructor;
|
|
|
14
14
|
class Integer {
|
|
15
15
|
constructor(value, tex) {
|
|
16
16
|
this.value = value;
|
|
17
|
-
this.tex = tex || value +
|
|
17
|
+
this.tex = tex || value + '';
|
|
18
18
|
this.type = nombre_1.NumberType.Integer;
|
|
19
19
|
}
|
|
20
20
|
toTree() {
|
|
21
21
|
return new numberNode_1.NumberNode(this.value, this.tex);
|
|
22
22
|
}
|
|
23
23
|
round(precision) {
|
|
24
|
-
const intString = this.value +
|
|
24
|
+
const intString = this.value + '';
|
|
25
25
|
if (precision >= intString.length || precision < 1)
|
|
26
26
|
throw Error("can't round to higher precision");
|
|
27
|
-
let newInt =
|
|
27
|
+
let newInt = '';
|
|
28
28
|
const shouldRoundUp = Number(intString[intString.length - precision]) > 4;
|
|
29
29
|
if (shouldRoundUp) {
|
|
30
30
|
for (let i = 0; i < precision; i++) {
|
|
31
|
-
newInt +=
|
|
31
|
+
newInt += '0';
|
|
32
32
|
}
|
|
33
33
|
let retenue = true;
|
|
34
34
|
let i = intString.length - precision - 1;
|
|
35
35
|
while (retenue) {
|
|
36
36
|
const nb = (Number(intString[i]) + 1) % 10;
|
|
37
|
-
newInt =
|
|
37
|
+
newInt = '' + nb + newInt;
|
|
38
38
|
if (nb === 0) {
|
|
39
39
|
i--;
|
|
40
40
|
}
|
|
@@ -48,7 +48,7 @@ class Integer {
|
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
for (let i = 0; i < intString.length; i++) {
|
|
51
|
-
newInt += i < intString.length - precision ? intString[i] :
|
|
51
|
+
newInt += i < intString.length - precision ? intString[i] : '0';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
return new Integer(Number(newInt));
|
|
@@ -61,7 +61,7 @@ class Integer {
|
|
|
61
61
|
const rational = nb;
|
|
62
62
|
return new rational_1.Rational(this.value * rational.denum, rational.num).simplify();
|
|
63
63
|
default:
|
|
64
|
-
throw Error(
|
|
64
|
+
throw Error('not implemented');
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Node } from '../../../tree/nodes/node';
|
|
2
|
+
import { Nombre, NumberType } from '../nombre';
|
|
3
|
+
export declare class Power implements Nombre {
|
|
4
|
+
value: number;
|
|
5
|
+
tex: string;
|
|
6
|
+
type: NumberType;
|
|
7
|
+
operand: number;
|
|
8
|
+
power: number;
|
|
9
|
+
constructor(a: number, b: number);
|
|
10
|
+
simplify(): Node;
|
|
11
|
+
toDecimalWriting(): Nombre;
|
|
12
|
+
toTree(): Node;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=power.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,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,IAAI,IAAI;IAQhB,gBAAgB,IAAI,MAAM;IAkB1B,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Power = void 0;
|
|
4
|
-
const numberNode_1 = require("
|
|
5
|
-
const powerNode_1 = require("
|
|
4
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
5
|
+
const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
6
6
|
const nombre_1 = require("../nombre");
|
|
7
7
|
const integer_1 = require("./integer");
|
|
8
8
|
class Power {
|
|
@@ -28,20 +28,20 @@ class Power {
|
|
|
28
28
|
}
|
|
29
29
|
toDecimalWriting() {
|
|
30
30
|
if (this.operand !== 10)
|
|
31
|
-
throw Error(
|
|
32
|
-
let s =
|
|
31
|
+
throw Error('only implemented for powers of ten so far');
|
|
32
|
+
let s = '';
|
|
33
33
|
if (this.power > -1) {
|
|
34
|
-
s +=
|
|
34
|
+
s += '1';
|
|
35
35
|
for (let i = 0; i < this.power; i++) {
|
|
36
36
|
s += 0;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
s +=
|
|
40
|
+
s += '1';
|
|
41
41
|
for (let i = 1; i < Math.abs(this.power); i++) {
|
|
42
|
-
s =
|
|
42
|
+
s = '0' + s;
|
|
43
43
|
}
|
|
44
|
-
s =
|
|
44
|
+
s = '0.' + s;
|
|
45
45
|
}
|
|
46
46
|
return new integer_1.Integer(Number(s), s);
|
|
47
47
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Node } from '../../tree/nodes/node';
|
|
2
|
+
export declare enum NumberType {
|
|
3
|
+
Integer = 0,
|
|
4
|
+
Decimal = 1,
|
|
5
|
+
Rational = 2,
|
|
6
|
+
Real = 3
|
|
7
|
+
}
|
|
8
|
+
export interface Nombre {
|
|
9
|
+
value: number;
|
|
10
|
+
tex: string;
|
|
11
|
+
type: NumberType;
|
|
12
|
+
toTree: () => Node;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=nombre.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nombre.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/nombre.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Node } from '../../../tree/nodes/node';
|
|
2
|
+
import { Nombre, NumberType } from '../nombre';
|
|
3
|
+
export declare abstract class RationalConstructor {
|
|
4
|
+
/**
|
|
5
|
+
* @param maxGcd max number by which the fraction is simplifiable
|
|
6
|
+
*/
|
|
7
|
+
static randomSimplifiable(maxGcd?: number): Rational;
|
|
8
|
+
static randomIrreductible(max?: number): Rational;
|
|
9
|
+
}
|
|
10
|
+
export declare class Rational implements Nombre {
|
|
11
|
+
num: number;
|
|
12
|
+
denum: number;
|
|
13
|
+
tex: string;
|
|
14
|
+
value: number;
|
|
15
|
+
isSimplified: boolean;
|
|
16
|
+
type: NumberType;
|
|
17
|
+
constructor(numerator: number, denumerator: number);
|
|
18
|
+
toTex(): string;
|
|
19
|
+
add(nb: Nombre): Nombre;
|
|
20
|
+
multiply(nb: Nombre): Nombre;
|
|
21
|
+
divide(nb: Nombre): Nombre;
|
|
22
|
+
opposite(): Rational;
|
|
23
|
+
toTree(): Node;
|
|
24
|
+
simplify(): Nombre;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=rational.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rational.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/rationals/rational.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO7C,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;CAO3C;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;IAUlD,KAAK;IAIL,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgBvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB5B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB1B,QAAQ,IAAI,QAAQ;IAIpB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,MAAM;CAMnB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Rational = exports.RationalConstructor = void 0;
|
|
4
|
-
const coprimesOf_1 = require("
|
|
5
|
-
const gcd_1 = require("
|
|
6
|
-
const lcd_1 = require("
|
|
7
|
-
const randint_1 = require("
|
|
8
|
-
const numberNode_1 = require("
|
|
9
|
-
const fractionNode_1 = require("
|
|
10
|
-
const random_1 = require("
|
|
11
|
-
const shuffle_1 = require("
|
|
4
|
+
const coprimesOf_1 = require("../../../math/utils/arithmetic/coprimesOf");
|
|
5
|
+
const gcd_1 = require("../../../math/utils/arithmetic/gcd");
|
|
6
|
+
const lcd_1 = require("../../../math/utils/arithmetic/lcd");
|
|
7
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
8
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
9
|
+
const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
|
|
10
|
+
const random_1 = require("../../../utils/random");
|
|
11
|
+
const shuffle_1 = require("../../../utils/shuffle");
|
|
12
12
|
const integer_1 = require("../integer/integer");
|
|
13
13
|
const nombre_1 = require("../nombre");
|
|
14
14
|
class RationalConstructor {
|
|
@@ -39,7 +39,7 @@ exports.RationalConstructor = RationalConstructor;
|
|
|
39
39
|
class Rational {
|
|
40
40
|
constructor(numerator, denumerator) {
|
|
41
41
|
if (denumerator === 0)
|
|
42
|
-
throw Error(
|
|
42
|
+
throw Error('division by zero');
|
|
43
43
|
this.num = numerator;
|
|
44
44
|
this.denum = denumerator;
|
|
45
45
|
this.value = numerator / denumerator;
|
|
@@ -63,7 +63,7 @@ class Rational {
|
|
|
63
63
|
return new Rational(num, ppcm).simplify();
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
throw Error(
|
|
66
|
+
throw Error('not implemented yet');
|
|
67
67
|
}
|
|
68
68
|
multiply(nb) {
|
|
69
69
|
switch (nb.type) {
|
|
@@ -79,7 +79,7 @@ class Rational {
|
|
|
79
79
|
return new Rational(num, denum).simplify();
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
throw Error(
|
|
82
|
+
throw Error('not implemented yet');
|
|
83
83
|
}
|
|
84
84
|
divide(nb) {
|
|
85
85
|
switch (nb.type) {
|
|
@@ -94,7 +94,7 @@ class Rational {
|
|
|
94
94
|
return new Rational(num, denum).simplify();
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
throw Error(
|
|
97
|
+
throw Error('not implemented yet');
|
|
98
98
|
}
|
|
99
99
|
opposite() {
|
|
100
100
|
return new Rational(-this.num, this.denum);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Node } from '../../../tree/nodes/node';
|
|
2
|
+
import { Nombre, NumberType } from '../nombre';
|
|
3
|
+
export declare class Real implements Nombre {
|
|
4
|
+
value: number;
|
|
5
|
+
tex: string;
|
|
6
|
+
type: NumberType;
|
|
7
|
+
constructor(value: number, tex: string);
|
|
8
|
+
toTree(): Node;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=real.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/real.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,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,IAAI;CAGf"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Real = void 0;
|
|
4
|
-
const numberNode_1 = require("
|
|
4
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
5
5
|
const nombre_1 = require("../nombre");
|
|
6
6
|
class Real {
|
|
7
7
|
constructor(value, tex) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Node } from '../../../tree/nodes/node';
|
|
2
|
+
import { Real } from './real';
|
|
3
|
+
export declare abstract class SquareRootConstructor {
|
|
4
|
+
/**
|
|
5
|
+
* @returns simplifiable square root type sqrt(c)=a*sqrt(b)
|
|
6
|
+
*/
|
|
7
|
+
static randomSimplifiable({ allowPerfectSquare, maxSquare }: {
|
|
8
|
+
allowPerfectSquare?: boolean | undefined;
|
|
9
|
+
maxSquare?: number | undefined;
|
|
10
|
+
}): SquareRoot;
|
|
11
|
+
}
|
|
12
|
+
export declare class SquareRoot extends Real {
|
|
13
|
+
operand: number;
|
|
14
|
+
constructor(operand: number);
|
|
15
|
+
simplify(): Real;
|
|
16
|
+
toTex(): string;
|
|
17
|
+
toTree(): Node;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=squareRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"squareRoot.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/squareRoot.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,8BAAsB,qBAAqB;IACzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EAAE,kBAA0B,EAAE,SAAc,EAAE;;;KAAA,GAAG,UAAU;CAStF;AAED,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAK3B,QAAQ,IAAI,IAAI;IA+BhB,KAAK,IAAI,MAAM;IAIf,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SquareRoot = exports.SquareRootConstructor = void 0;
|
|
4
|
-
const isSquare_1 = require("
|
|
5
|
-
const primeFactors_1 = require("
|
|
6
|
-
const randint_1 = require("
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const isSquare_1 = require("../../../math/utils/arithmetic/isSquare");
|
|
5
|
+
const primeFactors_1 = require("../../../math/utils/arithmetic/primeFactors");
|
|
6
|
+
const randint_1 = require("../../../math/utils/random/randint");
|
|
7
|
+
const sqrtNode_1 = require("../../../tree/nodes/functions/sqrtNode");
|
|
8
|
+
const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
|
|
9
|
+
const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
|
|
9
10
|
const real_1 = require("./real");
|
|
10
|
-
const sqrtNode_1 = require("../../tree/nodes/functions/sqrtNode");
|
|
11
11
|
class SquareRootConstructor {
|
|
12
12
|
/**
|
|
13
13
|
* @returns simplifiable square root type sqrt(c)=a*sqrt(b)
|
|
@@ -42,8 +42,8 @@ class SquareRoot extends real_1.Real {
|
|
|
42
42
|
const outsideSqrt = multiples.reduce((x, y) => x * y);
|
|
43
43
|
const insideSqrt = factors.length === 0 ? 1 : factors.reduce((x, y) => x * y);
|
|
44
44
|
const simplified = insideSqrt !== 1
|
|
45
|
-
? new real_1.Real(outsideSqrt * Math.sqrt(insideSqrt), `${outsideSqrt === 1 ?
|
|
46
|
-
: new real_1.Real(outsideSqrt, outsideSqrt +
|
|
45
|
+
? new real_1.Real(outsideSqrt * Math.sqrt(insideSqrt), `${outsideSqrt === 1 ? '' : `${outsideSqrt}`}\\sqrt{${insideSqrt}}`)
|
|
46
|
+
: new real_1.Real(outsideSqrt, outsideSqrt + '');
|
|
47
47
|
simplified.toTree = () => {
|
|
48
48
|
return insideSqrt !== 1
|
|
49
49
|
? outsideSqrt === 1
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Nombre } from '../numbers/nombre';
|
|
2
|
+
import { MathSet } from '../sets/mathSet';
|
|
3
|
+
import { Polynomial } from './polynomial';
|
|
4
|
+
export declare abstract class AffineConstructor {
|
|
5
|
+
static random(domainA?: MathSet, domainB?: MathSet): Affine;
|
|
6
|
+
static differentRandoms(nb: number, domainA?: MathSet, domainB?: MathSet): Affine[];
|
|
7
|
+
}
|
|
8
|
+
export declare class Affine extends Polynomial {
|
|
9
|
+
a: number;
|
|
10
|
+
b: number;
|
|
11
|
+
variable: string;
|
|
12
|
+
constructor(a: number, b: number, variable?: string);
|
|
13
|
+
getRoot(): Nombre;
|
|
14
|
+
toString(): string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=affine.d.ts.map
|
|
@@ -0,0 +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;AAI3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,OAAmF,EAC5F,OAAO,GAAE,OAAqC,GAC7C,MAAM;IAMT,MAAM,CAAC,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,OAAmF,EAC5F,OAAO,GAAE,OAAqC,GAC7C,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,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Affine = exports.AffineConstructor = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const integer_1 = require("../numbers/integer/integer");
|
|
5
|
+
const rational_1 = require("../numbers/rationals/rational");
|
|
6
|
+
const discreteSet_1 = require("../sets/discreteSet");
|
|
7
|
+
const intervals_1 = require("../sets/intervals/intervals");
|
|
6
8
|
const polynomial_1 = require("./polynomial");
|
|
7
|
-
const discreteSet_1 = require("../../sets/discreteSet");
|
|
8
|
-
const integer_1 = require("../../numbers/integer/integer");
|
|
9
9
|
class AffineConstructor {
|
|
10
10
|
static random(domainA = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)])), domainB = new intervals_1.Interval('[[-10; 10]]')) {
|
|
11
11
|
const a = domainA.getRandomElement();
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Node } from '../../tree/nodes/node';
|
|
2
|
+
export declare class Polynomial {
|
|
3
|
+
degree: number;
|
|
4
|
+
variable: string;
|
|
5
|
+
/**
|
|
6
|
+
* coefficients[i] est le coeff de x^i
|
|
7
|
+
*/
|
|
8
|
+
coefficients: number[];
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param coefficients coefficients[i] est le coeff de x^i
|
|
12
|
+
* @param variable
|
|
13
|
+
*/
|
|
14
|
+
constructor(coefficients: number[], variable?: string);
|
|
15
|
+
equals(P: Polynomial): boolean;
|
|
16
|
+
getRoots(): void;
|
|
17
|
+
add(P: Polynomial): Polynomial;
|
|
18
|
+
times(nb: number): Polynomial;
|
|
19
|
+
multiply(Q: Polynomial): Polynomial;
|
|
20
|
+
opposite(): Polynomial;
|
|
21
|
+
toTree(): Node;
|
|
22
|
+
toTex(): string;
|
|
23
|
+
toString(): string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=polynomial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/polynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAY;IAS1D,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAG9B,QAAQ;IACR,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAc9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAM7B,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAkBnC,QAAQ,IAAI,UAAU;IAOtB,MAAM,IAAI,IAAI;IAmCd,KAAK,IAAI,MAAM;IAkBf,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=arithmeticSequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arithmeticSequence.d.ts","sourceRoot":"","sources":["../../../src/math/sequences/arithmeticSequence.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometricSequence.d.ts","sourceRoot":"","sources":["../../../src/math/sequences/geometricSequence.ts"],"names":[],"mappings":"AAEA,8BAAsB,4BAA4B;IAC9C,MAAM,CAAC,MAAM;CAGhB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Node } from '../../tree/nodes/node';
|
|
2
|
+
declare enum SequenceType {
|
|
3
|
+
arithmetic = 0,
|
|
4
|
+
geometric = 1
|
|
5
|
+
}
|
|
6
|
+
export declare class Sequence {
|
|
7
|
+
type: SequenceType;
|
|
8
|
+
firstTerm: Node;
|
|
9
|
+
reason?: Node;
|
|
10
|
+
recurrenceFormula?: string;
|
|
11
|
+
explicitFormula?: string;
|
|
12
|
+
constructor(type: SequenceType, firstTerm: Node, reason?: Node);
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=sequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../../src/math/sequences/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,aAAK,YAAY;IACf,UAAU,IAAA;IACV,SAAS,IAAA;CACV;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI;CAK/D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Nombre } from '../numbers/nombre';
|
|
2
|
+
import { MathSetInterface } from './mathSetInterface';
|
|
3
|
+
export declare class DiscreteSet implements MathSetInterface {
|
|
4
|
+
elements: Nombre[];
|
|
5
|
+
tex: string;
|
|
6
|
+
constructor(elements: Nombre[]);
|
|
7
|
+
toTex(): string;
|
|
8
|
+
includes(el: Nombre): boolean;
|
|
9
|
+
getRandomElement(): Nombre;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=discreteSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discreteSet.d.ts","sourceRoot":"","sources":["../../../src/math/sets/discreteSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,WAAY,YAAW,gBAAgB;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;gBACA,QAAQ,EAAE,MAAM,EAAE;IAW9B,KAAK,IAAI,MAAM;IAIf,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI7B,gBAAgB,IAAI,MAAM;CAG3B"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DiscreteSet = void 0;
|
|
4
|
-
const random_1 = require("
|
|
4
|
+
const random_1 = require("../../utils/random");
|
|
5
5
|
class DiscreteSet {
|
|
6
6
|
constructor(elements) {
|
|
7
7
|
this.elements = Array.from(new Set(elements));
|
|
8
|
-
let tex =
|
|
8
|
+
let tex = '\\{';
|
|
9
9
|
this.elements.forEach((el, index) => {
|
|
10
10
|
tex += el.tex;
|
|
11
11
|
if (index < this.elements.length - 1)
|
|
12
|
-
tex +=
|
|
12
|
+
tex += ';';
|
|
13
13
|
else
|
|
14
|
-
tex +=
|
|
14
|
+
tex += '\\}';
|
|
15
15
|
});
|
|
16
16
|
this.tex = tex;
|
|
17
17
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=emptySet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emptySet.d.ts","sourceRoot":"","sources":["../../../src/math/sets/emptySet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Nombre, NumberType } from '../../../math/numbers/nombre';
|
|
2
|
+
import { DiscreteSet } from '../discreteSet';
|
|
3
|
+
import { MathSet } from '../mathSet';
|
|
4
|
+
import { MathSetInterface } from '../mathSetInterface';
|
|
5
|
+
declare enum BoundType {
|
|
6
|
+
OO = "]a;b[",
|
|
7
|
+
OF = "]a;b]",
|
|
8
|
+
FO = "[a;b[",
|
|
9
|
+
FF = "[a;b]"
|
|
10
|
+
}
|
|
11
|
+
export declare class Interval implements MathSetInterface {
|
|
12
|
+
min: number;
|
|
13
|
+
max: number;
|
|
14
|
+
boundType: BoundType;
|
|
15
|
+
type: NumberType;
|
|
16
|
+
tex: string;
|
|
17
|
+
/**
|
|
18
|
+
* [[a; b]] pour un interval d'integer; [a;b] pour des réels
|
|
19
|
+
*/
|
|
20
|
+
constructor(tex?: string);
|
|
21
|
+
exclude(nb: number): MathSet;
|
|
22
|
+
difference(set: DiscreteSet): MathSet;
|
|
23
|
+
toTex(): string;
|
|
24
|
+
getRandomElement(precision?: number): Nombre;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=intervals.d.ts.map
|