math-exercises 3.0.180 → 3.0.182

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.
Files changed (72) hide show
  1. package/lib/exercises/math/derivation/applications/index.d.ts +3 -0
  2. package/lib/exercises/math/derivation/applications/index.d.ts.map +1 -0
  3. package/lib/exercises/math/derivation/applications/index.js +2 -0
  4. package/lib/exercises/math/derivation/applications/maxBenefice.d.ts +11 -0
  5. package/lib/exercises/math/derivation/applications/maxBenefice.d.ts.map +1 -0
  6. package/lib/exercises/math/derivation/applications/maxBenefice.js +184 -0
  7. package/lib/exercises/math/derivation/applications/minimalCost.d.ts +11 -0
  8. package/lib/exercises/math/derivation/applications/minimalCost.d.ts.map +1 -0
  9. package/lib/exercises/math/derivation/applications/minimalCost.js +181 -0
  10. package/lib/exercises/math/derivation/index.d.ts +1 -0
  11. package/lib/exercises/math/derivation/index.d.ts.map +1 -1
  12. package/lib/exercises/math/derivation/index.js +1 -0
  13. package/lib/exercises/math/derivation/tangent/horizontalTangentFromAlgebraic.d.ts.map +1 -1
  14. package/lib/exercises/math/derivation/tangent/horizontalTangentFromAlgebraic.js +8 -4
  15. package/lib/exercises/math/functions/composition/functionComposition.d.ts.map +1 -1
  16. package/lib/exercises/math/functions/composition/functionComposition.js +20 -15
  17. package/lib/exercises/math/functions/exponential/algebraic/index.d.ts +0 -1
  18. package/lib/exercises/math/functions/exponential/algebraic/index.d.ts.map +1 -1
  19. package/lib/exercises/math/functions/exponential/algebraic/index.js +1 -1
  20. package/lib/exercises/math/probaStat/independancy/independancyFromEffectifTable.d.ts +10 -0
  21. package/lib/exercises/math/probaStat/independancy/independancyFromEffectifTable.d.ts.map +1 -0
  22. package/lib/exercises/math/probaStat/independancy/independancyFromEffectifTable.js +154 -0
  23. package/lib/exercises/math/probaStat/independancy/independancyFromProbaTree.d.ts +10 -0
  24. package/lib/exercises/math/probaStat/independancy/independancyFromProbaTree.d.ts.map +1 -0
  25. package/lib/exercises/math/probaStat/independancy/independancyFromProbaTree.js +152 -0
  26. package/lib/exercises/math/probaStat/independancy/index.d.ts +2 -0
  27. package/lib/exercises/math/probaStat/independancy/index.d.ts.map +1 -1
  28. package/lib/exercises/math/probaStat/independancy/index.js +2 -0
  29. package/lib/exercises/math/probaStat/trees/index.d.ts +4 -1
  30. package/lib/exercises/math/probaStat/trees/index.d.ts.map +1 -1
  31. package/lib/exercises/math/probaStat/trees/index.js +4 -8
  32. package/lib/exercises/math/probaStat/trees/probaTreeSituationTotalProbaFormula.d.ts +6 -0
  33. package/lib/exercises/math/probaStat/trees/probaTreeSituationTotalProbaFormula.d.ts.map +1 -1
  34. package/lib/exercises/math/probaStat/trees/probaTreeSituationTotalProbaFormula.js +125 -80
  35. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.d.ts.map +1 -1
  36. package/lib/exercises/math/sequences/arithmetic/situations/arithmeticFindRecurrenceFormulaFromSituation.js +0 -4
  37. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoConsecutiveTerms.d.ts.map +1 -1
  38. package/lib/exercises/math/sequences/geometric/geometricFindExplicitFormulaFromTwoConsecutiveTerms.js +38 -26
  39. package/lib/exercises/math/sequences/geometric/index.d.ts +0 -3
  40. package/lib/exercises/math/sequences/geometric/index.d.ts.map +1 -1
  41. package/lib/exercises/math/sequences/geometric/index.js +3 -3
  42. package/lib/exercises/math/sequences/geometric/situations/geometricFindExplicitFormulaFromSituation.js +1 -1
  43. package/lib/exercises/math/sequences/geometric/situations/index.d.ts +0 -1
  44. package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -1
  45. package/lib/exercises/math/sequences/geometric/situations/index.js +1 -1
  46. package/lib/exercises/math/sequences/index.d.ts +1 -1
  47. package/lib/exercises/math/sequences/index.d.ts.map +1 -1
  48. package/lib/exercises/math/sequences/index.js +1 -2
  49. package/lib/exercises/math/sequences/limits/index.d.ts +2 -1
  50. package/lib/exercises/math/sequences/limits/index.d.ts.map +1 -1
  51. package/lib/exercises/math/sequences/limits/index.js +2 -2
  52. package/lib/exercises/math/sequences/limits/readSequenceConvergencyType.d.ts +9 -0
  53. package/lib/exercises/math/sequences/limits/readSequenceConvergencyType.d.ts.map +1 -0
  54. package/lib/exercises/math/sequences/limits/readSequenceConvergencyType.js +256 -0
  55. package/lib/exercises/math/sequences/limits/sequenceLimitReading.d.ts +7 -0
  56. package/lib/exercises/math/sequences/limits/sequenceLimitReading.d.ts.map +1 -1
  57. package/lib/exercises/math/sequences/limits/sequenceLimitReading.js +232 -163
  58. package/lib/exercises/math/sequences/variations/genericSequenceVariations.d.ts +7 -0
  59. package/lib/exercises/math/sequences/variations/genericSequenceVariations.d.ts.map +1 -0
  60. package/lib/exercises/math/sequences/variations/genericSequenceVariations.js +122 -0
  61. package/lib/exercises/math/sequences/variations/index.d.ts +2 -0
  62. package/lib/exercises/math/sequences/variations/index.d.ts.map +1 -1
  63. package/lib/exercises/math/sequences/variations/index.js +2 -0
  64. package/lib/exercises/math/sequences/variations/sequenceVariationFromTermsDifference.d.ts +9 -0
  65. package/lib/exercises/math/sequences/variations/sequenceVariationFromTermsDifference.d.ts.map +1 -0
  66. package/lib/exercises/math/sequences/variations/sequenceVariationFromTermsDifference.js +155 -0
  67. package/lib/index.d.ts +47 -39
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/tests/singleExo.test.js +2 -2
  70. package/lib/tree/parsers/rationalParser.d.ts.map +1 -1
  71. package/lib/tree/parsers/rationalParser.js +7 -1
  72. package/package.json +1 -1
