math-exercises 1.3.63 → 1.3.65
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/arithmetics/primeNumbers.js +1 -1
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +8 -2
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +8 -2
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +13 -1
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionsDivision.js +7 -1
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts.map +1 -1
- package/lib/exercises/calcul/fractions/fractionsSum.js +7 -1
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +2 -2
- package/lib/exercises/calculLitteral/equation/expEquation.js +2 -2
- package/lib/exercises/calculLitteral/equation/fractionEquation.js +4 -4
- package/lib/exercises/calculLitteral/equation/logEquation.js +2 -2
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +3 -3
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType0.js +3 -3
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType1.js +3 -3
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType2.js +3 -3
- package/lib/exercises/calculLitteral/inequations/firstDegreeInequationsType3.js +3 -3
- package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +2 -2
- package/lib/exercises/derivation/derivative/expDerivativeOne.js +2 -2
- package/lib/exercises/derivation/derivative/expDerivativeThree.js +2 -2
- package/lib/exercises/derivation/derivative/expDerivativeTwo.js +2 -2
- package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +1 -1
- package/lib/exercises/equaDiff/equaDiffGeneralForme.js +2 -2
- package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.js +2 -2
- package/lib/exercises/exercise.d.ts +1 -0
- package/lib/exercises/exercise.d.ts.map +1 -1
- package/lib/exercises/exercises.d.ts.map +1 -1
- package/lib/exercises/exercises.js +4 -0
- package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.d.ts.map +1 -1
- package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +8 -2
- package/lib/exercises/functions/cube/cubicEquation.js +3 -3
- package/lib/exercises/functions/trinoms/rootsFromFactorizedForm.js +5 -5
- package/lib/exercises/geometry/euclidean/pythagore.js +1 -1
- package/lib/exercises/geometry/euclidean/thales.js +2 -2
- package/lib/exercises/percent/globalPercent.js +1 -1
- package/lib/exercises/percent/reciprocalPercentage.js +1 -1
- package/lib/exercises/primitve/constantPrimitive.js +1 -1
- package/lib/exercises/primitve/exponentialPrimitive.js +3 -3
- package/lib/exercises/primitve/logarithmePrimitive.js +1 -1
- package/lib/exercises/primitve/sinCosPrimitive.js +1 -1
- package/lib/exercises/sets/intervals/inequalityToInterval.js +14 -14
- package/lib/exercises/sets/intervals/intervalBelonging.d.ts.map +1 -1
- package/lib/exercises/sets/intervals/intervalBelonging.js +17 -3
- package/lib/exercises/sets/intervals/intervalsIntersection.d.ts +4 -0
- package/lib/exercises/sets/intervals/intervalsIntersection.d.ts.map +1 -0
- package/lib/exercises/sets/intervals/intervalsIntersection.js +67 -0
- package/lib/exercises/sets/intervals/intervalsUnion.d.ts.map +1 -1
- package/lib/exercises/sets/intervals/intervalsUnion.js +17 -6
- package/lib/exercises/squareRoots/squareRootEquation.js +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/math/geometry/droite.js +1 -1
- package/lib/math/geometry/point.js +1 -1
- package/lib/math/polynomials/affine.d.ts.map +1 -1
- package/lib/math/polynomials/affine.js +2 -0
- package/lib/math/polynomials/trinom.d.ts.map +1 -1
- package/lib/math/polynomials/trinom.js +9 -3
- package/lib/math/sets/intervals/intervals.d.ts +6 -3
- package/lib/math/sets/intervals/intervals.d.ts.map +1 -1
- package/lib/math/sets/intervals/intervals.js +85 -29
- package/lib/math/sets/mathSet.d.ts +5 -4
- package/lib/math/sets/mathSet.d.ts.map +1 -1
- package/lib/math/sets/mathSet.js +1 -0
- package/lib/math/sets/mathSetInterface.d.ts +2 -1
- package/lib/math/sets/mathSetInterface.d.ts.map +1 -1
- package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
- package/lib/tree/nodes/functions/expNode.js +5 -1
- package/lib/tree/nodes/operators/addNode.js +1 -1
- package/lib/tree/nodes/operators/divideNode.js +2 -1
- package/lib/tree/nodes/operators/equalNode.js +1 -1
- package/lib/tree/nodes/operators/multiplyNode.js +2 -1
- package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
- package/lib/tree/nodes/operators/powerNode.js +5 -1
- package/lib/tree/nodes/operators/substractNode.js +1 -1
- package/package.json +1 -1
|
@@ -44,14 +44,19 @@ class IntervalConstructor {
|
|
|
44
44
|
tex = `]${a};${b}[`;
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
47
|
-
//-inf; x[
|
|
48
|
-
//[x; inf
|
|
49
|
-
//[a,b]
|
|
50
|
-
//[ [
|
|
51
|
-
//] ]
|
|
52
|
-
//] [
|
|
53
47
|
return new Interval(tex);
|
|
54
48
|
}
|
|
49
|
+
static differentRandoms(nb) {
|
|
50
|
+
const res = [];
|
|
51
|
+
for (let i = 0; i < nb; i++) {
|
|
52
|
+
let interval;
|
|
53
|
+
do {
|
|
54
|
+
interval = this.random();
|
|
55
|
+
} while (res.some((int) => int.tex === interval.tex));
|
|
56
|
+
res.push(this.random());
|
|
57
|
+
}
|
|
58
|
+
return res;
|
|
59
|
+
}
|
|
55
60
|
}
|
|
56
61
|
exports.IntervalConstructor = IntervalConstructor;
|
|
57
62
|
var BoundType;
|
|
@@ -79,8 +84,8 @@ class Interval {
|
|
|
79
84
|
switch (`${left}a;b${right}`) {
|
|
80
85
|
case '[a;b]':
|
|
81
86
|
this.leftBracket = '[';
|
|
82
|
-
this.leftInequalitySymbol = '\\
|
|
83
|
-
this.rightInequalitySymbol = '\\
|
|
87
|
+
this.leftInequalitySymbol = '\\le';
|
|
88
|
+
this.rightInequalitySymbol = '\\le';
|
|
84
89
|
this.rightBracket = ']';
|
|
85
90
|
this.boundType = BoundType.FF;
|
|
86
91
|
break;
|
|
@@ -94,7 +99,7 @@ class Interval {
|
|
|
94
99
|
case '[a;b[':
|
|
95
100
|
this.leftBracket = '[';
|
|
96
101
|
this.rightBracket = '[';
|
|
97
|
-
this.leftInequalitySymbol = '\\
|
|
102
|
+
this.leftInequalitySymbol = '\\le';
|
|
98
103
|
this.rightInequalitySymbol = '<';
|
|
99
104
|
this.boundType = BoundType.FO;
|
|
100
105
|
break;
|
|
@@ -102,7 +107,7 @@ class Interval {
|
|
|
102
107
|
this.leftBracket = ']';
|
|
103
108
|
this.rightBracket = ']';
|
|
104
109
|
this.leftInequalitySymbol = '<';
|
|
105
|
-
this.rightInequalitySymbol = '\\
|
|
110
|
+
this.rightInequalitySymbol = '\\le';
|
|
106
111
|
this.boundType = BoundType.OF;
|
|
107
112
|
break;
|
|
108
113
|
default:
|
|
@@ -118,17 +123,68 @@ class Interval {
|
|
|
118
123
|
this.min = getBound(a);
|
|
119
124
|
this.max = getBound(b);
|
|
120
125
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
union(interval) {
|
|
127
|
+
let unionRightBracket = this.max > interval.max
|
|
128
|
+
? this.rightBracket
|
|
129
|
+
: this.max === interval.max
|
|
130
|
+
? this.rightBracket === ']' || interval.rightBracket === ']'
|
|
131
|
+
? ']'
|
|
132
|
+
: '['
|
|
133
|
+
: interval.rightBracket;
|
|
134
|
+
let unionLeftBracket = this.min < interval.min
|
|
135
|
+
? this.leftBracket
|
|
136
|
+
: this.max === interval.max
|
|
137
|
+
? this.leftBracket === '[' || interval.leftBracket === '['
|
|
138
|
+
? '['
|
|
139
|
+
: ']'
|
|
140
|
+
: interval.leftBracket;
|
|
141
|
+
let min = Math.min(this.min, interval.min);
|
|
142
|
+
let minTex = this.min < interval.min ? this.minTex : interval.minTex;
|
|
143
|
+
let max = Math.max(this.max, interval.max);
|
|
144
|
+
let maxTex = this.max > interval.max ? this.maxTex : interval.maxTex;
|
|
145
|
+
if (this.max < interval.min ||
|
|
146
|
+
this.min > interval.max ||
|
|
147
|
+
(this.max === interval.min && this.rightBracket === '[' && interval.leftBracket === ']') ||
|
|
148
|
+
(this.min === interval.max && this.leftBracket === ']' && interval.rightBracket === '[')) {
|
|
149
|
+
const firstInterval = this.min < interval.min ? this : interval;
|
|
150
|
+
const secondInterval = this.min < interval.min ? interval : this;
|
|
151
|
+
return new mathSet_1.MathSet(`\\left${unionLeftBracket}${firstInterval.minTex};${firstInterval.maxTex}\\right${firstInterval.rightBracket}\\cup\\left${secondInterval.leftBracket}${secondInterval.minTex};${secondInterval.maxTex}\\right${unionRightBracket}`, () => ((0, coinFlip_1.coinFlip)() ? firstInterval.getRandomElement() : secondInterval.getRandomElement()));
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
return new Interval(`${unionLeftBracket}${minTex};${maxTex}${unionRightBracket}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
intersection(interval) {
|
|
158
|
+
const a = this.min;
|
|
159
|
+
const b = this.max;
|
|
160
|
+
const c = interval.min;
|
|
161
|
+
const d = interval.max;
|
|
162
|
+
//[a,b] n [c,d]
|
|
163
|
+
const isDisjoint = b < c ||
|
|
164
|
+
d < a ||
|
|
165
|
+
(b === c && (this.rightBracket === '[' || interval.leftBracket === ']')) ||
|
|
166
|
+
(a === d && (interval.rightBracket === '[' || this.leftBracket === ']'));
|
|
167
|
+
if (isDisjoint) {
|
|
168
|
+
return new mathSet_1.MathSet('\\emptyset', () => null);
|
|
169
|
+
}
|
|
170
|
+
const winningLeftBracket = (brack1, brack2) => (brack1 === ']' || brack2 === ']' ? ']' : '[');
|
|
171
|
+
const winningRightBracket = (brack1, brack2) => brack1 === '[' || brack2 === '[' ? '[' : ']';
|
|
172
|
+
let min = Math.max(a, c);
|
|
173
|
+
let minTex = a >= c ? this.minTex : interval.minTex;
|
|
174
|
+
let leftBracket = a === c
|
|
175
|
+
? winningLeftBracket(this.leftBracket, interval.leftBracket)
|
|
176
|
+
: a > c
|
|
177
|
+
? this.leftBracket
|
|
178
|
+
: interval.leftBracket;
|
|
179
|
+
const max = Math.min(b, d);
|
|
180
|
+
let maxTex = b <= d ? this.maxTex : interval.maxTex;
|
|
181
|
+
let rightBracket = b === d
|
|
182
|
+
? winningRightBracket(this.rightBracket, interval.rightBracket)
|
|
183
|
+
: b < d
|
|
184
|
+
? this.rightBracket
|
|
185
|
+
: interval.rightBracket;
|
|
186
|
+
return new Interval(`${leftBracket}${minTex};${maxTex}${rightBracket}`);
|
|
187
|
+
}
|
|
132
188
|
exclude(nb) {
|
|
133
189
|
const rand = () => {
|
|
134
190
|
let x;
|
|
@@ -149,30 +205,30 @@ class Interval {
|
|
|
149
205
|
};
|
|
150
206
|
return new mathSet_1.MathSet(this.toTex() + `\\ ${set.toTex()}`, rand);
|
|
151
207
|
}
|
|
152
|
-
toTex() {
|
|
153
|
-
return this.tex;
|
|
154
|
-
}
|
|
155
208
|
insideToTex() {
|
|
156
209
|
return this.tex.replaceAll('[', '').replaceAll(']', '');
|
|
157
210
|
}
|
|
211
|
+
toTex() {
|
|
212
|
+
return `\\left${this.leftBracket}${this.insideToTex()}\\right${this.rightBracket}`;
|
|
213
|
+
}
|
|
158
214
|
toInequality() {
|
|
159
215
|
const isLeftClosed = this.boundType === BoundType.FO || this.boundType === BoundType.FF;
|
|
160
216
|
const isRightClosed = this.boundType === BoundType.FF || this.boundType === BoundType.OF;
|
|
161
217
|
if (this.max === Infinity) {
|
|
162
218
|
if (isLeftClosed) {
|
|
163
|
-
return `x
|
|
219
|
+
return `x\\ge${this.min}`;
|
|
164
220
|
}
|
|
165
221
|
else
|
|
166
|
-
return `x
|
|
222
|
+
return `x>${this.min}`;
|
|
167
223
|
}
|
|
168
224
|
else if (this.min === -Infinity) {
|
|
169
225
|
if (this.boundType === BoundType.OF) {
|
|
170
|
-
return `x
|
|
226
|
+
return `x\\le${this.max}`;
|
|
171
227
|
}
|
|
172
228
|
else
|
|
173
|
-
return `x
|
|
229
|
+
return `x<${this.max}`;
|
|
174
230
|
}
|
|
175
|
-
return `${this.min}
|
|
231
|
+
return `${this.min}${isLeftClosed ? '\\le x' : '<x'}${isRightClosed ? '\\le' : '<'}${this.max}`;
|
|
176
232
|
}
|
|
177
233
|
getRandomElement(precision = this.type === nombre_1.NumberType.Integer ? 0 : 2) {
|
|
178
234
|
if (this.min === -Infinity || this.max === Infinity)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Nombre } from
|
|
2
|
-
import { MathSetInterface } from
|
|
1
|
+
import { Nombre } from '../numbers/nombre';
|
|
2
|
+
import { MathSetInterface } from './mathSetInterface';
|
|
3
3
|
export declare class MathSet implements MathSetInterface {
|
|
4
4
|
tex: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
toTex: () => string;
|
|
6
|
+
getRandomElement: () => Nombre | null;
|
|
7
|
+
constructor(tex: string, getRandomElement: () => Nombre | null);
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=mathSet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathSet.d.ts","sourceRoot":"","sources":["../../../src/math/sets/mathSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,OAAQ,YAAW,gBAAgB;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mathSet.d.ts","sourceRoot":"","sources":["../../../src/math/sets/mathSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,OAAQ,YAAW,gBAAgB;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;gBAC1B,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,MAAM,GAAG,IAAI;CAK/D"}
|
package/lib/math/sets/mathSet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathSetInterface.d.ts","sourceRoot":"","sources":["../../../src/math/sets/mathSetInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mathSetInterface.d.ts","sourceRoot":"","sources":["../../../src/math/sets/mathSetInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAMf,QAAQ;IAIR,QAAQ,IAAI,IAAI;CAGjB"}
|
|
@@ -13,7 +13,11 @@ class ExpNode extends functionNode_1.FunctionNode {
|
|
|
13
13
|
return `e^(${this.child.toMathString()})`;
|
|
14
14
|
}
|
|
15
15
|
toTex() {
|
|
16
|
-
|
|
16
|
+
const tex = this.child.toTex();
|
|
17
|
+
const needBraces = tex.length > 1;
|
|
18
|
+
if (needBraces)
|
|
19
|
+
return `e^{${this.child.toTex()}}`;
|
|
20
|
+
return `e^${tex}`;
|
|
17
21
|
}
|
|
18
22
|
toMathjs() {
|
|
19
23
|
return (0, mathjs_1.exp)(this.child.toMathjs());
|
|
@@ -14,7 +14,7 @@ class AddNode extends operatorNode_1.OperatorNode {
|
|
|
14
14
|
}
|
|
15
15
|
toTex() {
|
|
16
16
|
const rightTex = this.rightChild.toTex();
|
|
17
|
-
return `${this.leftChild.toTex()}
|
|
17
|
+
return `${this.leftChild.toTex()}${rightTex[0] === '-' ? '' : '+'}${rightTex}`;
|
|
18
18
|
}
|
|
19
19
|
toMathjs() {
|
|
20
20
|
return (0, mathjs_1.add)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|
|
@@ -29,7 +29,8 @@ class DivideNode extends operatorNode_1.OperatorNode {
|
|
|
29
29
|
}
|
|
30
30
|
if (needBrackets)
|
|
31
31
|
rightTex = `(${rightTex})`;
|
|
32
|
-
|
|
32
|
+
const nextIsLetter = rightTex[0].toLowerCase() !== rightTex[0].toUpperCase();
|
|
33
|
+
return `${leftTex}\\div${nextIsLetter ? ' ' : ''}${rightTex}`;
|
|
33
34
|
}
|
|
34
35
|
toMathjs() {
|
|
35
36
|
return (0, mathjs_1.divide)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|
|
@@ -11,7 +11,7 @@ class EqualNode extends operatorNode_1.OperatorNode {
|
|
|
11
11
|
return `${this.leftChild.toMathString()} = ${this.rightChild.toMathString()}`;
|
|
12
12
|
}
|
|
13
13
|
toTex() {
|
|
14
|
-
return `${this.leftChild.toTex()}
|
|
14
|
+
return `${this.leftChild.toTex()}=${this.rightChild.toTex()}`;
|
|
15
15
|
}
|
|
16
16
|
toMathjs() {
|
|
17
17
|
return (0, mathjs_1.equal)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|
|
@@ -43,7 +43,8 @@ class MultiplyNode extends operatorNode_1.OperatorNode {
|
|
|
43
43
|
const operatorRightChild = this.rightChild;
|
|
44
44
|
showTimesSign ||= [operatorNode_1.OperatorIds.fraction].includes(operatorRightChild.id);
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
const nextIsLetter = rightTex[0].toLowerCase() !== rightTex[0].toUpperCase();
|
|
47
|
+
return `${leftTex}${showTimesSign ? `\\times${nextIsLetter ? ' ' : ''}` : ''}${rightTex}`;
|
|
47
48
|
}
|
|
48
49
|
toMathjs() {
|
|
49
50
|
return (0, mathjs_1.multiply)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAqBf,QAAQ;CAGT"}
|
|
@@ -28,7 +28,11 @@ class PowerNode extends operatorNode_1.OperatorNode {
|
|
|
28
28
|
}
|
|
29
29
|
if (needBrackets)
|
|
30
30
|
leftTex = `(${leftTex})`;
|
|
31
|
-
|
|
31
|
+
const needBrace = rightTex.length > 1;
|
|
32
|
+
if (needBrace)
|
|
33
|
+
return `${leftTex}^{${rightTex}}`;
|
|
34
|
+
else
|
|
35
|
+
return `${leftTex}^${rightTex}`;
|
|
32
36
|
}
|
|
33
37
|
toMathjs() {
|
|
34
38
|
return (0, mathjs_1.pow)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|
|
@@ -19,7 +19,7 @@ class SubstractNode extends operatorNode_1.OperatorNode {
|
|
|
19
19
|
rightTex[0] === '-';
|
|
20
20
|
if (needBrackets)
|
|
21
21
|
rightTex = `(${rightTex})`;
|
|
22
|
-
return `${leftTex}
|
|
22
|
+
return `${leftTex}-${rightTex}`;
|
|
23
23
|
}
|
|
24
24
|
toMathjs() {
|
|
25
25
|
return (0, mathjs_1.subtract)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
|