math-exercises 1.3.32 → 1.3.34

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 (351) hide show
  1. package/README.md +73 -73
  2. package/lib/exercises/calcul/addAndSub.d.ts +6 -6
  3. package/lib/exercises/calcul/addAndSub.js +41 -41
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +51 -51
  6. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  7. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +37 -37
  8. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +34 -34
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +34 -34
  12. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +69 -69
  14. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionsDivision.js +31 -31
  16. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionsProduct.js +30 -30
  18. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsSum.js +30 -30
  20. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/simplifyFraction.js +26 -26
  22. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  23. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +46 -46
  24. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  25. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +64 -64
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +51 -51
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +67 -67
  30. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  31. package/lib/exercises/calcul/operations/operationsPriorities.js +100 -100
  32. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  33. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +181 -181
  34. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  35. package/lib/exercises/calcul/rounding/rounding.js +87 -87
  36. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  37. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  38. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  39. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +32 -32
  40. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  41. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +33 -33
  42. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  43. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +34 -34
  44. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  45. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +34 -34
  46. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  47. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +33 -33
  48. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  49. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +47 -47
  50. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  51. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +39 -39
  52. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  53. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +42 -42
  54. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  55. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +43 -43
  56. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  57. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +45 -45
  58. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  59. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +30 -30
  60. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  61. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  62. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  63. package/lib/exercises/calculLitteral/equation/fractionEquation.js +39 -39
  64. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  65. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +39 -39
  66. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  67. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +34 -34
  68. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  69. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +35 -35
  70. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  71. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +34 -34
  72. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  73. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +40 -40
  74. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  75. package/lib/exercises/conversion/aeraConversion.js +32 -32
  76. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  77. package/lib/exercises/conversion/capacityConversion.js +30 -30
  78. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  79. package/lib/exercises/conversion/lengthConversion.js +30 -30
  80. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  81. package/lib/exercises/conversion/massConversion.js +30 -30
  82. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  83. package/lib/exercises/conversion/volumeCapacityConversion.js +47 -47
  84. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  85. package/lib/exercises/conversion/volumeConversion.js +32 -32
  86. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  87. package/lib/exercises/derivation/derivative/constanteDerivative.js +27 -27
  88. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  89. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +29 -29
  90. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  91. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +27 -27
  92. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  93. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +35 -35
  94. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  95. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +40 -40
  96. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  97. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +30 -30
  98. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  99. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +33 -33
  100. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  101. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  102. package/lib/exercises/exercise.d.ts +21 -21
  103. package/lib/exercises/exercise.js +7 -7
  104. package/lib/exercises/exercises.d.ts +1 -1
  105. package/lib/exercises/exercises.js +224 -224
  106. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +3 -3
  107. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -51
  108. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -91
  109. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  110. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +60 -60
  111. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  112. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +30 -30
  113. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  114. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +29 -29
  115. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  116. package/lib/exercises/geometry/cartesian/midpoint.js +31 -31
  117. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +3 -3
  118. package/lib/exercises/geometry/euclidean/TriangleArea.js +53 -53
  119. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  120. package/lib/exercises/geometry/euclidean/pythagore.js +31 -31
  121. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  122. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +60 -60
  123. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  124. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +39 -39
  125. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  126. package/lib/exercises/geometry/euclidean/thales.js +67 -67
  127. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  128. package/lib/exercises/geometry/euclidean/thalesCalcul.js +104 -104
  129. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  130. package/lib/exercises/geometry/euclidean/trigonometry.js +55 -55
  131. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  132. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +42 -42
  133. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  134. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +52 -52
  135. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  136. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +30 -30
  137. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  138. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  139. package/lib/exercises/percent/applyPercent.js +41 -41
  140. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  141. package/lib/exercises/percent/averageEvolutionRate.js +30 -30
  142. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  143. package/lib/exercises/percent/globalPercent.js +44 -44
  144. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  145. package/lib/exercises/percent/reciprocalPercentage.js +32 -32
  146. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  147. package/lib/exercises/powers/powersDivision.js +46 -46
  148. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  149. package/lib/exercises/powers/powersOfTenToDecimal.js +34 -34
  150. package/lib/exercises/powers/powersPower.d.ts +7 -7
  151. package/lib/exercises/powers/powersPower.js +45 -45
  152. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  153. package/lib/exercises/powers/powersProduct.js +46 -46
  154. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  155. package/lib/exercises/powers/scientificToDecimal.js +39 -39
  156. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  157. package/lib/exercises/proba/conditionalProbability.js +74 -74
  158. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  159. package/lib/exercises/proba/marginalAndConditionalFrequency.js +81 -81
  160. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  161. package/lib/exercises/proba/probabilityTree.js +105 -105
  162. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  163. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +31 -31
  164. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  165. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +31 -31
  166. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  167. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +31 -31
  168. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  169. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +30 -30
  170. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  171. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +30 -30
  172. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  173. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +40 -40
  174. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  175. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +36 -36
  176. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  177. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +35 -35
  178. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  179. package/lib/exercises/sequences/geometric/geometricFindReason.js +31 -31
  180. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  181. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +30 -30
  182. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  183. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +30 -30
  184. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  185. package/lib/exercises/squareRoots/simpifySquareRoot.js +29 -29
  186. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  187. package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
  188. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  189. package/lib/exercises/trigonometry/remarkableValues.js +30 -30
  190. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  191. package/lib/exercises/utils/getDistinctQuestions.js +28 -28
  192. package/lib/index.d.ts +2 -2
  193. package/lib/index.js +6 -6
  194. package/lib/math/geometry/droite.d.ts +19 -19
  195. package/lib/math/geometry/droite.js +62 -62
  196. package/lib/math/geometry/point.d.ts +29 -29
  197. package/lib/math/geometry/point.js +55 -55
  198. package/lib/math/geometry/triangles.d.ts +53 -53
  199. package/lib/math/geometry/triangles.js +183 -183
  200. package/lib/math/geometry/vector.d.ts +15 -15
  201. package/lib/math/geometry/vector.js +31 -31
  202. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  203. package/lib/math/numbers/decimals/decimal.js +140 -140
  204. package/lib/math/numbers/epsilon.d.ts +1 -1
  205. package/lib/math/numbers/epsilon.js +10 -10
  206. package/lib/math/numbers/integer/integer.d.ts +14 -14
  207. package/lib/math/numbers/integer/integer.js +68 -68
  208. package/lib/math/numbers/integer/power.d.ts +13 -13
  209. package/lib/math/numbers/integer/power.js +52 -52
  210. package/lib/math/numbers/nombre.d.ts +13 -13
  211. package/lib/math/numbers/nombre.js +10 -10
  212. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  213. package/lib/math/numbers/rationals/rational.js +113 -113
  214. package/lib/math/numbers/reals/real.d.ts +9 -9
  215. package/lib/math/numbers/reals/real.js +16 -16
  216. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  217. package/lib/math/numbers/reals/squareRoot.js +63 -63
  218. package/lib/math/polynomials/affine.d.ts +15 -15
  219. package/lib/math/polynomials/affine.js +42 -42
  220. package/lib/math/polynomials/polynomial.d.ts +25 -25
  221. package/lib/math/polynomials/polynomial.js +131 -131
  222. package/lib/math/sequences/arithmeticSequence.js +1 -1
  223. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  224. package/lib/math/sequences/geometricSequence.js +8 -8
  225. package/lib/math/sequences/sequence.d.ts +22 -22
  226. package/lib/math/sequences/sequence.js +21 -21
  227. package/lib/math/sets/discreteSet.d.ts +10 -10
  228. package/lib/math/sets/discreteSet.js +28 -28
  229. package/lib/math/sets/emptySet.js +6 -6
  230. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  231. package/lib/math/sets/intervals/intervals.js +104 -104
  232. package/lib/math/sets/mathSet.d.ts +7 -7
  233. package/lib/math/sets/mathSet.js +10 -10
  234. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  235. package/lib/math/sets/mathSetInterface.js +2 -2
  236. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  237. package/lib/math/trigonometry/remarkableValue.js +29 -29
  238. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  239. package/lib/math/trigonometry/remarkableValues.js +51 -51
  240. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  241. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  242. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  243. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  244. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  245. package/lib/math/utils/arithmetic/gcd.js +7 -7
  246. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  247. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  248. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  249. package/lib/math/utils/arithmetic/lcd.js +12 -12
  250. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  251. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  252. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  253. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  254. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  255. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  256. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  257. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  258. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  259. package/lib/math/utils/random/randTupleInt.js +30 -30
  260. package/lib/math/utils/random/randint.d.ts +4 -4
  261. package/lib/math/utils/random/randint.js +18 -18
  262. package/lib/math/utils/round.d.ts +1 -1
  263. package/lib/math/utils/round.js +8 -8
  264. package/lib/server.d.ts +1 -1
  265. package/lib/server.js +53 -53
  266. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  267. package/lib/tree/nodes/functions/cosNode.js +21 -21
  268. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  269. package/lib/tree/nodes/functions/functionNode.js +20 -20
  270. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  271. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  272. package/lib/tree/nodes/functions/sinNode.js +1 -1
  273. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  274. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  275. package/lib/tree/nodes/node.d.ts +12 -12
  276. package/lib/tree/nodes/node.js +11 -11
  277. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  278. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  279. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  280. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  281. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  282. package/lib/tree/nodes/numbers/piNode.js +5 -5
  283. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  284. package/lib/tree/nodes/operators/addNode.js +19 -19
  285. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  286. package/lib/tree/nodes/operators/divideNode.js +34 -34
  287. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  288. package/lib/tree/nodes/operators/equalNode.js +16 -16
  289. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  290. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  291. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  292. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  293. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  294. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  295. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  296. package/lib/tree/nodes/operators/powerNode.js +33 -33
  297. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  298. package/lib/tree/nodes/operators/substractNode.js +24 -24
  299. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  300. package/lib/tree/nodes/variables/variableNode.js +19 -19
  301. package/lib/tree/parsers/derivateParser.js +62 -62
  302. package/lib/tree/parsers/simplify.d.ts +2 -2
  303. package/lib/tree/parsers/simplify.js +52 -52
  304. package/lib/utils/arrayEqual.d.ts +1 -1
  305. package/lib/utils/arrayEqual.js +13 -13
  306. package/lib/utils/coinFlip.d.ts +1 -1
  307. package/lib/utils/coinFlip.js +7 -7
  308. package/lib/utils/random.d.ts +1 -1
  309. package/lib/utils/random.js +7 -7
  310. package/lib/utils/shuffle.d.ts +1 -1
  311. package/lib/utils/shuffle.js +15 -15
  312. package/package.json +50 -50
  313. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  314. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  315. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  316. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  317. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  318. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  319. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  320. package/lib/geometry/point.js +0 -27
  321. package/lib/geometry/vector.js +0 -31
  322. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  323. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  324. package/lib/mathutils/arithmetic/gcd.js +0 -7
  325. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  326. package/lib/mathutils/arithmetic/lcd.js +0 -12
  327. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  328. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  329. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  330. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  331. package/lib/mathutils/random/randTupleInt.js +0 -30
  332. package/lib/mathutils/random/randint.js +0 -18
  333. package/lib/mathutils/round.js +0 -8
  334. package/lib/numbers/decimals/decimal.js +0 -140
  335. package/lib/numbers/epsilon.js +0 -10
  336. package/lib/numbers/integer/integer.js +0 -68
  337. package/lib/numbers/integer/power.js +0 -52
  338. package/lib/numbers/nombre.js +0 -10
  339. package/lib/numbers/rationals/rational.js +0 -113
  340. package/lib/numbers/reals/real.js +0 -16
  341. package/lib/numbers/reals/squareRoot.js +0 -63
  342. package/lib/polynomials/affine.js +0 -42
  343. package/lib/polynomials/polynomial.js +0 -125
  344. package/lib/sets/discreteSet.js +0 -28
  345. package/lib/sets/emptySet.js +0 -6
  346. package/lib/sets/intervals/intervals.js +0 -108
  347. package/lib/sets/intervals/union.js +0 -1
  348. package/lib/sets/mathSet.js +0 -10
  349. package/lib/sets/mathSetInterface.js +0 -2
  350. package/lib/tree/parsers/latexParser.js +0 -110
  351. package/lib/utils/coin.js +0 -7
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
- const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
- const coinFlip_1 = require("../../utils/coinFlip");
6
- const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
- exports.remarkableValuesExercise = {
8
- id: 'remarkableValues',
9
- connector: '=',
10
- instruction: 'Donner la valeur exacte :',
11
- label: 'Valeurs remarquables de cos et sin',
12
- levels: ['1', '0'],
13
- isSingleStep: false,
14
- section: 'Trigonométrie',
15
- generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
- keys: ['pi', 'cos', 'sin'],
17
- };
18
- function getRemarkableValues() {
19
- const isCos = (0, coinFlip_1.coinFlip)();
20
- const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
21
- const question = {
22
- startStatement: isCos
23
- ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
- : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
- answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
- keys: ['pi', 'cos', 'sin'],
27
- };
28
- return question;
29
- }
30
- exports.getRemarkableValues = getRemarkableValues;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
4
+ const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
5
+ const coinFlip_1 = require("../../utils/coinFlip");
6
+ const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
7
+ exports.remarkableValuesExercise = {
8
+ id: 'remarkableValues',
9
+ connector: '=',
10
+ instruction: 'Donner la valeur exacte :',
11
+ label: 'Valeurs remarquables de cos et sin',
12
+ levels: ['1', '0'],
13
+ isSingleStep: false,
14
+ section: 'Trigonométrie',
15
+ generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
16
+ keys: ['pi', 'cos', 'sin'],
17
+ };
18
+ function getRemarkableValues() {
19
+ const isCos = (0, coinFlip_1.coinFlip)();
20
+ const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
21
+ const question = {
22
+ startStatement: isCos
23
+ ? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
24
+ : `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
25
+ answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
26
+ keys: ['pi', 'cos', 'sin'],
27
+ };
28
+ return question;
29
+ }
30
+ exports.getRemarkableValues = getRemarkableValues;
@@ -1,4 +1,4 @@
1
- import { Question } from '../exercise';
2
- export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
3
- export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
1
+ import { Question } from '../exercise';
2
+ export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
3
+ export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
4
4
  //# sourceMappingURL=getDistinctQuestions.d.ts.map
@@ -1,28 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDistinctQuestions = exports.equalTab = void 0;
4
- function equalTab(array1, array2) {
5
- if (!array1 || !array2)
6
- return false;
7
- if (array1.length !== array2.length)
8
- return false;
9
- for (let i = 0; i < array1.length; i++)
10
- if (array1[i] !== array2[i])
11
- return false;
12
- return true;
13
- }
14
- exports.equalTab = equalTab;
15
- const getDistinctQuestions = (generator, nb) => {
16
- const res = [];
17
- for (let i = 0; i < nb; i++) {
18
- let question;
19
- do {
20
- question = generator();
21
- } while (res.some((q) => q.instruction === question.instruction &&
22
- q.startStatement === question.startStatement &&
23
- equalTab(q.commands, question.commands)));
24
- res.push(question);
25
- }
26
- return res;
27
- };
28
- exports.getDistinctQuestions = getDistinctQuestions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDistinctQuestions = exports.equalTab = void 0;
4
+ function equalTab(array1, array2) {
5
+ if (!array1 || !array2)
6
+ return false;
7
+ if (array1.length !== array2.length)
8
+ return false;
9
+ for (let i = 0; i < array1.length; i++)
10
+ if (array1[i] !== array2[i])
11
+ return false;
12
+ return true;
13
+ }
14
+ exports.equalTab = equalTab;
15
+ const getDistinctQuestions = (generator, nb) => {
16
+ const res = [];
17
+ for (let i = 0; i < nb; i++) {
18
+ let question;
19
+ do {
20
+ question = generator();
21
+ } while (res.some((q) => q.instruction === question.instruction &&
22
+ q.startStatement === question.startStatement &&
23
+ equalTab(q.commands, question.commands)));
24
+ res.push(question);
25
+ }
26
+ return res;
27
+ };
28
+ exports.getDistinctQuestions = getDistinctQuestions;
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const allExercises: import("./exercises/exercise").Exercise[];
2
- export { allExercises };
1
+ declare const allExercises: import("./exercises/exercise").Exercise[];
2
+ export { allExercises };
3
3
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allExercises = void 0;
4
- const exercises_1 = require("./exercises/exercises");
5
- const allExercises = [...exercises_1.exercises];
6
- exports.allExercises = allExercises;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allExercises = void 0;
4
+ const exercises_1 = require("./exercises/exercises");
5
+ const allExercises = [...exercises_1.exercises];
6
+ exports.allExercises = allExercises;
@@ -1,20 +1,20 @@
1
- import { Node } from '../../tree/nodes/node';
2
- import { Point } from './point';
3
- export declare abstract class DroiteConstructor {
4
- static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
5
- static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
6
- static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
7
- }
8
- export declare class Droite {
9
- name: string;
10
- a: Node;
11
- b: Node;
12
- constructor(name: string | undefined, a: Node, b: Node);
13
- toTex(): string;
14
- toEquationForm(): string;
15
- toEquationExpression(): string;
16
- toPolynome(): string;
17
- getLeadingCoefficient(): string;
18
- intersection(D: Droite, name?: string): Point | void;
19
- }
1
+ import { Node } from '../../tree/nodes/node';
2
+ import { Point } from './point';
3
+ export declare abstract class DroiteConstructor {
4
+ static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
5
+ static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
6
+ static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
7
+ }
8
+ export declare class Droite {
9
+ name: string;
10
+ a: Node;
11
+ b: Node;
12
+ constructor(name: string | undefined, a: Node, b: Node);
13
+ toTex(): string;
14
+ toEquationForm(): string;
15
+ toEquationExpression(): string;
16
+ toPolynome(): string;
17
+ getLeadingCoefficient(): string;
18
+ intersection(D: Droite, name?: string): Point | void;
19
+ }
20
20
  //# sourceMappingURL=droite.d.ts.map
@@ -1,62 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Droite = exports.DroiteConstructor = void 0;
4
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
- const addNode_1 = require("../../tree/nodes/operators/addNode");
6
- const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
8
- const substractNode_1 = require("../../tree/nodes/operators/substractNode");
9
- const simplify_1 = require("../../tree/parsers/simplify");
10
- const mathjs_1 = require("mathjs");
11
- const point_1 = require("./point");
12
- const polynomial_1 = require("../polynomials/polynomial");
13
- const round_1 = require("../utils/round");
14
- class DroiteConstructor {
15
- static fromTwoPoints(A, B, name = 'd') {
16
- const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(B.y, A.y), new substractNode_1.SubstractNode(B.x, A.x));
17
- const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(a, A.x));
18
- return new Droite(name, (0, simplify_1.simplifyNode)(a), (0, simplify_1.simplifyNode)(b));
19
- }
20
- static fromPointAndSlope(A, m, name = 'd') {
21
- return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x))));
22
- }
23
- static fromPointAndAngle(A, theta, name = 'd') {
24
- const m = new numberNode_1.NumberNode((0, round_1.round)(Math.tan(parseFloat(theta.toMathString())), 2));
25
- const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x));
26
- return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(b));
27
- }
28
- }
29
- exports.DroiteConstructor = DroiteConstructor;
30
- class Droite {
31
- constructor(name = 'D', a, b) {
32
- // ax + b
33
- this.name = name;
34
- this.a = a;
35
- this.b = b;
36
- }
37
- toTex() {
38
- return `${this.name}`;
39
- }
40
- toEquationForm() {
41
- return `${this.a.toTex()}x + ${this.b.toTex()}`;
42
- }
43
- toEquationExpression() {
44
- return `(${this.name}) : y = ${this.toEquationForm()}`; // (D) : y = ax + b
45
- }
46
- toPolynome() {
47
- const polynome = new polynomial_1.Polynomial([(0, mathjs_1.evaluate)(this.b.toMathString()), (0, mathjs_1.evaluate)(this.a.toMathString())], 'x');
48
- return polynome.toTex();
49
- }
50
- getLeadingCoefficient() {
51
- return `${(0, simplify_1.simplifyNode)(this.a).toTex()}`;
52
- }
53
- // TODO : ajouter des conditions ou cas ou les deux droites sont Parallèles
54
- intersection(D, name = 'P') {
55
- if ((0, mathjs_1.evaluate)(D.a.toMathString()) === (0, mathjs_1.evaluate)(this.a.toMathString()))
56
- return;
57
- const x = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(D.b, this.b), new substractNode_1.SubstractNode(this.a, D.a));
58
- const y = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.a, x), this.b);
59
- return new point_1.Point(name, (0, simplify_1.simplifyNode)(x), (0, simplify_1.simplifyNode)(y));
60
- }
61
- }
62
- exports.Droite = Droite;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Droite = exports.DroiteConstructor = void 0;
4
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
6
+ const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
8
+ const substractNode_1 = require("../../tree/nodes/operators/substractNode");
9
+ const simplify_1 = require("../../tree/parsers/simplify");
10
+ const mathjs_1 = require("mathjs");
11
+ const point_1 = require("./point");
12
+ const polynomial_1 = require("../polynomials/polynomial");
13
+ const round_1 = require("../utils/round");
14
+ class DroiteConstructor {
15
+ static fromTwoPoints(A, B, name = 'd') {
16
+ const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(B.y, A.y), new substractNode_1.SubstractNode(B.x, A.x));
17
+ const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(a, A.x));
18
+ return new Droite(name, (0, simplify_1.simplifyNode)(a), (0, simplify_1.simplifyNode)(b));
19
+ }
20
+ static fromPointAndSlope(A, m, name = 'd') {
21
+ return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x))));
22
+ }
23
+ static fromPointAndAngle(A, theta, name = 'd') {
24
+ const m = new numberNode_1.NumberNode((0, round_1.round)(Math.tan(parseFloat(theta.toMathString())), 2));
25
+ const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x));
26
+ return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(b));
27
+ }
28
+ }
29
+ exports.DroiteConstructor = DroiteConstructor;
30
+ class Droite {
31
+ constructor(name = 'D', a, b) {
32
+ // ax + b
33
+ this.name = name;
34
+ this.a = a;
35
+ this.b = b;
36
+ }
37
+ toTex() {
38
+ return `${this.name}`;
39
+ }
40
+ toEquationForm() {
41
+ return `${this.a.toTex()}x + ${this.b.toTex()}`;
42
+ }
43
+ toEquationExpression() {
44
+ return `(${this.name}) : y = ${this.toEquationForm()}`; // (D) : y = ax + b
45
+ }
46
+ toPolynome() {
47
+ const polynome = new polynomial_1.Polynomial([(0, mathjs_1.evaluate)(this.b.toMathString()), (0, mathjs_1.evaluate)(this.a.toMathString())], 'x');
48
+ return polynome.toTex();
49
+ }
50
+ getLeadingCoefficient() {
51
+ return `${(0, simplify_1.simplifyNode)(this.a).toTex()}`;
52
+ }
53
+ // TODO : ajouter des conditions ou cas ou les deux droites sont Parallèles
54
+ intersection(D, name = 'P') {
55
+ if ((0, mathjs_1.evaluate)(D.a.toMathString()) === (0, mathjs_1.evaluate)(this.a.toMathString()))
56
+ return;
57
+ const x = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(D.b, this.b), new substractNode_1.SubstractNode(this.a, D.a));
58
+ const y = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.a, x), this.b);
59
+ return new point_1.Point(name, (0, simplify_1.simplifyNode)(x), (0, simplify_1.simplifyNode)(y));
60
+ }
61
+ }
62
+ exports.Droite = Droite;
@@ -1,30 +1,30 @@
1
- import { Node } from '../../tree/nodes/node';
2
- export declare abstract class PointConstructor {
3
- }
4
- export declare class Point {
5
- name: string;
6
- x: Node;
7
- y: Node;
8
- constructor(name: string, x: Node, y: Node);
9
- toTex(): string;
10
- toTexWithCoords(): string;
11
- getXnumber(): number;
12
- getYnumber(): number;
13
- midpoint(B: Point, name?: string): Point;
14
- distanceTo(B: Point): number;
15
- equalTo(B: Point): boolean;
16
- }
17
- /**
18
- * Droite{
19
- * constructor :
20
- * depuis 2 points : A,B --> Droite
21
- * depuis 1 point + coeff dir --> Droite
22
- * avec une équation de droite --> Droite
23
- *
24
- * méthodes :
25
- * toEquation() --> y = 3x+2
26
- * toCoeffDIr --> a
27
-
28
- * }
29
- */
1
+ import { Node } from '../../tree/nodes/node';
2
+ export declare abstract class PointConstructor {
3
+ }
4
+ export declare class Point {
5
+ name: string;
6
+ x: Node;
7
+ y: Node;
8
+ constructor(name: string, x: Node, y: Node);
9
+ toTex(): string;
10
+ toTexWithCoords(): string;
11
+ getXnumber(): number;
12
+ getYnumber(): number;
13
+ midpoint(B: Point, name?: string): Point;
14
+ distanceTo(B: Point): number;
15
+ equalTo(B: Point): boolean;
16
+ }
17
+ /**
18
+ * Droite{
19
+ * constructor :
20
+ * depuis 2 points : A,B --> Droite
21
+ * depuis 1 point + coeff dir --> Droite
22
+ * avec une équation de droite --> Droite
23
+ *
24
+ * méthodes :
25
+ * toEquation() --> y = 3x+2
26
+ * toCoeffDIr --> a
27
+
28
+ * }
29
+ */
30
30
  //# sourceMappingURL=point.d.ts.map
@@ -1,55 +1,55 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Point = exports.PointConstructor = void 0;
4
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
- const addNode_1 = require("../../tree/nodes/operators/addNode");
6
- const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
- const simplify_1 = require("../../tree/parsers/simplify");
8
- const mathjs_1 = require("mathjs");
9
- class PointConstructor {
10
- }
11
- exports.PointConstructor = PointConstructor;
12
- class Point {
13
- constructor(name, x, y) {
14
- this.name = name;
15
- this.x = x;
16
- this.y = y;
17
- }
18
- toTex() {
19
- return `${this.name}`;
20
- }
21
- toTexWithCoords() {
22
- return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
23
- }
24
- getXnumber() {
25
- return (0, mathjs_1.evaluate)(this.x.toMathString());
26
- }
27
- getYnumber() {
28
- return (0, mathjs_1.evaluate)(this.y.toMathString());
29
- }
30
- midpoint(B, name = 'I') {
31
- return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
32
- }
33
- distanceTo(B) {
34
- const dx = this.getXnumber() - B.getXnumber();
35
- const dy = this.getYnumber() - B.getYnumber();
36
- return Math.sqrt(dx ** 2 + dy ** 2);
37
- }
38
- equalTo(B) {
39
- return this.getXnumber() === B.getXnumber() && this.getYnumber() === B.getYnumber();
40
- }
41
- }
42
- exports.Point = Point;
43
- /**
44
- * Droite{
45
- * constructor :
46
- * depuis 2 points : A,B --> Droite
47
- * depuis 1 point + coeff dir --> Droite
48
- * avec une équation de droite --> Droite
49
- *
50
- * méthodes :
51
- * toEquation() --> y = 3x+2
52
- * toCoeffDIr --> a
53
-
54
- * }
55
- */
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Point = exports.PointConstructor = void 0;
4
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
6
+ const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
7
+ const simplify_1 = require("../../tree/parsers/simplify");
8
+ const mathjs_1 = require("mathjs");
9
+ class PointConstructor {
10
+ }
11
+ exports.PointConstructor = PointConstructor;
12
+ class Point {
13
+ constructor(name, x, y) {
14
+ this.name = name;
15
+ this.x = x;
16
+ this.y = y;
17
+ }
18
+ toTex() {
19
+ return `${this.name}`;
20
+ }
21
+ toTexWithCoords() {
22
+ return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
23
+ }
24
+ getXnumber() {
25
+ return (0, mathjs_1.evaluate)(this.x.toMathString());
26
+ }
27
+ getYnumber() {
28
+ return (0, mathjs_1.evaluate)(this.y.toMathString());
29
+ }
30
+ midpoint(B, name = 'I') {
31
+ return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
32
+ }
33
+ distanceTo(B) {
34
+ const dx = this.getXnumber() - B.getXnumber();
35
+ const dy = this.getYnumber() - B.getYnumber();
36
+ return Math.sqrt(dx ** 2 + dy ** 2);
37
+ }
38
+ equalTo(B) {
39
+ return this.getXnumber() === B.getXnumber() && this.getYnumber() === B.getYnumber();
40
+ }
41
+ }
42
+ exports.Point = Point;
43
+ /**
44
+ * Droite{
45
+ * constructor :
46
+ * depuis 2 points : A,B --> Droite
47
+ * depuis 1 point + coeff dir --> Droite
48
+ * avec une équation de droite --> Droite
49
+ *
50
+ * méthodes :
51
+ * toEquation() --> y = 3x+2
52
+ * toCoeffDIr --> a
53
+
54
+ * }
55
+ */
@@ -1,54 +1,54 @@
1
- import { Point } from './point';
2
- import { Node } from '../../tree/nodes/node';
3
- export declare abstract class TriangleConstructor {
4
- static createRandomRightTriangle({ minRapport, maxRapport, names }: {
5
- minRapport?: number | undefined;
6
- maxRapport?: number | undefined;
7
- names?: string[] | undefined;
8
- }): Triangle;
9
- static createRandomTriangle({ minAngle, maxAngle, names }: {
10
- minAngle?: number | undefined;
11
- maxAngle?: number | undefined;
12
- names?: string[] | undefined;
13
- }): Triangle;
14
- }
15
- type GenerateCommandsProps = {
16
- highlightedAngle?: string;
17
- colorHighlightedAngle?: string;
18
- highlightedSide?: string;
19
- colorHighlightedSide?: string;
20
- showLabels?: string[];
21
- setCaptions?: string[];
22
- showAxes?: boolean;
23
- showGrid?: boolean;
24
- };
25
- export declare class Triangle {
26
- vertexA: Point;
27
- vertexB: Point;
28
- vertexC: Point;
29
- constructor(vertexA: Point, vertexB: Point, vertexC: Point);
30
- getSideAnumber(): number;
31
- getSideBnumber(): number;
32
- getSideCnumber(): number;
33
- getTriangleName(): string;
34
- getSideAnode(): Node;
35
- getSideBnode(): Node;
36
- getSideCnode(): Node;
37
- getAngleA(): number;
38
- getAngleB(): number;
39
- getAngleC(): number;
40
- getPerimeter(): number;
41
- getArea(): number;
42
- isRight(): Boolean;
43
- isEquilateral(): Boolean;
44
- isIsosceles(): Boolean;
45
- isScalene(): boolean;
46
- getRightAngle(): string;
47
- generateCommands({ highlightedAngle: highlightedAngle, colorHighlightedAngle: colorHighlightedAngle, showLabels: showLabels, setCaptions: setCaptions, highlightedSide: highlightedSide, colorHighlightedSide: colorHighlightedSide, showAxes, showGrid, }: GenerateCommandsProps): string[];
48
- generateCoords(): number[];
49
- getSideAName(): string;
50
- getSideBName(): string;
51
- getSideCName(): string;
52
- }
53
- export {};
1
+ import { Point } from './point';
2
+ import { Node } from '../../tree/nodes/node';
3
+ export declare abstract class TriangleConstructor {
4
+ static createRandomRightTriangle({ minRapport, maxRapport, names }: {
5
+ minRapport?: number | undefined;
6
+ maxRapport?: number | undefined;
7
+ names?: string[] | undefined;
8
+ }): Triangle;
9
+ static createRandomTriangle({ minAngle, maxAngle, names }: {
10
+ minAngle?: number | undefined;
11
+ maxAngle?: number | undefined;
12
+ names?: string[] | undefined;
13
+ }): Triangle;
14
+ }
15
+ type GenerateCommandsProps = {
16
+ highlightedAngle?: string;
17
+ colorHighlightedAngle?: string;
18
+ highlightedSide?: string;
19
+ colorHighlightedSide?: string;
20
+ showLabels?: string[];
21
+ setCaptions?: string[];
22
+ showAxes?: boolean;
23
+ showGrid?: boolean;
24
+ };
25
+ export declare class Triangle {
26
+ vertexA: Point;
27
+ vertexB: Point;
28
+ vertexC: Point;
29
+ constructor(vertexA: Point, vertexB: Point, vertexC: Point);
30
+ getSideAnumber(): number;
31
+ getSideBnumber(): number;
32
+ getSideCnumber(): number;
33
+ getTriangleName(): string;
34
+ getSideAnode(): Node;
35
+ getSideBnode(): Node;
36
+ getSideCnode(): Node;
37
+ getAngleA(): number;
38
+ getAngleB(): number;
39
+ getAngleC(): number;
40
+ getPerimeter(): number;
41
+ getArea(): number;
42
+ isRight(): Boolean;
43
+ isEquilateral(): Boolean;
44
+ isIsosceles(): Boolean;
45
+ isScalene(): boolean;
46
+ getRightAngle(): string;
47
+ generateCommands({ highlightedAngle: highlightedAngle, colorHighlightedAngle: colorHighlightedAngle, showLabels: showLabels, setCaptions: setCaptions, highlightedSide: highlightedSide, colorHighlightedSide: colorHighlightedSide, showAxes, showGrid, }: GenerateCommandsProps): string[];
48
+ generateCoords(): number[];
49
+ getSideAName(): string;
50
+ getSideBName(): string;
51
+ getSideCName(): string;
52
+ }
53
+ export {};
54
54
  //# sourceMappingURL=triangles.d.ts.map