@@ -0,0 +1,155 @@
1
+ import { addValidProp, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { Affine } from "../../../../math/polynomials/affine.js";
4
+ import { randint } from "../../../../math/utils/random/randint.js";
5
+ import { firstDegreeInequationResolutionTex } from "../../../../tree/nodes/inequations/inequationNode.js";
6
+ import { reifyAlgebraic, } from "../../../../tree/nodes/nodeConstructor.js";
7
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
8
+ import { square } from "../../../../tree/nodes/operators/powerNode.js";
9
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
10
+ const getPropositions = (n, { answer }) => {
11
+ const propositions = [];
12
+ addValidProp(propositions, answer, "raw");
13
+ ["Constante", "Croissante", "Décroissante", "Non monotone"].forEach((prop) => {
14
+ tryToAddWrongProp(propositions, prop, "raw");
15
+ });
16
+ return shuffleProps(propositions, n);
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const diff = reifyAlgebraic(identifiers.diffIdentifiers);
20
+ const ev = diff
21
+ .toDetailedEvaluation({ n: (1).toTree() })
22
+ .simplify()
23
+ .evaluate();
24
+ if (ev === 0)
25
+ return "Constante";
26
+ if (ev > 0)
27
+ return "Croissante";
28
+ if (ev < 0)
29
+ return "Décroissante";
30
+ return "Non monotone";
31
+ };
32
+ const getInstruction = (identifiers) => {
33
+ const diff = reifyAlgebraic(identifiers.diffIdentifiers);
34
+ return `On considère une suite $u$, telle que pour tout entier $n$ :
35
+
36
+ $$
37
+ u_{n+1} - u_n = ${diff.toTex()}
38
+ $$
39
+
40
+ Quel est le sens de variations de $u$ ?`;
41
+ };
42
+ const getHint = () => {
43
+ return `On dit qu'une suite $u$ est :
44
+
45
+ - croissante si et seulement si pour tout entier $n$, on a $u_{n+1}\\geq u_n$,
46
+ - décroissante si et seulement si pour tout entier $n$, on a $u_{n+1}\\leq u_n$,
47
+ - constante si et seulement si pour tout entier $n$, on a $u_{n+1} = u_n$
48
+
49
+ Dans les autres cas, on dit que $u$ est non monotone.
50
+ `;
51
+ };
52
+ const getCorrection = (identifiers) => {
53
+ const answer = getAnswer(identifiers).toLocaleLowerCase();
54
+ const diff = reifyAlgebraic(identifiers.diffIdentifiers);
55
+ let corr = `On étudie le signe de $u_{n+1}-u_n$ en fonction de $n$.
56
+
57
+ S'il est positif, alors $u$ est croissante. S'il est négatif, alors $u$ est décroissante. S'il est nul, alors $u$ est constante. S'il varie en fonction de $n$, alors $u$ est non monotone.
58
+
59
+ Ici, pour tout entier $n$, `;
60
+ switch (identifiers.type) {
61
+ case 0:
62
+ corr += `on a $u_{n+1}-u_n = 0$, donc $u$ est ${answer}.`;
63
+ break;
64
+ case 1: {
65
+ corr += `on a $u_{n+1}-u_n ${answer === "croissante" ? ">" : "<"} 0$, donc $u$ est ${answer}.`;
66
+ break;
67
+ }
68
+ case 2: {
69
+ const b = diff
70
+ .toDetailedEvaluation({ n: (0).toTree() })
71
+ .simplify()
72
+ .evaluate();
73
+ const a = substract(diff.toDetailedEvaluation({ n: (1).toTree() }), b)
74
+ .simplify()
75
+ .evaluate();
76
+ const aff = new Affine(a, b, "n");
77
+ corr += `on a :
78
+
79
+ $$
80
+ ${firstDegreeInequationResolutionTex(aff, "\\ge", (0).toTree())}
81
+ $$
82
+
83
+ Donc, pour tout entier naturel $n\\geq 0$, on a $u_{n+1}-u_n ${answer === "croissante" ? ">" : "<"} 0$.
84
+
85
+ On en conclut que $u$ est ${answer}.`;
86
+ break;
87
+ }
88
+ case 3:
89
+ default: {
90
+ const sign = answer === "croissante" ? ">" : "<";
91
+ corr += `on a $u_{n+1}-u_n ${sign} 0$, car $n^2\\geq 0$.
92
+
93
+ Donc $u$ est ${answer}.`;
94
+ break;
95
+ }
96
+ }
97
+ return corr;
98
+ };
99
+ const getSequenceVariationFromTermsDifferenceQuestion = () => {
100
+ const type = randint(0, 4);
101
+ let diffIdentifiers;
102
+ switch (type) {
103
+ case 0:
104
+ diffIdentifiers = (0).toTree().toIdentifiers();
105
+ break;
106
+ case 1:
107
+ diffIdentifiers = randint(-10, 10, [0]).toTree().toIdentifiers();
108
+ break;
109
+ case 2: {
110
+ const root = randint(-10, 0, [0]);
111
+ const a = randint(-10, 10, [0]);
112
+ diffIdentifiers = new Affine(a, -root * a, "n").toTree().toIdentifiers();
113
+ break;
114
+ }
115
+ case 3:
116
+ default: {
117
+ const a = randint(-10, 10, [0]);
118
+ diffIdentifiers = multiply(a, square("n")).toIdentifiers();
119
+ break;
120
+ }
121
+ }
122
+ const identifiers = {
123
+ diffIdentifiers,
124
+ type,
125
+ };
126
+ return getQuestionFromIdentifiers(identifiers);
127
+ };
128
+ const getQuestionFromIdentifiers = (identifiers) => {
129
+ return {
130
+ answer: getAnswer(identifiers),
131
+ instruction: getInstruction(identifiers),
132
+ keys: [],
133
+ answerFormat: "raw",
134
+ identifiers,
135
+ hint: getHint(identifiers),
136
+ correction: getCorrection(identifiers),
137
+ };
138
+ };
139
+ export const sequenceVariationFromTermsDifference = {
140
+ id: "sequenceVariationFromTermsDifference",
141
+ label: "Déterminer le sens de variations d'une suite en connaissant la différence entre deux termes consécutifs",
142
+ isSingleStep: true,
143
+ generator: (nb, opts) => getDistinctQuestions(() => getSequenceVariationFromTermsDifferenceQuestion(opts), nb),
144
+ qcmTimer: 60,
145
+ freeTimer: 60,
146
+ getPropositions,
147
+ subject: "Mathématiques",
148
+ getInstruction,
149
+ getHint,
150
+ getCorrection,
151
+ getAnswer,
152
+ getQuestionFromIdentifiers,
153
+ hasHintAndCorrection: true,
154
+ answerType: "QCU",
155
+ };
package/lib/index.d.ts CHANGED
@@ -1080,6 +1080,16 @@ declare const mathExercises: (Exercise<{
1080
1080
  }, Record<string, string | boolean | string[]>> | Exercise<{
1081
1081
  quadcoeffs: number[];
1082
1082
  }, Record<string, string | boolean | string[]>> | Exercise<{
1083
+ isAskingX: boolean;
1084
+ coeffs: number[];
1085
+ }, {
1086
+ method: string;
1087
+ }> | Exercise<{
1088
+ isAskingX: boolean;
1089
+ coeffs: number[];
1090
+ }, {
1091
+ method: string;
1092
+ }> | Exercise<{
1083
1093
  a: number;
1084
1094
  }, Record<string, string | boolean | string[]>> | Exercise<{
1085
1095
  a: number;
@@ -1597,13 +1607,6 @@ declare const mathExercises: (Exercise<{
1597
1607
  expBRounded: number;
1598
1608
  precision: number;
1599
1609
  }, Record<string, string | boolean | string[]>> | Exercise<{
1600
- nodeIdsA: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
1601
- nodeIdsB: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
1602
- nodeIdsAOpB: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
1603
- rand: number;
1604
- }, {
1605
- isUseExpNotation: boolean;
1606
- }> | Exercise<{
1607
1610
  nodeIdsF: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
1608
1611
  nodeIdsT: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
1609
1612
  x: number;
@@ -2977,6 +2980,15 @@ declare const mathExercises: (Exercise<{
2977
2980
  }, Record<string, string | boolean | string[]>> | Exercise<{
2978
2981
  pAIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2979
2982
  pBIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2983
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2984
+ aCapB: number;
2985
+ aCapBBarre: number;
2986
+ aBarreCapB: number;
2987
+ aBarreCapBBarre: number;
2988
+ }, Record<string, string | boolean | string[]>> | Exercise<{
2989
+ pAIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2990
+ p_ABIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2991
+ p_ABarreBIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
2980
2992
  }, Record<string, string | boolean | string[]>> | Exercise<{
2981
2993
  questionType: string;
2982
2994
  value?: string;
@@ -3236,11 +3248,25 @@ declare const mathExercises: (Exercise<{
3236
3248
  BC: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3237
3249
  BD: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3238
3250
  probaName: string;
3251
+ useContraryNames?: boolean;
3239
3252
  }, {
3240
- allowApproximate: string;
3241
- eventTypes: string[];
3242
- probaType: string;
3253
+ allowApproximate?: string;
3254
+ eventTypes?: string[];
3255
+ probaType?: string;
3256
+ eventsNames?: string;
3243
3257
  }> | Exercise<{
3258
+ initTree: string[][][][];
3259
+ valueDatas: {
3260
+ isComp: boolean;
3261
+ value: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3262
+ }[];
3263
+ }, {
3264
+ probaType?: string;
3265
+ }> | Exercise<{
3266
+ params: import("./exercises/math/probaStat/trees/probaTreeSituations.js").ProbaTreeSituationParams;
3267
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3268
+ params: import("./exercises/math/probaStat/trees/probaTreeSituations.js").ProbaTreeSituationParams;
3269
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3244
3270
  firstValue: number;
3245
3271
  askedRank: number;
3246
3272
  reason: number;
@@ -3407,28 +3433,6 @@ declare const mathExercises: (Exercise<{
3407
3433
  value2: number;
3408
3434
  precisionInitial: number;
3409
3435
  precisionReason: number;
3410
- }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne> | Exercise<{
3411
- rank1: number;
3412
- value1: number;
3413
- rank2: number;
3414
- value2: number;
3415
- precisionInitial: number;
3416
- precisionReason: number;
3417
- }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne> | Exercise<{
3418
- rank1: number;
3419
- value1: number;
3420
- rank2: number;
3421
- value2: number;
3422
- precisionInitial: number;
3423
- precisionReason: number;
3424
- rankAsked: number;
3425
- }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne> | Exercise<{
3426
- rank1: number;
3427
- value1: number;
3428
- rank2: number;
3429
- value2: number;
3430
- precisionInitial: number;
3431
- precisionReason: number;
3432
3436
  rankAsked: number;
3433
3437
  }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne> | Exercise<{
3434
3438
  raison: number;
@@ -3454,11 +3458,6 @@ declare const mathExercises: (Exercise<{
3454
3458
  initial: number;
3455
3459
  reason: number;
3456
3460
  superfluousData?: import("./math/utils/sequences/situations/seqGeometricSituations.js").SituationGeometricSuperfluousData;
3457
- }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne & import("./exercises/options/optionIsWithSuperfluousData.js").OptionIsWithSuperfluousData> | Exercise<{
3458
- situationIndex: number;
3459
- initial: number;
3460
- reason: number;
3461
- superfluousData?: import("./math/utils/sequences/situations/seqGeometricSituations.js").SituationGeometricSuperfluousData;
3462
3461
  }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne & import("./exercises/options/optionIsWithSuperfluousData.js").OptionIsWithSuperfluousData> | Exercise<{
3463
3462
  situationIndex: number;
3464
3463
  initial: number;
@@ -3471,8 +3470,6 @@ declare const mathExercises: (Exercise<{
3471
3470
  }, {
3472
3471
  functionType: string[];
3473
3472
  }> | Exercise<{
3474
- coeffs: number[];
3475
- }, Record<string, string | boolean | string[]>> | Exercise<{
3476
3473
  rank: number;
3477
3474
  u0: number;
3478
3475
  coeffs: number[];
@@ -3513,10 +3510,21 @@ declare const mathExercises: (Exercise<{
3513
3510
  }, import("./exercises/options/optionFirstTermRankOne.js").OptionFirstTermRankOne & {
3514
3511
  distanceOfRankAsked: string;
3515
3512
  }> | Exercise<{
3513
+ type: number;
3514
+ formulaIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3515
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3516
+ type: number;
3517
+ formulaIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3518
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3516
3519
  formulaIds: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3517
3520
  }, {
3518
3521
  sequenceTypes: string[];
3519
3522
  }> | Exercise<{
3523
+ diffIdentifiers: import("./tree/nodes/nodeConstructor.js").NodeIdentifiers;
3524
+ type: number;
3525
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3526
+ coeffs: number[];
3527
+ }, Record<string, string | boolean | string[]>> | Exercise<{
3520
3528
  intervalIdentifiers: import("./tree/nodes/sets/intervalNode.js").IntervalNodeIdentifiers;
3521
3529
  }, Record<string, string | boolean | string[]>> | Exercise<{
3522
3530
  int1Identifiers: import("./tree/nodes/sets/intervalNode.js").IntervalNodeIdentifiers;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import "../prototypesEnhancement.js";
2
2
  import { exoTest } from "./exoTest.js";
3
- import { colinearityFromPicture, } from "../exercises/math/index.js";
3
+ import { arithmeticFindExplicitFormulaFromTwoTerms, } from "../exercises/math/index.js";
4
4
  try {
5
5
  for (let i = 0; i < 1000; i++)
6
- exoTest(colinearityFromPicture);
6
+ exoTest(arithmeticFindExplicitFormulaFromTwoTerms);
7
7
  }
8
8
  catch (err) {
9
9
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"rationalParser.d.ts","sourceRoot":"","sources":["../../../src/tree/parsers/rationalParser.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,qSA0CzC,CAAC"}
1
+ {"version":3,"file":"rationalParser.d.ts","sourceRoot":"","sources":["../../../src/tree/parsers/rationalParser.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,qSAiDzC,CAAC"}
@@ -1,13 +1,19 @@
1
+ import { round } from "../../math/utils/round.js";
1
2
  import { isOppositeNode } from "../nodes/functions/oppositeNode.js";
2
3
  import { isNumberOrOppositeNumberNode } from "../nodes/numbers/numberNode.js";
3
- import { isFractionNode } from "../nodes/operators/fractionNode.js";
4
+ import { frac, isFractionNode } from "../nodes/operators/fractionNode.js";
4
5
  import { parseAlgebraic } from "./latexParser.js";
5
6
  import { numberParser } from "./numberParser.js";
7
+ import { percentParser } from "./percentParser.js";
6
8
  export const rationalParser = (ans) => {
7
9
  const nb = numberParser(ans);
8
10
  if (nb !== false) {
9
11
  return nb.unfrenchify().toTree();
10
12
  }
13
+ const percent = percentParser(ans, false);
14
+ if (percent !== false) {
15
+ return round(frac(percent.replace("\\%", "").unfrenchify(), 100).evaluate(), 8).toTree();
16
+ }
11
17
  const parsed = parseAlgebraic(ans);
12
18
  if (!parsed)
13
19
  return false;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.180",
4
+ "version": "3.0.182",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [