math-exercises 2.2.79 → 2.2.81
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/math/calcul/arithmetics/divisibiltyCriteria.d.ts.map +1 -1
- package/lib/exercises/math/calcul/arithmetics/divisibiltyCriteria.js +1 -0
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType0.d.ts +5 -1
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType0.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType0.js +95 -20
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType1.d.ts +4 -1
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType1.d.ts.map +1 -1
- package/lib/exercises/math/calculLitteral/inequations/firstDegreeInequationsType1.js +104 -26
- package/lib/exercises/math/derivation/derivative/lnDerivativeOne.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/lnDerivativeOne.js +17 -7
- package/lib/exercises/math/derivation/derivative/lnDerivativeThree.d.ts.map +1 -1
- package/lib/exercises/math/derivation/derivative/lnDerivativeThree.js +49 -27
- package/lib/exercises/math/derivation/derivative/lnDerivativeTwo.js +1 -1
- package/lib/exercises/math/derivation/derivative/secondDerivativeOfExpoFunction.js +1 -1
- package/lib/exercises/math/functions/affines/signFunction.d.ts.map +1 -1
- package/lib/exercises/math/functions/affines/signFunction.js +66 -27
- package/lib/exercises/math/functions/basics/graphicInequation.d.ts.map +1 -1
- package/lib/exercises/math/functions/basics/graphicInequation.js +57 -36
- package/lib/exercises/math/functions/exponential/expEquation.js +1 -1
- package/lib/exercises/math/functions/exponentials/exponentialsVariations.d.ts.map +1 -1
- package/lib/exercises/math/functions/exponentials/exponentialsVariations.js +1 -0
- package/lib/exercises/math/functions/integral/integralFractions.js +1 -1
- package/lib/exercises/math/functions/logarithm/log10Simplifying.d.ts +5 -2
- package/lib/exercises/math/functions/logarithm/log10Simplifying.d.ts.map +1 -1
- package/lib/exercises/math/functions/logarithm/log10Simplifying.js +7 -2
- package/lib/exercises/math/functions/logarithm/logEquation.d.ts.map +1 -1
- package/lib/exercises/math/functions/logarithm/logEquation.js +23 -14
- package/lib/exercises/math/functions/logarithm/logPowerEquation.d.ts +5 -2
- package/lib/exercises/math/functions/logarithm/logPowerEquation.d.ts.map +1 -1
- package/lib/exercises/math/functions/logarithm/logPowerEquation.js +16 -12
- package/lib/exercises/math/functions/logarithm/logSimplifiying.d.ts.map +1 -1
- package/lib/exercises/math/functions/logarithm/logSimplifiying.js +37 -16
- package/lib/exercises/math/geometry/vectors/vectorLinearCombination.js +4 -4
- package/lib/exercises/math/matrices/matrixInversibilityDomain.js +1 -0
- package/lib/exercises/math/primitive/logarithmePrimitive.d.ts.map +1 -1
- package/lib/exercises/math/primitive/logarithmePrimitive.js +11 -3
- package/lib/exercises/math/sets/intervals/inequalityToInterval.d.ts.map +1 -1
- package/lib/exercises/math/sets/intervals/inequalityToInterval.js +11 -11
- package/lib/exercises/options/inequationSolutionFormat.d.ts +3 -0
- package/lib/exercises/options/inequationSolutionFormat.d.ts.map +1 -0
- package/lib/exercises/options/inequationSolutionFormat.js +12 -0
- package/lib/exercises/pc/pH.js +1 -1
- package/lib/index.d.ts +18 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/math/numbers/integer/integer.d.ts +1 -1
- package/lib/math/numbers/reals/real.d.ts +1 -1
- package/lib/tree/nodes/algebraicNode.d.ts +1 -0
- package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
- package/lib/tree/nodes/inequations/inequationNode.d.ts +5 -2
- package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
- package/lib/tree/nodes/inequations/inequationNode.js +40 -3
- package/lib/tree/nodes/numbers/numberNode.d.ts +2 -2
- package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
- package/lib/tree/nodes/numbers/numberNode.js +7 -1
- package/lib/tree/nodes/sets/intervalNode.d.ts +2 -2
- package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/intervalNode.js +2 -2
- package/lib/tree/nodes/sets/setNode.d.ts +1 -0
- package/lib/tree/nodes/sets/setNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
- package/lib/tree/nodes/sets/unionIntervalNode.js +1 -1
- package/lib/tree/parsers/inequationParser.d.ts +7 -0
- package/lib/tree/parsers/inequationParser.d.ts.map +1 -0
- package/lib/tree/parsers/inequationParser.js +30 -0
- package/lib/tree/parsers/intervalParser.d.ts.map +1 -1
- package/lib/tree/parsers/intervalParser.js +32 -26
- package/lib/tree/parsers/latexParser.d.ts.map +1 -1
- package/lib/tree/parsers/latexParser.js +29 -6
- package/lib/tree/parsers/powerParser.d.ts +1 -1
- package/lib/tree/parsers/rationalParser.d.ts +1 -1
- package/lib/tree/parsers/unionIntervalParser.d.ts +9 -0
- package/lib/tree/parsers/unionIntervalParser.d.ts.map +1 -0
- package/lib/tree/parsers/unionIntervalParser.js +26 -0
- package/lib/types/keyIds.d.ts +1 -1
- package/lib/types/keyIds.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -4,38 +4,77 @@ exports.signFunction = void 0;
|
|
|
4
4
|
const exercise_1 = require("../../../../exercises/exercise");
|
|
5
5
|
const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
|
|
6
6
|
const rational_1 = require("../../../../math/numbers/rationals/rational");
|
|
7
|
+
const affine_1 = require("../../../../math/polynomials/affine");
|
|
7
8
|
const polynomial_1 = require("../../../../math/polynomials/polynomial");
|
|
8
9
|
const randint_1 = require("../../../../math/utils/random/randint");
|
|
10
|
+
const inequationNode_1 = require("../../../../tree/nodes/inequations/inequationNode");
|
|
9
11
|
const infiniteNode_1 = require("../../../../tree/nodes/numbers/infiniteNode");
|
|
10
12
|
const closure_1 = require("../../../../tree/nodes/sets/closure");
|
|
11
13
|
const intervalNode_1 = require("../../../../tree/nodes/sets/intervalNode");
|
|
14
|
+
const intervalParser_1 = require("../../../../tree/parsers/intervalParser");
|
|
12
15
|
const coinFlip_1 = require("../../../../utils/alea/coinFlip");
|
|
13
16
|
const shuffle_1 = require("../../../../utils/alea/shuffle");
|
|
14
|
-
const
|
|
15
|
-
const a
|
|
16
|
-
const b = (0, randint_1.randint)(-9, 10);
|
|
17
|
+
const getHint = (identifiers) => {
|
|
18
|
+
const { a, b, askingPositive } = identifiers;
|
|
17
19
|
const affine = new polynomial_1.Polynomial([b, a]);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
return `Pour déterminer l'intervalle sur lequel la fonction $f(x) = ${affine.toTex()}$ est ${askingPositive ? "positive" : "négative"}, il faut résoudre l'inéquation :
|
|
21
|
+
|
|
22
|
+
$$
|
|
23
|
+
${affine.toTex()} ${askingPositive ? "\\geq" : "\\leq"} 0
|
|
24
|
+
$$
|
|
25
|
+
`;
|
|
26
|
+
};
|
|
27
|
+
const getCorrection = (identifiers) => {
|
|
28
|
+
const { a, b, askingPositive } = identifiers;
|
|
29
|
+
const affine = new affine_1.Affine(a, b);
|
|
30
|
+
const answer = getAnswer(identifiers);
|
|
31
|
+
const order = askingPositive ? "\\ge" : "\\le";
|
|
32
|
+
return `On résout l'inéquation :
|
|
33
|
+
|
|
34
|
+
${(0, inequationNode_1.firstDegreeInequationResolutionTex)(affine, order, (0).toTree())}
|
|
35
|
+
|
|
36
|
+
On en conclut que $f$ est ${identifiers.askingPositive ? "positive" : "négative"} sur l'intervalle :
|
|
37
|
+
|
|
38
|
+
$$
|
|
39
|
+
${answer}
|
|
40
|
+
$$
|
|
41
|
+
`;
|
|
42
|
+
};
|
|
43
|
+
const getInstruction = (identifiers) => {
|
|
44
|
+
const { a, b, askingPositive } = identifiers;
|
|
45
|
+
const affine = new polynomial_1.Polynomial([b, a]);
|
|
46
|
+
return `Soit $f$ la fonction définie sur $\\mathbb{R}$ par :
|
|
47
|
+
|
|
48
|
+
$$
|
|
49
|
+
f(x) = ${affine.toTex()}
|
|
50
|
+
$$
|
|
51
|
+
|
|
52
|
+
Sur quel intervalle $f$ est-elle ${identifiers.askingPositive ? "positive" : "négative"} ?`;
|
|
53
|
+
};
|
|
54
|
+
const getAnswer = ({ a, b, askingPositive }) => {
|
|
21
55
|
const root = new rational_1.Rational(-b, a).simplify().toTree();
|
|
22
56
|
const toRightInfInterval = new intervalNode_1.IntervalNode(root, infiniteNode_1.PlusInfinityNode, closure_1.ClosureType.FO).toTex();
|
|
23
57
|
const toLeftInfInteral = new intervalNode_1.IntervalNode(infiniteNode_1.MinusInfinityNode, root, closure_1.ClosureType.OF).toTex();
|
|
24
58
|
if (askingPositive) {
|
|
25
|
-
|
|
26
|
-
answer = a > 0 ? toRightInfInterval : toLeftInfInteral;
|
|
59
|
+
return a > 0 ? toRightInfInterval : toLeftInfInteral;
|
|
27
60
|
}
|
|
28
61
|
else {
|
|
29
|
-
|
|
30
|
-
answer = a > 0 ? toLeftInfInteral : toRightInfInterval;
|
|
62
|
+
return a > 0 ? toLeftInfInteral : toRightInfInterval;
|
|
31
63
|
}
|
|
64
|
+
};
|
|
65
|
+
const getSignFunction = () => {
|
|
66
|
+
const a = (0, randint_1.randint)(-9, 10, [0]);
|
|
67
|
+
const b = (0, randint_1.randint)(-9, 10);
|
|
68
|
+
const askingPositive = (0, coinFlip_1.coinFlip)();
|
|
69
|
+
const identifiers = { a, askingPositive, b };
|
|
32
70
|
const question = {
|
|
33
|
-
instruction,
|
|
34
|
-
|
|
35
|
-
answer,
|
|
71
|
+
instruction: getInstruction(identifiers),
|
|
72
|
+
answer: getAnswer(identifiers),
|
|
36
73
|
keys: ["lbracket", "semicolon", "rbracket", "infty"],
|
|
37
74
|
answerFormat: "tex",
|
|
38
|
-
identifiers
|
|
75
|
+
identifiers,
|
|
76
|
+
hint: getHint(identifiers),
|
|
77
|
+
correction: getCorrection(identifiers),
|
|
39
78
|
};
|
|
40
79
|
return question;
|
|
41
80
|
};
|
|
@@ -53,21 +92,19 @@ const getPropositions = (n, { answer }) => {
|
|
|
53
92
|
}
|
|
54
93
|
return (0, shuffle_1.shuffle)(propositions);
|
|
55
94
|
};
|
|
56
|
-
const isAnswerValid = (ans, { a, b, askingPositive }) => {
|
|
57
|
-
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
95
|
+
const isAnswerValid = (ans, { answer, a, b, askingPositive }) => {
|
|
96
|
+
try {
|
|
97
|
+
const parsed = (0, intervalParser_1.intervalParser)(ans, {
|
|
98
|
+
allowCommaInsteadOfSemicolon: true,
|
|
99
|
+
allowNoBrackets: true,
|
|
100
|
+
});
|
|
101
|
+
if (!parsed)
|
|
102
|
+
return false;
|
|
103
|
+
return parsed.simplify().toTex() === answer;
|
|
65
104
|
}
|
|
66
|
-
|
|
67
|
-
|
|
105
|
+
catch (err) {
|
|
106
|
+
return false;
|
|
68
107
|
}
|
|
69
|
-
const texs = answer.toAllValidTexs();
|
|
70
|
-
return texs.includes(ans);
|
|
71
108
|
};
|
|
72
109
|
exports.signFunction = {
|
|
73
110
|
id: "signFunction",
|
|
@@ -82,4 +119,6 @@ exports.signFunction = {
|
|
|
82
119
|
getPropositions,
|
|
83
120
|
isAnswerValid,
|
|
84
121
|
subject: "Mathématiques",
|
|
122
|
+
getHint,
|
|
123
|
+
hasHintAndCorrection: true,
|
|
85
124
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphicInequation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/graphicInequation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"graphicInequation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/basics/graphicInequation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAO5D,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC;CAC7D,CAAC;AAgNF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAgBnD,CAAC"}
|
|
@@ -11,7 +11,42 @@ const numberNode_1 = require("../../../../tree/nodes/numbers/numberNode");
|
|
|
11
11
|
const closure_1 = require("../../../../tree/nodes/sets/closure");
|
|
12
12
|
const intervalNode_1 = require("../../../../tree/nodes/sets/intervalNode");
|
|
13
13
|
const unionIntervalNode_1 = require("../../../../tree/nodes/sets/unionIntervalNode");
|
|
14
|
+
const unionIntervalParser_1 = require("../../../../tree/parsers/unionIntervalParser");
|
|
14
15
|
const coinFlip_1 = require("../../../../utils/alea/coinFlip");
|
|
16
|
+
const getAnswer = (identifiers) => {
|
|
17
|
+
const intervalsNodes = identifiers.intervals.map((n) => new intervalNode_1.IntervalNode(new numberNode_1.NumberNode(n.a), new numberNode_1.NumberNode(n.b), n.closure));
|
|
18
|
+
const intervalsTree = intervalsNodes.length === 1
|
|
19
|
+
? intervalsNodes[0]
|
|
20
|
+
: new unionIntervalNode_1.UnionIntervalNode(intervalsNodes);
|
|
21
|
+
const answerTree = new inequationSolutionNode_1.InequationSolutionNode(intervalsTree);
|
|
22
|
+
return answerTree.toTex();
|
|
23
|
+
};
|
|
24
|
+
const getInstruction = (identifiers) => {
|
|
25
|
+
return `Déterminer graphiquement les solutions de l'inéquation $f(x)${identifiers.isAskingSup
|
|
26
|
+
? identifiers.isStrict
|
|
27
|
+
? ">"
|
|
28
|
+
: "\\geq"
|
|
29
|
+
: identifiers.isStrict
|
|
30
|
+
? "<"
|
|
31
|
+
: "\\leq"}${identifiers.yValue}$ où $f$ est la fonction représentée ci-dessous.`;
|
|
32
|
+
};
|
|
33
|
+
const getGGBOptions = (identifiers) => {
|
|
34
|
+
const commands = [
|
|
35
|
+
`S =Spline(${identifiers.splinePoints
|
|
36
|
+
.map((point) => `(${point[0]},${point[1]})`)
|
|
37
|
+
.join(",")})`,
|
|
38
|
+
"SetFixed(S, true)",
|
|
39
|
+
`SetColor(S, "${(0, colors_1.randomColor)()}")`,
|
|
40
|
+
];
|
|
41
|
+
const ggb = new geogebraConstructor_1.GeogebraConstructor({ commands });
|
|
42
|
+
const xMin = Math.min(...identifiers.splinePoints.map((point) => point[0]));
|
|
43
|
+
const yMin = Math.min(...identifiers.splinePoints.map((point) => point[1]));
|
|
44
|
+
const xMax = Math.max(...identifiers.splinePoints.map((point) => point[0]));
|
|
45
|
+
const yMax = Math.max(...identifiers.splinePoints.map((point) => point[1]));
|
|
46
|
+
return ggb.getOptions({
|
|
47
|
+
coords: ggb.getAdaptedCoords({ xMin, xMax, yMin, yMax }),
|
|
48
|
+
});
|
|
49
|
+
};
|
|
15
50
|
const getGraphicInequationQuestion = () => {
|
|
16
51
|
let xSolutions = [];
|
|
17
52
|
const nb = (0, randint_1.randint)(2, 4);
|
|
@@ -70,25 +105,16 @@ const getGraphicInequationQuestion = () => {
|
|
|
70
105
|
prevYWasAbove = y > 0;
|
|
71
106
|
splinePoints.push([x, yValue + y]);
|
|
72
107
|
}
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
: `S=\\ ${new unionIntervalNode_1.UnionIntervalNode(intervalsNodes).toTex()}`;
|
|
81
|
-
const commands = [
|
|
82
|
-
`S =Spline(${splinePoints
|
|
83
|
-
.map((point) => `(${point[0]},${point[1]})`)
|
|
84
|
-
.join(",")})`,
|
|
85
|
-
"SetFixed(S, true)",
|
|
86
|
-
`SetColor(S, "${(0, colors_1.randomColor)()}")`,
|
|
87
|
-
];
|
|
88
|
-
const ggb = new geogebraConstructor_1.GeogebraConstructor({ commands });
|
|
108
|
+
const identifiers = {
|
|
109
|
+
yValue,
|
|
110
|
+
splinePoints,
|
|
111
|
+
isAskingSup,
|
|
112
|
+
isStrict,
|
|
113
|
+
intervals,
|
|
114
|
+
};
|
|
89
115
|
const question = {
|
|
90
|
-
answer,
|
|
91
|
-
instruction:
|
|
116
|
+
answer: getAnswer(identifiers),
|
|
117
|
+
instruction: getInstruction(identifiers),
|
|
92
118
|
keys: [
|
|
93
119
|
"S",
|
|
94
120
|
"equal",
|
|
@@ -101,16 +127,8 @@ const getGraphicInequationQuestion = () => {
|
|
|
101
127
|
"varnothing",
|
|
102
128
|
],
|
|
103
129
|
answerFormat: "tex",
|
|
104
|
-
ggbOptions:
|
|
105
|
-
|
|
106
|
-
}),
|
|
107
|
-
identifiers: {
|
|
108
|
-
yValue,
|
|
109
|
-
splinePoints,
|
|
110
|
-
isAskingSup,
|
|
111
|
-
isStrict,
|
|
112
|
-
intervals,
|
|
113
|
-
},
|
|
130
|
+
ggbOptions: getGGBOptions(identifiers),
|
|
131
|
+
identifiers,
|
|
114
132
|
};
|
|
115
133
|
return question;
|
|
116
134
|
};
|
|
@@ -138,14 +156,17 @@ const getPropositions = (n, { answer, intervals, splinePoints, yValue }) => {
|
|
|
138
156
|
}
|
|
139
157
|
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
140
158
|
};
|
|
141
|
-
const isAnswerValid = (ans, { intervals }) => {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
159
|
+
const isAnswerValid = (ans, { answer, intervals }) => {
|
|
160
|
+
try {
|
|
161
|
+
const parsed = (0, unionIntervalParser_1.unionIntervalParser)(ans.replaceAll("S", "").replaceAll("=", ""));
|
|
162
|
+
if (!parsed)
|
|
163
|
+
return false;
|
|
164
|
+
console.log(parsed.simplify().toTex(), answer);
|
|
165
|
+
return "S=\\ " + parsed.simplify().toTex() === answer;
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
149
170
|
};
|
|
150
171
|
exports.graphicInequation = {
|
|
151
172
|
id: "graphicInequation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exponentialsVariations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponentials/exponentialsVariations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAM1C,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,eAAe,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAiHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"exponentialsVariations.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponentials/exponentialsVariations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAM1C,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,eAAe,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAiHF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAmBxD,CAAC"}
|
|
@@ -5,7 +5,10 @@ type Identifiers = {
|
|
|
5
5
|
signs: number[];
|
|
6
6
|
isLog10: boolean;
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
type Options = {
|
|
9
|
+
isLog10: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const log10SumSimplifying: Exercise<Identifiers, Options>;
|
|
12
|
+
export declare const logSumSimplifying: Exercise<Identifiers, Options>;
|
|
10
13
|
export {};
|
|
11
14
|
//# sourceMappingURL=log10Simplifying.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log10Simplifying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/log10Simplifying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"log10Simplifying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/log10Simplifying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA8FF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAiB9D,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAkB5D,CAAC"}
|
|
@@ -13,6 +13,9 @@ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
|
|
|
13
13
|
const powerNode_1 = require("../../../../tree/nodes/operators/powerNode");
|
|
14
14
|
const operatorComposition_1 = require("../../../../tree/utilities/operatorComposition");
|
|
15
15
|
const random_1 = require("../../../../utils/alea/random");
|
|
16
|
+
const getKeys = (identifiers, opts) => {
|
|
17
|
+
return [opts?.isLog10 ? "logBrackets" : "lnBrackets"];
|
|
18
|
+
};
|
|
16
19
|
const getLog10SumSimplifyingQuestion = (opts) => {
|
|
17
20
|
const nb = (0, randint_1.randint)(2, 10);
|
|
18
21
|
const trueNb = [2, 4, 8].includes(nb) ? 2 : [3, 9].includes(nb) ? 3 : nb;
|
|
@@ -35,12 +38,13 @@ const getLog10SumSimplifyingQuestion = (opts) => {
|
|
|
35
38
|
: new oppositeNode_1.OppositeNode(new LNode(new powerNode_1.PowerNode(nbNode, new numberNode_1.NumberNode(power)))));
|
|
36
39
|
const statement = (0, operatorComposition_1.operatorComposition)(addNode_1.AddNode, logs);
|
|
37
40
|
const answer = statement.simplify();
|
|
41
|
+
const identifiers = { nb, powers, signs, isLog10: opts?.isLog10 ?? false };
|
|
38
42
|
const question = {
|
|
39
43
|
answer: answer.toTex(),
|
|
40
44
|
instruction: `Exprimer le nombre suivant sous la forme $a${opts?.isLog10 ? "\\log" : "\\ln"}\\left(${trueNb}\\right)$ : $\\newline ${statement.toTex()}$`,
|
|
41
|
-
keys:
|
|
45
|
+
keys: getKeys(identifiers, opts),
|
|
42
46
|
answerFormat: "tex",
|
|
43
|
-
identifiers
|
|
47
|
+
identifiers,
|
|
44
48
|
};
|
|
45
49
|
return question;
|
|
46
50
|
};
|
|
@@ -97,4 +101,5 @@ exports.logSumSimplifying = {
|
|
|
97
101
|
getPropositions,
|
|
98
102
|
isAnswerValid,
|
|
99
103
|
subject: "Mathématiques",
|
|
104
|
+
getKeys,
|
|
100
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"logEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAclC,cAAc;AACd,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA6EF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAc7C,CAAC"}
|
|
@@ -14,28 +14,36 @@ const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
|
|
|
14
14
|
const discreteSetNode_1 = require("../../../../tree/nodes/sets/discreteSetNode");
|
|
15
15
|
const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
|
|
16
16
|
const shuffle_1 = require("../../../../utils/alea/shuffle");
|
|
17
|
+
const getKeys = () => {
|
|
18
|
+
return [
|
|
19
|
+
"x",
|
|
20
|
+
"equal",
|
|
21
|
+
"lnBrackets",
|
|
22
|
+
"e",
|
|
23
|
+
"epower",
|
|
24
|
+
"exp",
|
|
25
|
+
"lbrace",
|
|
26
|
+
"S",
|
|
27
|
+
"semicolon",
|
|
28
|
+
"rbrace",
|
|
29
|
+
];
|
|
30
|
+
};
|
|
17
31
|
const getLnEquation = () => {
|
|
18
32
|
const a = (0, randint_1.randint)(-9, 20, [0]);
|
|
19
33
|
const k = (0, randint_1.randint)(-9, 20, [0]);
|
|
20
34
|
const equation = new equalNode_1.EqualNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new logNode_1.LogNode(new variableNode_1.VariableNode("x"))), new numberNode_1.NumberNode(k));
|
|
21
35
|
const answer = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([new expNode_1.ExpNode(new rational_1.Rational(k, a).simplify().toTree())])).toTex();
|
|
36
|
+
const identifiers = { a, k };
|
|
22
37
|
const question = {
|
|
23
|
-
instruction: `Résoudre l'équation
|
|
38
|
+
instruction: `Résoudre l'équation :
|
|
39
|
+
|
|
40
|
+
$$
|
|
41
|
+
${equation.toTex()}
|
|
42
|
+
$$`,
|
|
24
43
|
answer,
|
|
25
|
-
keys:
|
|
26
|
-
"x",
|
|
27
|
-
"equal",
|
|
28
|
-
"ln",
|
|
29
|
-
"e",
|
|
30
|
-
"epower",
|
|
31
|
-
"exp",
|
|
32
|
-
"lbrace",
|
|
33
|
-
"S",
|
|
34
|
-
"semicolon",
|
|
35
|
-
"rbrace",
|
|
36
|
-
],
|
|
44
|
+
keys: getKeys(identifiers),
|
|
37
45
|
answerFormat: "tex",
|
|
38
|
-
identifiers
|
|
46
|
+
identifiers,
|
|
39
47
|
};
|
|
40
48
|
return question;
|
|
41
49
|
};
|
|
@@ -71,4 +79,5 @@ exports.logEquation = {
|
|
|
71
79
|
freeTimer: 60,
|
|
72
80
|
isAnswerValid,
|
|
73
81
|
subject: "Mathématiques",
|
|
82
|
+
getKeys,
|
|
74
83
|
};
|
|
@@ -6,7 +6,10 @@ type Identifiers = {
|
|
|
6
6
|
k: number;
|
|
7
7
|
isLog10: boolean;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type Options = {
|
|
10
|
+
isLog10: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare const logPowerEquation: Exercise<Identifiers, Options>;
|
|
13
|
+
export declare const log10PowerEquation: Exercise<Identifiers, Options>;
|
|
11
14
|
export {};
|
|
12
15
|
//# sourceMappingURL=logPowerEquation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logPowerEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logPowerEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"logPowerEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logPowerEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAwGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgB3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAmB7D,CAAC"}
|
|
@@ -16,6 +16,11 @@ const powerNode_1 = require("../../../../tree/nodes/operators/powerNode");
|
|
|
16
16
|
const discreteSetNode_1 = require("../../../../tree/nodes/sets/discreteSetNode");
|
|
17
17
|
const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
|
|
18
18
|
/**a*b^x+c=d */
|
|
19
|
+
const getKeys = (identifiers, opts) => {
|
|
20
|
+
const keys = ["x", "equal", "S", "lbrace", "semicolon", "rbrace"];
|
|
21
|
+
keys.push(opts?.isLog10 ? "logBrackets" : "lnBrackets");
|
|
22
|
+
return keys;
|
|
23
|
+
};
|
|
19
24
|
const getLogPowerEquationQuestion = (opts) => {
|
|
20
25
|
const powered = (0, randint_1.randint)(2, 8);
|
|
21
26
|
const a = (0, randint_1.randint)(1, 10, [powered]);
|
|
@@ -29,22 +34,13 @@ const getLogPowerEquationQuestion = (opts) => {
|
|
|
29
34
|
new fractionNode_1.FractionNode(new LNode(new numberNode_1.NumberNode(k)), new LNode(poweredNode)).simplify(),
|
|
30
35
|
])).toTex();
|
|
31
36
|
const equation = new equalNode_1.EqualNode(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new powerNode_1.PowerNode(poweredNode, xNode)), new numberNode_1.NumberNode(c)).simplify(), new numberNode_1.NumberNode(d));
|
|
32
|
-
const
|
|
33
|
-
"log",
|
|
34
|
-
"x",
|
|
35
|
-
"equal",
|
|
36
|
-
"S",
|
|
37
|
-
"lbrace",
|
|
38
|
-
"semicolon",
|
|
39
|
-
"rbrace",
|
|
40
|
-
];
|
|
41
|
-
keys.push(opts?.isLog10 ? "log" : "ln");
|
|
37
|
+
const identifiers = { a, c, k, powered, isLog10: opts?.isLog10 ?? false };
|
|
42
38
|
const question = {
|
|
43
39
|
answer,
|
|
44
40
|
instruction: `Résoudre : $${equation.toTex()}$`,
|
|
45
|
-
keys,
|
|
41
|
+
keys: getKeys(identifiers, opts),
|
|
46
42
|
answerFormat: "tex",
|
|
47
|
-
identifiers
|
|
43
|
+
identifiers,
|
|
48
44
|
};
|
|
49
45
|
return question;
|
|
50
46
|
};
|
|
@@ -64,6 +60,12 @@ const getPropositions = (n, { answer, isLog10, a, c, k, powered }) => {
|
|
|
64
60
|
return (0, exercise_1.shuffleProps)(propositions, n);
|
|
65
61
|
};
|
|
66
62
|
const isAnswerValid = (ans, { a, c, k, powered, isLog10 }) => {
|
|
63
|
+
try {
|
|
64
|
+
//!TODO parse equation solution
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
67
69
|
const LNode = isLog10 ? log10Node_1.Log10Node : logNode_1.LogNode;
|
|
68
70
|
const poweredNode = new numberNode_1.NumberNode(powered);
|
|
69
71
|
const answerSimp = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([
|
|
@@ -88,6 +90,7 @@ exports.logPowerEquation = {
|
|
|
88
90
|
getPropositions,
|
|
89
91
|
isAnswerValid,
|
|
90
92
|
subject: "Mathématiques",
|
|
93
|
+
getKeys,
|
|
91
94
|
};
|
|
92
95
|
exports.log10PowerEquation = {
|
|
93
96
|
id: "log10PowerEquation",
|
|
@@ -102,4 +105,5 @@ exports.log10PowerEquation = {
|
|
|
102
105
|
getPropositions,
|
|
103
106
|
isAnswerValid,
|
|
104
107
|
subject: "Mathématiques",
|
|
108
|
+
getKeys,
|
|
105
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSimplifiying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logSimplifiying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"logSimplifiying.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logSimplifiying.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqFF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAcjD,CAAC"}
|
|
@@ -11,31 +11,51 @@ const addNode_1 = require("../../../../tree/nodes/operators/addNode");
|
|
|
11
11
|
const substractNode_1 = require("../../../../tree/nodes/operators/substractNode");
|
|
12
12
|
const coinFlip_1 = require("../../../../utils/alea/coinFlip");
|
|
13
13
|
const shuffle_1 = require("../../../../utils/alea/shuffle");
|
|
14
|
+
const getStatementNode = (identifiers) => {
|
|
15
|
+
const { a, b, pm } = identifiers;
|
|
16
|
+
const opts = { allowLnOfOne: true };
|
|
17
|
+
const aNode = new logNode_1.LogNode(new numberNode_1.NumberNode(a), opts);
|
|
18
|
+
const bNode = new logNode_1.LogNode(new numberNode_1.NumberNode(b), opts);
|
|
19
|
+
if (pm === 1) {
|
|
20
|
+
return new addNode_1.AddNode(aNode, bNode);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return new substractNode_1.SubstractNode(aNode, bNode);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const getInstruction = (identifiers) => {
|
|
27
|
+
return `Ecrire le nombre suivant sous la forme $\\ln\\left(a\\right)$ :
|
|
28
|
+
|
|
29
|
+
$$
|
|
30
|
+
${getStatementNode(identifiers).toTex()}
|
|
31
|
+
$$`;
|
|
32
|
+
};
|
|
33
|
+
const getAnswer = (identifiers) => {
|
|
34
|
+
const { a, b, pm } = identifiers;
|
|
35
|
+
if (pm === 1) {
|
|
36
|
+
return new logNode_1.LogNode(new numberNode_1.NumberNode(a * b)).toTex();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return new logNode_1.LogNode(new rational_1.Rational(a, b).simplify().toTree()).toTex();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const getKeys = (identifiers) => {
|
|
43
|
+
return ["lnBrackets"];
|
|
44
|
+
};
|
|
14
45
|
const getExpSimplifiying = () => {
|
|
15
|
-
let expression;
|
|
16
|
-
let simplifiedExpression;
|
|
17
46
|
let pm = (0, coinFlip_1.coinFlip)() ? 1 : -1;
|
|
18
47
|
const a = (0, randint_1.randint)(1, 10);
|
|
19
48
|
let b;
|
|
20
49
|
do {
|
|
21
50
|
b = (0, randint_1.randint)(1, 10);
|
|
22
51
|
} while (pm === -1 && a === b);
|
|
23
|
-
const
|
|
24
|
-
if (pm === 1) {
|
|
25
|
-
expression = new addNode_1.AddNode(new logNode_1.LogNode(new numberNode_1.NumberNode(a), opts), new logNode_1.LogNode(new numberNode_1.NumberNode(b), opts));
|
|
26
|
-
simplifiedExpression = new logNode_1.LogNode(new numberNode_1.NumberNode(a * b));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
expression = new substractNode_1.SubstractNode(new logNode_1.LogNode(new numberNode_1.NumberNode(a), opts), new logNode_1.LogNode(new numberNode_1.NumberNode(b), opts));
|
|
30
|
-
simplifiedExpression = new logNode_1.LogNode(new rational_1.Rational(a, b).simplify().toTree());
|
|
31
|
-
}
|
|
32
|
-
const answer = simplifiedExpression.toTex();
|
|
52
|
+
const identifiers = { pm, a, b };
|
|
33
53
|
const question = {
|
|
34
|
-
instruction:
|
|
35
|
-
answer,
|
|
36
|
-
keys:
|
|
54
|
+
instruction: getInstruction(identifiers),
|
|
55
|
+
answer: getAnswer(identifiers),
|
|
56
|
+
keys: getKeys(identifiers),
|
|
37
57
|
answerFormat: "tex",
|
|
38
|
-
identifiers
|
|
58
|
+
identifiers,
|
|
39
59
|
};
|
|
40
60
|
return question;
|
|
41
61
|
};
|
|
@@ -75,4 +95,5 @@ exports.logSimplifiying = {
|
|
|
75
95
|
getPropositions,
|
|
76
96
|
isAnswerValid,
|
|
77
97
|
subject: "Mathématiques",
|
|
98
|
+
getKeys,
|
|
78
99
|
};
|
|
@@ -15,12 +15,12 @@ const getVectorLinearCombinationQuestion = () => {
|
|
|
15
15
|
const a = (0, randint_1.randint)(-10, 11, [0]);
|
|
16
16
|
const b = (0, randint_1.randint)(-10, 11, [0]);
|
|
17
17
|
const uCoords = {
|
|
18
|
-
x: u.x.simplify().
|
|
19
|
-
y: u.y.simplify().
|
|
18
|
+
x: u.x.simplify().evaluate(),
|
|
19
|
+
y: u.y.simplify().evaluate(),
|
|
20
20
|
};
|
|
21
21
|
const vCoords = {
|
|
22
|
-
x: v.x.simplify().
|
|
23
|
-
y: v.y.simplify().
|
|
22
|
+
x: v.x.simplify().evaluate(),
|
|
23
|
+
y: v.y.simplify().evaluate(),
|
|
24
24
|
};
|
|
25
25
|
const instruction = `Soient deux vecteurs $${u.toTexWithCoords()}$ et $${v.toTexWithCoords()}$.
|
|
26
26
|
Calculer les coordonnées du vecteur $${getAddVectorTex(getMultiplyVectorTex(a, u), getMultiplyVectorTex(b, v))}$`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logarithmePrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/logarithmePrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"logarithmePrimitive.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/primitive/logarithmePrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,YAAY,EAEZ,iBAAiB,EAIlB,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAKF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,WAAW,CAsBjE,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,YAAY,CAAC,WAAW,CAsCxE,CAAC;AAeF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAcrD,CAAC"}
|
|
@@ -13,19 +13,27 @@ const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
|
|
|
13
13
|
const powerNode_1 = require("../../../tree/nodes/operators/powerNode");
|
|
14
14
|
const variableNode_1 = require("../../../tree/nodes/variables/variableNode");
|
|
15
15
|
const shuffle_1 = require("../../../utils/alea/shuffle");
|
|
16
|
+
const getKeys = () => {
|
|
17
|
+
return ["x", "C", "lnBrackets", "abs"];
|
|
18
|
+
};
|
|
16
19
|
const getLogarithmePrimitive = () => {
|
|
17
20
|
const u = polynomial_1.PolynomialConstructor.randomWithOrder((0, randint_1.randint)(1, 3));
|
|
18
21
|
const uTree = u.toTree();
|
|
19
22
|
const selectedFunction = new fractionNode_1.FractionNode(u.derivate().toTree(), uTree);
|
|
20
23
|
const integratedFuction = new logNode_1.LogNode(new absNode_1.AbsNode(uTree));
|
|
21
24
|
const answer = new addNode_1.AddNode(integratedFuction, new variableNode_1.VariableNode("C")).toTex();
|
|
25
|
+
const identifiers = { coeffs: u.coefficients };
|
|
22
26
|
const question = {
|
|
23
|
-
instruction: `Déterminer la forme générale des primitives de la fonction $f$ définie par
|
|
27
|
+
instruction: `Déterminer la forme générale des primitives de la fonction $f$ définie par :
|
|
28
|
+
|
|
29
|
+
$$
|
|
30
|
+
f(x) = ${selectedFunction.toTex()}
|
|
31
|
+
$$`,
|
|
24
32
|
startStatement: `F(x)`,
|
|
25
33
|
answer,
|
|
26
|
-
keys:
|
|
34
|
+
keys: getKeys(identifiers),
|
|
27
35
|
answerFormat: "tex",
|
|
28
|
-
identifiers
|
|
36
|
+
identifiers,
|
|
29
37
|
};
|
|
30
38
|
return question;
|
|
31
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inequalityToInterval.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sets/intervals/inequalityToInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"inequalityToInterval.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/sets/intervals/inequalityToInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAO5D,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAkFF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CActD,CAAC"}
|