math-exercises 2.2.84 → 2.2.85

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 (80) hide show
  1. package/lib/exercises/math/calcul/fractions/fractionToPercentToDecimal.js +2 -2
  2. package/lib/exercises/math/calculLitteral/equation/equationType3Exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calculLitteral/equation/equationType4Exercise.d.ts.map +1 -1
  4. package/lib/exercises/math/derivation/derivative/expDerivativeFour.d.ts.map +1 -1
  5. package/lib/exercises/math/derivation/derivative/expDerivativeFour.js +36 -16
  6. package/lib/exercises/math/derivation/derivative/expDerivativeThree.d.ts.map +1 -1
  7. package/lib/exercises/math/derivation/derivative/expDerivativeThree.js +34 -11
  8. package/lib/exercises/math/derivation/derivative/quotientDerivative.d.ts.map +1 -1
  9. package/lib/exercises/math/derivation/derivative/quotientDerivative.js +57 -26
  10. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.d.ts.map +1 -1
  11. package/lib/exercises/math/functions/absolute/absolueValueAffineEquation.js +1 -0
  12. package/lib/exercises/math/functions/affines/affineAdjustment.d.ts.map +1 -1
  13. package/lib/exercises/math/functions/affines/affineAdjustment.js +2 -0
  14. package/lib/exercises/math/functions/affines/affineAdjustmentComplete.js +1 -1
  15. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.d.ts.map +1 -1
  16. package/lib/exercises/math/functions/affines/affineExpressionFromTwoImages.js +58 -22
  17. package/lib/exercises/math/functions/exponential/expEquation.d.ts.map +1 -1
  18. package/lib/exercises/math/functions/exponential/expEquation.js +55 -24
  19. package/lib/exercises/math/functions/index.d.ts +1 -0
  20. package/lib/exercises/math/functions/index.d.ts.map +1 -1
  21. package/lib/exercises/math/functions/index.js +1 -0
  22. package/lib/exercises/math/functions/logarithm/logPowerEquation.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/logarithm/logPowerEquation.js +15 -12
  24. package/lib/exercises/math/functions/sign/affineProductSign.d.ts +13 -0
  25. package/lib/exercises/math/functions/sign/affineProductSign.d.ts.map +1 -0
  26. package/lib/exercises/math/functions/sign/affineProductSign.js +147 -0
  27. package/lib/exercises/math/functions/sign/index.d.ts +2 -0
  28. package/lib/exercises/math/functions/sign/index.d.ts.map +1 -0
  29. package/lib/exercises/math/functions/sign/index.js +17 -0
  30. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.d.ts.map +1 -1
  31. package/lib/exercises/math/geometry/parametric/extractPointFromParametricLine.js +1 -2
  32. package/lib/exercises/math/percent/averageEvolutionRate.d.ts.map +1 -1
  33. package/lib/exercises/math/percent/averageEvolutionRate.js +36 -17
  34. package/lib/exercises/math/percent/cmToEvolution.js +1 -1
  35. package/lib/exercises/math/trigonometry/degreeToRadians.d.ts.map +1 -1
  36. package/lib/exercises/math/trigonometry/degreeToRadians.js +17 -6
  37. package/lib/index.d.ts +6 -0
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/math/geometry/parametricLine.d.ts.map +1 -1
  40. package/lib/math/geometry/parametricLine.js +2 -4
  41. package/lib/math/polynomials/generalAffine.d.ts +3 -0
  42. package/lib/math/polynomials/generalAffine.d.ts.map +1 -1
  43. package/lib/math/polynomials/generalAffine.js +21 -0
  44. package/lib/playground.d.ts.map +1 -1
  45. package/lib/playground.js +1 -6
  46. package/lib/tree/nodes/algebraicNode.d.ts +1 -0
  47. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  48. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -1
  49. package/lib/tree/nodes/equations/equationSolutionNode.js +1 -1
  50. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  51. package/lib/tree/nodes/functions/log10Node.js +4 -3
  52. package/lib/tree/nodes/functions/logNode.d.ts +2 -2
  53. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  54. package/lib/tree/nodes/functions/logNode.js +8 -8
  55. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  56. package/lib/tree/nodes/functions/oppositeNode.js +0 -1
  57. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  58. package/lib/tree/nodes/operators/fractionNode.js +30 -0
  59. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  60. package/lib/tree/nodes/operators/multiplyNode.js +9 -3
  61. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  62. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  63. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  64. package/lib/tree/nodes/sets/discreteSetNode.js +3 -0
  65. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  66. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  67. package/lib/tree/nodes/sets/intervalNode.js +3 -0
  68. package/lib/tree/nodes/sets/setNode.d.ts +1 -0
  69. package/lib/tree/nodes/sets/setNode.d.ts.map +1 -1
  70. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  71. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  72. package/lib/tree/nodes/sets/unionIntervalNode.js +3 -0
  73. package/lib/tree/parsers/degreeParser.d.ts +2 -0
  74. package/lib/tree/parsers/degreeParser.d.ts.map +1 -0
  75. package/lib/tree/parsers/degreeParser.js +12 -0
  76. package/lib/tree/parsers/discreteSetParser.d.ts.map +1 -1
  77. package/lib/tree/parsers/latexParser.d.ts.map +1 -1
  78. package/lib/tree/parsers/latexParser.js +14 -1
  79. package/lib/utils/latex/alignTex.js +1 -1
  80. package/package.json +1 -1
@@ -34,7 +34,7 @@ const getFractionToPercentToDecimal = () => {
34
34
  break;
35
35
  }
36
36
  case 2: {
37
- instruction = `Écrire le nombre $${String(decimal).replace(".", ",")}$ sous forme de fraction.`;
37
+ instruction = `Écrire le nombre $${String(decimal).replace(".", ",")}$ sous forme de fraction irréductible.`;
38
38
  answer = fracTex;
39
39
  break;
40
40
  }
@@ -44,7 +44,7 @@ const getFractionToPercentToDecimal = () => {
44
44
  break;
45
45
  }
46
46
  case 4: {
47
- instruction = `Écrire le nombre $${String(percent).replace(".", ",")}\\%$ sous forme de fraction.`;
47
+ instruction = `Écrire le nombre $${String(percent).replace(".", ",")}\\%$ sous forme de fraction irréductible.`;
48
48
  answer = fracTex;
49
49
  break;
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"equationType3Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType3Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAsBlC;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAiEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAgBvD,CAAC"}
1
+ {"version":3,"file":"equationType3Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType3Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAelC;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAiEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAgBvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"equationType4Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType4Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAkBlC;;GAEG;AAEH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA0EF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAcvD,CAAC"}
1
+ {"version":3,"file":"equationType4Exercise.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/equation/equationType4Exercise.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAelC;;GAEG;AAEH,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA0EF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAcvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expDerivativeFour.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/expDerivativeFour.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AA8DF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAcnD,CAAC"}
1
+ {"version":3,"file":"expDerivativeFour.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/expDerivativeFour.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AA4EF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAgBnD,CAAC"}
@@ -6,22 +6,37 @@ const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQ
6
6
  const affine_1 = require("../../../../math/polynomials/affine");
7
7
  const expNode_1 = require("../../../../tree/nodes/functions/expNode");
8
8
  const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
9
- const getExpDerivativeFourQuestion = () => {
10
- const affine1 = affine_1.AffineConstructor.random();
11
- const affine2 = affine_1.AffineConstructor.random();
9
+ const latexParser_1 = require("../../../../tree/parsers/latexParser");
10
+ const getInstruction = (identifiers) => {
11
+ const { affine1Coeffs, affine2Coeffs } = identifiers;
12
+ const affine1 = new affine_1.Affine(affine1Coeffs[1], affine1Coeffs[0]);
13
+ const affine2 = new affine_1.Affine(affine2Coeffs[1], affine2Coeffs[0]);
12
14
  const exp = new expNode_1.ExpNode(affine2.toTree());
13
15
  const fct = new multiplyNode_1.MultiplyNode(affine1.toTree(), exp);
16
+ return `Déterminer la dérivée de la fonction $f(x) = ${fct.toTex()}$`;
17
+ };
18
+ const getAnswer = (identifiers) => {
19
+ const { affine1Coeffs, affine2Coeffs } = identifiers;
20
+ const affine1 = new affine_1.Affine(affine1Coeffs[1], affine1Coeffs[0]);
21
+ const affine2 = new affine_1.Affine(affine2Coeffs[1], affine2Coeffs[0]);
22
+ const exp = new expNode_1.ExpNode(affine2.toTree());
14
23
  const deriv = new multiplyNode_1.MultiplyNode(new affine_1.Affine(affine2.a * affine1.a, affine1.a + affine2.a * affine1.b).toTree(), exp);
24
+ return deriv.simplify().toTex();
25
+ };
26
+ const getExpDerivativeFourQuestion = () => {
27
+ const affine1 = affine_1.AffineConstructor.random();
28
+ const affine2 = affine_1.AffineConstructor.random();
29
+ const identifiers = {
30
+ affine1Coeffs: affine1.coefficients,
31
+ affine2Coeffs: affine2.coefficients,
32
+ };
15
33
  //ae^cx+d + c(ax+b)e^cx+d = (a+c(ax+b))e^cx+d = (cax + a +cb) e^cx+d
16
34
  const question = {
17
- answer: deriv.toTex(),
18
- instruction: `Déterminer la dérivée de la fonction $f(x) = ${fct.toTex()}$`,
19
- keys: ["x", "exp"],
35
+ answer: getAnswer(identifiers),
36
+ instruction: getInstruction(identifiers),
37
+ keys: ["x", "epower", "exp"],
20
38
  answerFormat: "tex",
21
- identifiers: {
22
- affine1Coeffs: affine1.coefficients,
23
- affine2Coeffs: affine2.coefficients,
24
- },
39
+ identifiers,
25
40
  };
26
41
  return question;
27
42
  };
@@ -34,12 +49,15 @@ const getPropositions = (n, { answer }) => {
34
49
  return (0, exercise_1.shuffleProps)(propositions, n);
35
50
  };
36
51
  const isAnswerValid = (ans, { answer, affine1Coeffs, affine2Coeffs }) => {
37
- const affine1 = new affine_1.Affine(affine1Coeffs[1], affine1Coeffs[0]);
38
- const affine2 = new affine_1.Affine(affine2Coeffs[1], affine2Coeffs[0]);
39
- const exp = new expNode_1.ExpNode(affine2.toTree());
40
- const deriv = new multiplyNode_1.MultiplyNode(new affine_1.Affine(affine2.a * affine1.a, affine1.a + affine2.a * affine1.b).toTree(), exp);
41
- const texs = deriv.toAllValidTexs();
42
- return texs.includes(ans);
52
+ try {
53
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
54
+ if (!parsed)
55
+ return false;
56
+ return parsed.simplify().toTex() === answer;
57
+ }
58
+ catch (err) {
59
+ return false;
60
+ }
43
61
  };
44
62
  exports.expDerivativeFour = {
45
63
  id: "expDerivativeFour",
@@ -54,4 +72,6 @@ exports.expDerivativeFour = {
54
72
  getPropositions,
55
73
  isAnswerValid,
56
74
  subject: "Mathématiques",
75
+ getInstruction,
76
+ getAnswer,
57
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"expDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/expDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAmEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAapD,CAAC"}
1
+ {"version":3,"file":"expDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/expDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAwFF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAepD,CAAC"}
@@ -9,19 +9,33 @@ const expNode_1 = require("../../../../tree/nodes/functions/expNode");
9
9
  const numberNode_1 = require("../../../../tree/nodes/numbers/numberNode");
10
10
  const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
11
11
  const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
12
+ const latexParser_1 = require("../../../../tree/parsers/latexParser");
13
+ const getInstruction = (identifiers) => {
14
+ const { a, b } = identifiers;
15
+ const myfunction = new multiplyNode_1.MultiplyNode(new polynomial_1.Polynomial([b, a]).toTree(), new expNode_1.ExpNode(new variableNode_1.VariableNode("x")));
16
+ return `Déterminer la dérivée de la fonction $f$ définie par :
17
+
18
+ $$
19
+ f(x) = ${myfunction.toTex()}
20
+ $$`;
21
+ };
22
+ const getAnswer = (identifiers) => {
23
+ const { a, b } = identifiers;
24
+ const derivative = new multiplyNode_1.MultiplyNode(new polynomial_1.Polynomial([b + a, a]).toTree(), new expNode_1.ExpNode(new variableNode_1.VariableNode("x")));
25
+ const answer = derivative.simplify().toTex();
26
+ return answer;
27
+ };
12
28
  const getExpDerivativeThree = () => {
13
29
  const a = (0, randint_1.randint)(-9, 10, [0]);
14
30
  const b = (0, randint_1.randint)(-9, 10);
15
- const myfunction = new multiplyNode_1.MultiplyNode(new polynomial_1.Polynomial([b, a]).toTree(), new expNode_1.ExpNode(new variableNode_1.VariableNode("x")));
16
- const derivative = new multiplyNode_1.MultiplyNode(new polynomial_1.Polynomial([b + a, a]).toTree(), new expNode_1.ExpNode(new variableNode_1.VariableNode("x")));
17
- const answer = derivative.toTex();
31
+ const identifiers = { a, b };
18
32
  const question = {
19
- instruction: `Déterminer la dérivée de la fonction $f(x) = ${myfunction.toTex()}$.`,
33
+ instruction: getInstruction(identifiers),
20
34
  startStatement: "f'(x)",
21
- answer,
35
+ answer: getAnswer(identifiers),
22
36
  keys: ["x", "epower", "exp"],
23
37
  answerFormat: "tex",
24
- identifiers: { a, b },
38
+ identifiers,
25
39
  };
26
40
  return question;
27
41
  };
@@ -34,11 +48,18 @@ const getPropositions = (n, { answer, a, b }) => {
34
48
  (0, exercise_1.tryToAddWrongProp)(propositions, new multiplyNode_1.MultiplyNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new variableNode_1.VariableNode("x")), new expNode_1.ExpNode(new variableNode_1.VariableNode("x"))).toTex());
35
49
  return (0, exercise_1.shuffleProps)(propositions, n);
36
50
  };
37
- const isAnswerValid = (ans, { a, b }) => {
38
- const affine = new polynomial_1.Polynomial([a + b, a]).toTree();
39
- const derivative = new multiplyNode_1.MultiplyNode(affine, new expNode_1.ExpNode(new variableNode_1.VariableNode("x")));
40
- const texs = derivative.toAllValidTexs();
41
- return texs.includes(ans);
51
+ const isAnswerValid = (ans, { a, b, answer }) => {
52
+ try {
53
+ console.log(ans, answer);
54
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
55
+ if (!parsed)
56
+ return false;
57
+ console.log(parsed.simplify().toTex());
58
+ return parsed.simplify().toTex() === answer;
59
+ }
60
+ catch (err) {
61
+ return false;
62
+ }
42
63
  };
43
64
  exports.expDerivativeThree = {
44
65
  id: "expDerivativeThree",
@@ -53,4 +74,6 @@ exports.expDerivativeThree = {
53
74
  freeTimer: 60,
54
75
  isAnswerValid,
55
76
  subject: "Mathématiques",
77
+ getInstruction,
78
+ getAnswer,
56
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"quotientDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/quotientDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAUlC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAmFF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
1
+ {"version":3,"file":"quotientDerivative.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/quotientDerivative.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAoHF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
@@ -4,9 +4,30 @@ exports.quotientDerivative = void 0;
4
4
  const exercise_1 = require("../../../../exercises/exercise");
5
5
  const getDistinctQuestions_1 = require("../../../../exercises/utils/getDistinctQuestions");
6
6
  const polynomial_1 = require("../../../../math/polynomials/polynomial");
7
- const numberNode_1 = require("../../../../tree/nodes/numbers/numberNode");
8
7
  const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
9
8
  const powerNode_1 = require("../../../../tree/nodes/operators/powerNode");
9
+ const latexParser_1 = require("../../../../tree/parsers/latexParser");
10
+ const getInstruction = (identifiers) => {
11
+ const poly1 = new polynomial_1.Polynomial(identifiers.poly1Coeffs);
12
+ const poly2 = new polynomial_1.Polynomial(identifiers.poly2Coeffs);
13
+ return `Déterminer la dérivée de la fonction $f$ définie par:
14
+
15
+ $$
16
+ f(x) = ${new fractionNode_1.FractionNode(poly1.toTree(), poly2.toTree()).toTex()}
17
+ $$`;
18
+ };
19
+ const getAnwer = (identifiers) => {
20
+ const poly1 = new polynomial_1.Polynomial(identifiers.poly1Coeffs);
21
+ const poly2 = new polynomial_1.Polynomial(identifiers.poly2Coeffs);
22
+ const answerNum = poly1
23
+ .derivate()
24
+ .multiply(poly2)
25
+ .add(poly1.opposite().multiply(poly2.derivate()))
26
+ .toTree();
27
+ const answerDenum = new powerNode_1.SquareNode(poly2.toTree());
28
+ const answer = new fractionNode_1.FractionNode(answerNum, answerDenum).toTex();
29
+ return answer;
30
+ };
10
31
  const getProductDerivativeQuestion = () => {
11
32
  const poly1 = polynomial_1.PolynomialConstructor.randomWithLength(2, 2);
12
33
  let poly2;
@@ -18,22 +39,16 @@ const getProductDerivativeQuestion = () => {
18
39
  poly2.coefficients.every((coeff, index) => coeff / poly1.coefficients[index] ===
19
40
  poly2.coefficients[0] / poly1.coefficients[0]);
20
41
  } while (isMultiple);
21
- const answerNum = poly1
22
- .derivate()
23
- .multiply(poly2)
24
- .add(poly1.opposite().multiply(poly2.derivate()))
25
- .toTree();
26
- const answerDenum = new powerNode_1.SquareNode(poly2.toTree());
27
- const answer = new fractionNode_1.FractionNode(answerNum, answerDenum).toTex();
42
+ const identifiers = {
43
+ poly1Coeffs: poly1.coefficients,
44
+ poly2Coeffs: poly2.coefficients,
45
+ };
28
46
  const question = {
29
- answer,
30
- instruction: `Déterminer la dérivée de la fonction $f$ définie par $f(x) = ${new fractionNode_1.FractionNode(poly1.toTree(), poly2.toTree()).toTex()}$`,
47
+ answer: getAnwer(identifiers),
48
+ instruction: getInstruction(identifiers),
31
49
  keys: ["x", "xsquare", "xcube"],
32
50
  answerFormat: "tex",
33
- identifiers: {
34
- poly1Coeffs: poly1.coefficients,
35
- poly2Coeffs: poly2.coefficients,
36
- },
51
+ identifiers,
37
52
  };
38
53
  return question;
39
54
  };
@@ -55,18 +70,34 @@ const getPropositions = (n, { answer, poly1Coeffs, poly2Coeffs }) => {
55
70
  }
56
71
  return (0, exercise_1.shuffleProps)(propositions, n);
57
72
  };
58
- const isAnswerValid = (ans, { poly1Coeffs, poly2Coeffs }) => {
59
- const poly1 = new polynomial_1.Polynomial(poly1Coeffs);
60
- const poly2 = new polynomial_1.Polynomial(poly2Coeffs);
61
- const answerNum = poly1
62
- .derivate()
63
- .multiply(poly2)
64
- .add(poly1.opposite().multiply(poly2.derivate()))
65
- .toTree({ forbidPowerToProduct: true });
66
- const answerDenum = new powerNode_1.PowerNode(poly2.toTree(), new numberNode_1.NumberNode(2));
67
- const answer = new fractionNode_1.FractionNode(answerNum, answerDenum);
68
- const texs = answer.toAllValidTexs();
69
- return texs.includes(ans);
73
+ const isAnswerValid = (ans, { answer, poly1Coeffs, poly2Coeffs }) => {
74
+ // const poly1 = new Polynomial(poly1Coeffs);
75
+ // const poly2 = new Polynomial(poly2Coeffs);
76
+ // const answerNum = poly1
77
+ // .derivate()
78
+ // .multiply(poly2)
79
+ // .add(poly1.opposite().multiply(poly2.derivate()))
80
+ // .toTree({ forbidPowerToProduct: true });
81
+ // const answerDenum = new PowerNode(poly2.toTree(), new NumberNode(2));
82
+ // const answer = new FractionNode(answerNum, answerDenum);
83
+ // const texs = answer.toAllValidTexs();
84
+ // return texs.includes(ans);
85
+ try {
86
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
87
+ const simp = parsed
88
+ .simplify({ keepPowers: true, forbidFactorize: true })
89
+ .toTex();
90
+ const parsedAnswer = (0, latexParser_1.parseAlgebraic)(answer);
91
+ const simpAnswer = parsedAnswer
92
+ .simplify({ keepPowers: true, forbidFactorize: true })
93
+ .toTex();
94
+ console.log(answer);
95
+ console.log(simp);
96
+ return simp === simpAnswer;
97
+ }
98
+ catch (err) {
99
+ return false;
100
+ }
70
101
  };
71
102
  exports.quotientDerivative = {
72
103
  id: "quotientDerivative",
@@ -1 +1 @@
1
- {"version":3,"file":"absolueValueAffineEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/absolute/absolueValueAffineEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAGL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAM9C,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,wBAAwB,CAAC;IACtC,YAAY,EAAE,wBAAwB,CAAC;CACxC,CAAC;AAyKF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
1
+ {"version":3,"file":"absolueValueAffineEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/absolute/absolueValueAffineEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAcT,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAGL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAM9C,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,wBAAwB,CAAC;IACtC,YAAY,EAAE,wBAAwB,CAAC;CACxC,CAAC;AA0KF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAiB5D,CAAC"}
@@ -104,6 +104,7 @@ $$
104
104
  ${res.length > 1
105
105
  ? `x=${res[0].toTex()} \\text{ ou } x=${res[1].toTex()}`
106
106
  : `x=${res[0]?.toTex() || res[1]?.toTex()}`}
107
+ $$
107
108
  `;
108
109
  };
109
110
  const getKeys = (identifiers) => {
@@ -1 +1 @@
1
- {"version":3,"file":"affineAdjustment.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/affineAdjustment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA2JF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAe1D,CAAC"}
1
+ {"version":3,"file":"affineAdjustment.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/affineAdjustment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAUT,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA6JF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,WAAW,CAe1D,CAAC"}
@@ -21,6 +21,8 @@ const getInstruction = ({ xValues, yValues }) => {
21
21
  return `On considère la série statistique ci-dessous. Déterminez l'équation de la droite d'ajustement obtenue par la méthode des moindres carrés.
22
22
 
23
23
  ${dataTable}
24
+
25
+ Arrondir les coefficients au dixième.
24
26
  `;
25
27
  };
26
28
  function generateLinearData(n) {
@@ -66,7 +66,7 @@ const getAffineAdjustmentCompleteQuestion = () => {
66
66
  ]);
67
67
  const question = {
68
68
  answer: `${answerEq}\\newline ${answerR}`,
69
- instruction: `On considère la série statistique ci-dessous. A l'aide de la calculatrice, déterminer l'équation de la droite d'ajustement et la valeur du coefficient de détermination. Arrondir au centième. ${dataTable}
69
+ instruction: `On considère la série statistique ci-dessous. A l'aide de la calculatrice, déterminer l'équation de la droite d'ajustement et la valeur du coefficient de détermination. ${dataTable}
70
70
  `,
71
71
  keys: [],
72
72
  answerFormat: "tex",
@@ -1 +1 @@
1
- {"version":3,"file":"affineExpressionFromTwoImages.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/affineExpressionFromTwoImages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA2GF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAgB/D,CAAC"}
1
+ {"version":3,"file":"affineExpressionFromTwoImages.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/affines/affineExpressionFromTwoImages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAYT,MAAM,0BAA0B,CAAC;AAelC,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAgJF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,WAAW,CAgB/D,CAAC"}
@@ -11,6 +11,7 @@ const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
11
11
  const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
12
12
  const substractNode_1 = require("../../../../tree/nodes/operators/substractNode");
13
13
  const variableNode_1 = require("../../../../tree/nodes/variables/variableNode");
14
+ const latexParser_1 = require("../../../../tree/parsers/latexParser");
14
15
  const shuffle_1 = require("../../../../utils/alea/shuffle");
15
16
  const alignTex_1 = require("../../../../utils/latex/alignTex");
16
17
  const getCorrection = (identifiers) => {
@@ -18,9 +19,7 @@ const getCorrection = (identifiers) => {
18
19
  const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(yB.toTree(), yA.toTree()), new substractNode_1.SubstractNode(xB.toTree(), xA.toTree()));
19
20
  const aSimplified = a.simplify();
20
21
  const b = new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).simplify();
21
- const answer = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b)
22
- .simplify({ forceDistributeFractions: true })
23
- .toTex();
22
+ const answer = getAnswer(identifiers);
24
23
  return `On calcule d'abord le taux d'accroissement $a$ :
25
24
 
26
25
  ${(0, alignTex_1.alignTex)([
@@ -46,24 +45,38 @@ $$
46
45
  Ainsi, $f(x) = ${answer}$.
47
46
  `;
48
47
  };
49
- const getAffineExpressionFromTwoImagesQuestion = () => {
50
- const [xA, yA] = [1, 2].map((el) => (0, randint_1.randint)(-9, 10));
51
- const xB = (0, randint_1.randint)(-9, 10, [xA]);
52
- const yB = (0, randint_1.randint)(-9, 10);
48
+ const getInstruction = (identifiers) => {
49
+ const { xA, yA, xB, yB } = identifiers;
50
+ return `Soit $f$ une fonction affine telle que $f(${xA}) = ${yA}$ et $f(${xB}) = ${yB}$.
51
+
52
+ Quelle est l'expression algébrique de $f$ ?`;
53
+ };
54
+ const getHint = (identifiers) => {
55
+ return "Calcule d'abord le taux d'accroissement de $f$ en utilisant la formule $a = \\frac{y_2-y_1}{x_2-x_1}$. Ensuite, utilise les coordonnées d'un des deux points pour déterminer l'ordonnée à l'origine.";
56
+ };
57
+ const getAnswer = (identifiers) => {
58
+ const { xA, yA, xB, yB } = identifiers;
53
59
  const a = new rational_1.Rational(yB - yA, xB - xA).simplify().toTree();
54
60
  //yA = axA+b donc b = yA-axA
55
61
  const b = new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).simplify();
56
- const answer = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b)
57
- .simplify({ forceDistributeFractions: true })
62
+ return new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b)
63
+ .simplify({
64
+ forceDistributeFractions: true,
65
+ towardsDistribute: true,
66
+ forbidFactorize: true,
67
+ })
58
68
  .toTex();
69
+ };
70
+ const getAffineExpressionFromTwoImagesQuestion = () => {
71
+ const [xA, yA] = [1, 2].map((el) => (0, randint_1.randint)(-9, 10));
72
+ const xB = (0, randint_1.randint)(-9, 10, [xA]);
73
+ const yB = (0, randint_1.randint)(-9, 10);
59
74
  const identifiers = { xA, xB, yA, yB };
60
75
  const question = {
61
- instruction: `Soit $f$ une fonction affine telle que $f(${xA}) = ${yA}$ et $f(${xB}) = ${yB}$.
62
-
63
- Quelle est l'expression algébrique de $f$ ?`,
76
+ instruction: getInstruction(identifiers),
64
77
  startStatement: "a",
65
- answer,
66
- hint: "Calcule d'abord le taux d'accroissement de $f$ en utilisant la formule $a = \\frac{y_2-y_1}{x_2-x_1}$. Ensuite, utilise les coordonnées d'un des deux points pour déterminer l'ordonnée à l'origine.",
78
+ answer: getAnswer(identifiers),
79
+ hint: getHint(identifiers),
67
80
  correction: getCorrection(identifiers),
68
81
  answerFormat: "tex",
69
82
  keys: ["x"],
@@ -81,14 +94,37 @@ const getPropositions = (n, { answer, xA, xB, yA, yB }) => {
81
94
  return (0, shuffle_1.shuffle)(propositions);
82
95
  };
83
96
  const isAnswerValid = (ans, { xA, xB, yA, yB }) => {
84
- const a = new rational_1.Rational(yB - yA, xB - xA).simplify().toTree();
85
- //yA = axA+b donc b = yA-axA
86
- const b = new substractNode_1.SubstractNode(yA.toTree(), new multiplyNode_1.MultiplyNode(a, xA.toTree())).simplify();
87
- const answer = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(a, new variableNode_1.VariableNode("x")), b, {
88
- allowFractionToDecimal: true,
89
- }).simplify({ forceDistributeFractions: true });
90
- const texs = answer.toAllValidTexs();
91
- return texs.includes(ans);
97
+ try {
98
+ // const parsed = affineParser(ans);
99
+ const parsed = (0, latexParser_1.parseAlgebraic)(ans);
100
+ if (!parsed)
101
+ return false;
102
+ return (parsed
103
+ .simplify({
104
+ towardsDistribute: true,
105
+ forbidFactorize: true,
106
+ forceDistributeFractions: true,
107
+ })
108
+ .toTex() === ans);
109
+ }
110
+ catch (err) {
111
+ return false;
112
+ }
113
+ // const a = new Rational(yB - yA, xB - xA).simplify().toTree();
114
+ // //yA = axA+b donc b = yA-axA
115
+ // const b = new SubstractNode(
116
+ // yA.toTree(),
117
+ // new MultiplyNode(a, xA.toTree()),
118
+ // ).simplify();
119
+ // const answer = new AddNode(new MultiplyNode(a, new VariableNode("x")), b, {
120
+ // allowFractionToDecimal: true,
121
+ // }).simplify({
122
+ // forceDistributeFractions: true,
123
+ // towardsDistribute: true,
124
+ // forbidFactorize: true,
125
+ // });
126
+ // const texs = answer.toAllValidTexs();
127
+ // return texs.includes(ans);
92
128
  };
93
129
  exports.affineExpressionFromTwoImages = {
94
130
  id: "affineExpressionFromTwoImages",
@@ -1 +1 @@
1
- {"version":3,"file":"expEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponential/expEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAQT,MAAM,0BAA0B,CAAC;AAelC,cAAc;AACd,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAwEF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAa7C,CAAC"}
1
+ {"version":3,"file":"expEquation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/exponential/expEquation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAWT,MAAM,0BAA0B,CAAC;AAiBlC,cAAc;AACd,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA2FF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAgB7C,CAAC"}
@@ -14,27 +14,45 @@ 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 equationSolutionParser_1 = require("../../../../tree/parsers/equationSolutionParser");
18
+ const discreteSetParser_1 = require("../../../../tree/parsers/discreteSetParser");
19
+ const getInstruction = (identifiers) => {
20
+ const { a, k } = identifiers;
21
+ const equation = new equalNode_1.EqualNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new expNode_1.ExpNode(new variableNode_1.VariableNode("x"))), new numberNode_1.NumberNode(k));
22
+ return `Résoudre l'équation :
23
+
24
+ $$
25
+ ${equation.toTex()}
26
+ $$`;
27
+ };
28
+ const getAnswer = (identifiers) => {
29
+ const { a, k } = identifiers;
30
+ const answer = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([new logNode_1.LogNode(new rational_1.Rational(k, a).toTree()).simplify()])).toTex();
31
+ return answer;
32
+ };
33
+ const getKeys = (identifiers) => {
34
+ return [
35
+ "x",
36
+ "equal",
37
+ "epower",
38
+ "exp",
39
+ "lnBrackets",
40
+ "S",
41
+ "lbrace",
42
+ "semicolon",
43
+ "rbrace",
44
+ ];
45
+ };
17
46
  const getExpEquation = () => {
18
47
  const a = (0, randint_1.randint)(-9, 20, [0]);
19
48
  const k = a > 0 ? (0, randint_1.randint)(1, 20) : (0, randint_1.randint)(-20, 0);
20
- const equation = new equalNode_1.EqualNode(new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(a), new expNode_1.ExpNode(new variableNode_1.VariableNode("x"))), new numberNode_1.NumberNode(k));
21
- const answer = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([new logNode_1.LogNode(new rational_1.Rational(k, a).simplify().toTree())])).toTex();
49
+ const identifiers = { a, k };
22
50
  const question = {
23
- instruction: `Résoudre l'équation $${equation.toTex()}$.`,
24
- answer: answer,
25
- keys: [
26
- "x",
27
- "equal",
28
- "epower",
29
- "exp",
30
- "lnBrackets",
31
- "S",
32
- "lbrace",
33
- "semicolon",
34
- "rbrace",
35
- ],
51
+ instruction: getInstruction(identifiers),
52
+ answer: getAnswer(identifiers),
53
+ keys: getKeys(identifiers),
36
54
  answerFormat: "tex",
37
- identifiers: { a, k },
55
+ identifiers,
38
56
  };
39
57
  return question;
40
58
  };
@@ -50,14 +68,24 @@ const getPropositions = (n, { answer }) => {
50
68
  }
51
69
  return (0, shuffle_1.shuffle)(propositions);
52
70
  };
53
- const isAnswerValid = (ans, { a, k }) => {
54
- const answer = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([
55
- new logNode_1.LogNode(new rational_1.Rational(k, a)
56
- .simplify()
57
- .toTree({ allowFractionToDecimal: true })),
58
- ], { allowRawRightChildAsSolution: true }));
59
- const texs = answer.toAllValidTexs();
60
- return texs.includes(ans);
71
+ const isAnswerValid = (ans, { answer, a, k }) => {
72
+ try {
73
+ const eqParsed = (0, equationSolutionParser_1.equationSolutionParser)(ans);
74
+ if (eqParsed) {
75
+ const set = new equationSolutionNode_1.EquationSolutionNode(new discreteSetNode_1.DiscreteSetNode([eqParsed]));
76
+ return set.simplify().toTex() === answer;
77
+ }
78
+ else {
79
+ const setParsed = (0, discreteSetParser_1.discreteSetParser)(ans);
80
+ if (!setParsed) {
81
+ return false;
82
+ }
83
+ return "S=" + setParsed.simplify().toTex() === answer;
84
+ }
85
+ }
86
+ catch (err) {
87
+ return false;
88
+ }
61
89
  };
62
90
  exports.expEquation = {
63
91
  id: "expEquation",
@@ -72,4 +100,7 @@ exports.expEquation = {
72
100
  getPropositions,
73
101
  isAnswerValid,
74
102
  subject: "Mathématiques",
103
+ getKeys,
104
+ getInstruction,
105
+ getAnswer,
75
106
  };
@@ -10,4 +10,5 @@ export * from "./parity";
10
10
  export * from "./square";
11
11
  export * from "./integral";
12
12
  export * from "./exponentials";
13
+ export * from "./sign";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exercises/math/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
@@ -26,3 +26,4 @@ __exportStar(require("./parity"), exports);
26
26
  __exportStar(require("./square"), exports);
27
27
  __exportStar(require("./integral"), exports);
28
28
  __exportStar(require("./exponentials"), exports);
29
+ __exportStar(require("./sign"), exports);
@@ -1 +1 @@
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"}
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;AAkBlC,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;AAgGF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAgB3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAmB7D,CAAC"}