math-exercises 1.3.55 → 1.3.57

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 (541) 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 +71 -71
  4. package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
  5. package/lib/exercises/calcul/addAndSubWithoutRelatives.js +80 -80
  6. package/lib/exercises/calcul/arithmetics/euclideanDivision.d.ts +3 -3
  7. package/lib/exercises/calcul/arithmetics/euclideanDivision.js +70 -70
  8. package/lib/exercises/calcul/arithmetics/primeNumbers.d.ts +6 -6
  9. package/lib/exercises/calcul/arithmetics/primeNumbers.js +90 -90
  10. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +69 -69
  12. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +64 -64
  14. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +64 -64
  16. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +119 -119
  18. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  19. package/lib/exercises/calcul/fractions/fractionsDivision.js +61 -61
  20. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  21. package/lib/exercises/calcul/fractions/fractionsProduct.js +60 -60
  22. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  23. package/lib/exercises/calcul/fractions/fractionsSum.js +60 -60
  24. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  25. package/lib/exercises/calcul/fractions/simplifyFraction.js +55 -55
  26. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
  27. package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +79 -79
  28. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
  29. package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +96 -96
  30. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
  31. package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +80 -80
  32. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
  33. package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +135 -135
  34. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  35. package/lib/exercises/calcul/operations/operationsPriorities.js +128 -128
  36. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
  37. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +209 -209
  38. package/lib/exercises/calcul/proportionality/proportionalityTable.d.ts +3 -3
  39. package/lib/exercises/calcul/proportionality/proportionalityTable.js +83 -83
  40. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  41. package/lib/exercises/calcul/rounding/rounding.js +142 -142
  42. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  43. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  44. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  45. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +82 -82
  46. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  47. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +84 -84
  48. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  49. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +85 -85
  50. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  51. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +84 -84
  52. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  53. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +84 -84
  54. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
  55. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +165 -165
  56. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  57. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +71 -71
  58. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  59. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +69 -69
  60. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  61. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +73 -73
  62. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  63. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +75 -75
  64. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts +4 -0
  65. package/lib/exercises/calculLitteral/equation/evaluateExpression.d.ts.map +1 -0
  66. package/lib/exercises/calculLitteral/equation/evaluateExpression.js +61 -0
  67. package/lib/exercises/calculLitteral/equation/expEquation.d.ts +3 -3
  68. package/lib/exercises/calculLitteral/equation/expEquation.js +67 -67
  69. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
  70. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +64 -64
  71. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
  72. package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
  73. package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +3 -3
  74. package/lib/exercises/calculLitteral/equation/fractionEquation.js +74 -74
  75. package/lib/exercises/calculLitteral/equation/logEquation.d.ts +3 -3
  76. package/lib/exercises/calculLitteral/equation/logEquation.js +67 -67
  77. package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +3 -3
  78. package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +77 -77
  79. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
  80. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +70 -70
  81. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
  82. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +78 -78
  83. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
  84. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +84 -84
  85. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  86. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +88 -88
  87. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.d.ts +3 -3
  88. package/lib/exercises/calculLitteral/simplifying/evaluateExpression.js +64 -64
  89. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.d.ts +3 -3
  90. package/lib/exercises/calculLitteral/simplifying/expSimplifiying.js +96 -96
  91. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.d.ts +3 -3
  92. package/lib/exercises/calculLitteral/simplifying/logSimplifiying.js +78 -78
  93. package/lib/exercises/calculLitteral/simplifying/reduceExpression.d.ts +3 -3
  94. package/lib/exercises/calculLitteral/simplifying/reduceExpression.js +121 -121
  95. package/lib/exercises/complex/addComplex.d.ts +3 -3
  96. package/lib/exercises/complex/addComplex.js +70 -70
  97. package/lib/exercises/complex/conjugateComplex.ts.d.ts +3 -3
  98. package/lib/exercises/complex/conjugateComplex.ts.js +73 -73
  99. package/lib/exercises/complex/conjugateDivideComplex.d.ts +3 -3
  100. package/lib/exercises/complex/conjugateDivideComplex.js +65 -65
  101. package/lib/exercises/complex/conjugateMultiplyComplex.d.ts +3 -3
  102. package/lib/exercises/complex/conjugateMultiplyComplex.js +69 -69
  103. package/lib/exercises/complex/divideComplex.d.ts +3 -3
  104. package/lib/exercises/complex/divideComplex.js +61 -61
  105. package/lib/exercises/complex/inverseComplex.d.ts +3 -3
  106. package/lib/exercises/complex/inverseComplex.js +73 -73
  107. package/lib/exercises/complex/linearCombinaisonComplex.d.ts +3 -3
  108. package/lib/exercises/complex/linearCombinaisonComplex.js +67 -67
  109. package/lib/exercises/complex/mutiplyComplex.d.ts +3 -3
  110. package/lib/exercises/complex/mutiplyComplex.js +67 -67
  111. package/lib/exercises/complex/reAndIm.d.ts +3 -3
  112. package/lib/exercises/complex/reAndIm.js +79 -79
  113. package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
  114. package/lib/exercises/conversion/aeraConversion.js +62 -62
  115. package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
  116. package/lib/exercises/conversion/capacityConversion.js +60 -60
  117. package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
  118. package/lib/exercises/conversion/lengthConversion.js +59 -59
  119. package/lib/exercises/conversion/massConversion.d.ts +3 -3
  120. package/lib/exercises/conversion/massConversion.js +59 -59
  121. package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
  122. package/lib/exercises/conversion/volumeCapacityConversion.js +76 -76
  123. package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
  124. package/lib/exercises/conversion/volumeConversion.js +61 -61
  125. package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
  126. package/lib/exercises/derivation/derivative/constanteDerivative.js +56 -56
  127. package/lib/exercises/derivation/derivative/expDerivativeOne.d.ts +3 -3
  128. package/lib/exercises/derivation/derivative/expDerivativeOne.js +65 -65
  129. package/lib/exercises/derivation/derivative/expDerivativeThree.d.ts +3 -3
  130. package/lib/exercises/derivation/derivative/expDerivativeThree.js +64 -64
  131. package/lib/exercises/derivation/derivative/expDerivativeTwo.d.ts +3 -3
  132. package/lib/exercises/derivation/derivative/expDerivativeTwo.js +65 -65
  133. package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
  134. package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +58 -58
  135. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
  136. package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +56 -56
  137. package/lib/exercises/derivation/derivative/lnDerivativeOne.d.ts +3 -3
  138. package/lib/exercises/derivation/derivative/lnDerivativeOne.js +63 -63
  139. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts +3 -3
  140. package/lib/exercises/derivation/derivative/lnDerivativeThree.js +68 -68
  141. package/lib/exercises/derivation/derivative/lnDerivativeTwo.d.ts +3 -3
  142. package/lib/exercises/derivation/derivative/lnDerivativeTwo.js +66 -66
  143. package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
  144. package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +64 -64
  145. package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
  146. package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +80 -80
  147. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
  148. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +64 -64
  149. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
  150. package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +66 -66
  151. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.d.ts +3 -3
  152. package/lib/exercises/derivation/derivative/thirdDegreeFunctionVariation.js +101 -101
  153. package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
  154. package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
  155. package/lib/exercises/derivation/derivativeNumberReading.d.ts +3 -3
  156. package/lib/exercises/derivation/derivativeNumberReading.js +84 -84
  157. package/lib/exercises/equaDiff/equaDiffGeneralForme.d.ts +3 -3
  158. package/lib/exercises/equaDiff/equaDiffGeneralForme.js +66 -66
  159. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.d.ts +3 -3
  160. package/lib/exercises/equaDiff/equaDiffGeneralFormeWithIC.js +80 -80
  161. package/lib/exercises/exercise.d.ts +33 -32
  162. package/lib/exercises/exercise.d.ts.map +1 -1
  163. package/lib/exercises/exercise.js +2 -2
  164. package/lib/exercises/exercises.d.ts +1 -1
  165. package/lib/exercises/exercises.d.ts.map +1 -1
  166. package/lib/exercises/exercises.js +351 -347
  167. package/lib/exercises/functions/affines/leadingCoefficient.d.ts +3 -3
  168. package/lib/exercises/functions/affines/leadingCoefficient.js +93 -93
  169. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.d.ts +3 -3
  170. package/lib/exercises/functions/affines/leadingCoefficientCalculV1.js +59 -59
  171. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.d.ts +3 -3
  172. package/lib/exercises/functions/affines/leadingCoefficientCalculV2.js +58 -58
  173. package/lib/exercises/functions/affines/signFunction.d.ts +3 -3
  174. package/lib/exercises/functions/affines/signFunction.js +84 -84
  175. package/lib/exercises/functions/affines/template.d.ts +4 -0
  176. package/lib/exercises/functions/affines/template.d.ts.map +1 -0
  177. package/lib/exercises/functions/affines/template.js +51 -0
  178. package/lib/exercises/functions/basics/imageFunction.d.ts +3 -3
  179. package/lib/exercises/functions/basics/imageFunction.js +65 -65
  180. package/lib/exercises/functions/basics/imageFunctionGeogebra.d.ts +3 -3
  181. package/lib/exercises/functions/basics/imageFunctionGeogebra.js +89 -89
  182. package/lib/exercises/functions/basics/inverseImageFunction.d.ts +3 -3
  183. package/lib/exercises/functions/basics/inverseImageFunction.js +62 -62
  184. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.d.ts +3 -3
  185. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +154 -154
  186. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts +3 -3
  187. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.js +63 -63
  188. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts +3 -3
  189. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.js +91 -91
  190. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts +3 -3
  191. package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +58 -58
  192. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts +3 -3
  193. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.js +84 -84
  194. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts +3 -3
  195. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.js +59 -59
  196. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts +3 -3
  197. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.js +59 -59
  198. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.d.ts +3 -3
  199. package/lib/exercises/geometry/cartesian/distanceBetweenTwoPoints.js +107 -107
  200. package/lib/exercises/geometry/cartesian/imageFunction.d.ts +3 -3
  201. package/lib/exercises/geometry/cartesian/imageFunction.d.ts.map +1 -1
  202. package/lib/exercises/geometry/cartesian/imageFunction.js +65 -62
  203. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts +4 -0
  204. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.d.ts.map +1 -0
  205. package/lib/exercises/geometry/cartesian/imageFunctionGeogebra.js +89 -0
  206. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts +3 -3
  207. package/lib/exercises/geometry/cartesian/inverseImageFunction.d.ts.map +1 -1
  208. package/lib/exercises/geometry/cartesian/inverseImageFunction.js +62 -57
  209. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts +4 -0
  210. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.d.ts.map +1 -0
  211. package/lib/exercises/geometry/cartesian/inverseImageFunctionGeogebra.js +154 -0
  212. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
  213. package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts.map +1 -1
  214. package/lib/exercises/geometry/cartesian/leadingCoefficient.js +93 -90
  215. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +3 -3
  216. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -1
  217. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +59 -56
  218. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +3 -3
  219. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -1
  220. package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +58 -55
  221. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  222. package/lib/exercises/geometry/cartesian/midpoint.js +63 -63
  223. package/lib/exercises/geometry/cartesian/signFunction.d.ts +4 -0
  224. package/lib/exercises/geometry/cartesian/signFunction.d.ts.map +1 -0
  225. package/lib/exercises/geometry/cartesian/signFunction.js +84 -0
  226. package/lib/exercises/geometry/euclidean/circleArea.d.ts +3 -3
  227. package/lib/exercises/geometry/euclidean/circleArea.js +58 -58
  228. package/lib/exercises/geometry/euclidean/circleCircumference.d.ts +3 -3
  229. package/lib/exercises/geometry/euclidean/circleCircumference.js +58 -58
  230. package/lib/exercises/geometry/euclidean/pythagore.d.ts +3 -3
  231. package/lib/exercises/geometry/euclidean/pythagore.js +86 -86
  232. package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +3 -3
  233. package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +91 -91
  234. package/lib/exercises/geometry/euclidean/rectangleArea.d.ts +3 -3
  235. package/lib/exercises/geometry/euclidean/rectangleArea.js +53 -53
  236. package/lib/exercises/geometry/euclidean/rectanglePerimeter.d.ts +3 -3
  237. package/lib/exercises/geometry/euclidean/rectanglePerimeter.js +53 -53
  238. package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +3 -3
  239. package/lib/exercises/geometry/euclidean/rightTriangleArea.js +67 -67
  240. package/lib/exercises/geometry/euclidean/squareArea.d.ts +3 -3
  241. package/lib/exercises/geometry/euclidean/squareArea.js +52 -52
  242. package/lib/exercises/geometry/euclidean/squarePerimeter.d.ts +3 -3
  243. package/lib/exercises/geometry/euclidean/squarePerimeter.js +52 -52
  244. package/lib/exercises/geometry/euclidean/thales.d.ts +3 -3
  245. package/lib/exercises/geometry/euclidean/thales.js +113 -113
  246. package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +3 -3
  247. package/lib/exercises/geometry/euclidean/thalesCalcul.js +132 -132
  248. package/lib/exercises/geometry/euclidean/triangleArea.d.ts +3 -3
  249. package/lib/exercises/geometry/euclidean/triangleArea.js +80 -80
  250. package/lib/exercises/geometry/euclidean/triangleAreaV2.d.ts +3 -3
  251. package/lib/exercises/geometry/euclidean/triangleAreaV2.js +77 -77
  252. package/lib/exercises/geometry/euclidean/trianglePerimeter.d.ts +3 -3
  253. package/lib/exercises/geometry/euclidean/trianglePerimeter.js +53 -53
  254. package/lib/exercises/geometry/euclidean/trigonometry.d.ts +3 -3
  255. package/lib/exercises/geometry/euclidean/trigonometry.js +97 -97
  256. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +3 -3
  257. package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +69 -69
  258. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +3 -3
  259. package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +80 -80
  260. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  261. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +60 -60
  262. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  263. package/lib/exercises/limits/polynomeLimit.d.ts +3 -3
  264. package/lib/exercises/limits/polynomeLimit.js +132 -132
  265. package/lib/exercises/percent/applyPercent.d.ts +3 -3
  266. package/lib/exercises/percent/applyPercent.js +74 -74
  267. package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
  268. package/lib/exercises/percent/averageEvolutionRate.js +63 -63
  269. package/lib/exercises/percent/globalPercent.d.ts +3 -3
  270. package/lib/exercises/percent/globalPercent.js +77 -77
  271. package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
  272. package/lib/exercises/percent/reciprocalPercentage.js +65 -65
  273. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  274. package/lib/exercises/powers/powersDivision.js +77 -77
  275. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  276. package/lib/exercises/powers/powersOfTenToDecimal.d.ts.map +1 -1
  277. package/lib/exercises/powers/powersOfTenToDecimal.js +78 -65
  278. package/lib/exercises/powers/powersPower.d.ts +7 -7
  279. package/lib/exercises/powers/powersPower.js +76 -76
  280. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  281. package/lib/exercises/powers/powersProduct.js +77 -77
  282. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  283. package/lib/exercises/powers/scientificToDecimal.d.ts.map +1 -1
  284. package/lib/exercises/powers/scientificToDecimal.js +82 -69
  285. package/lib/exercises/primitve/constantPrimitive.d.ts +3 -3
  286. package/lib/exercises/primitve/constantPrimitive.js +56 -56
  287. package/lib/exercises/primitve/exponentialPrimitive.d.ts +3 -3
  288. package/lib/exercises/primitve/exponentialPrimitive.js +103 -103
  289. package/lib/exercises/primitve/logarithmePrimitive.d.ts +3 -3
  290. package/lib/exercises/primitve/logarithmePrimitive.js +74 -74
  291. package/lib/exercises/primitve/polynomialPrimitive.d.ts +3 -3
  292. package/lib/exercises/primitve/polynomialPrimitive.js +80 -80
  293. package/lib/exercises/primitve/sinCosPrimitive.d.ts +3 -3
  294. package/lib/exercises/primitve/sinCosPrimitive.js +112 -112
  295. package/lib/exercises/primitve/usualPrimitives.d.ts +3 -3
  296. package/lib/exercises/primitve/usualPrimitives.js +39 -39
  297. package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
  298. package/lib/exercises/proba/conditionalProbability.js +99 -99
  299. package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
  300. package/lib/exercises/proba/marginalAndConditionalFrequency.js +106 -106
  301. package/lib/exercises/proba/probabilityTree.d.ts +3 -3
  302. package/lib/exercises/proba/probabilityTree.js +132 -132
  303. package/lib/exercises/probaStat/averageWithTable.d.ts +3 -3
  304. package/lib/exercises/probaStat/averageWithTable.js +76 -76
  305. package/lib/exercises/probaStat/conditionalProbability.d.ts +3 -3
  306. package/lib/exercises/probaStat/conditionalProbability.js +102 -102
  307. package/lib/exercises/probaStat/frequencyTable.d.ts +4 -0
  308. package/lib/exercises/probaStat/frequencyTable.d.ts.map +1 -0
  309. package/lib/exercises/probaStat/frequencyTable.js +76 -0
  310. package/lib/exercises/probaStat/marginalAndConditionalFrequency.d.ts +3 -3
  311. package/lib/exercises/probaStat/marginalAndConditionalFrequency.js +109 -109
  312. package/lib/exercises/probaStat/median.d.ts +3 -3
  313. package/lib/exercises/probaStat/median.js +82 -82
  314. package/lib/exercises/probaStat/medianList.d.ts +3 -3
  315. package/lib/exercises/probaStat/medianList.js +67 -67
  316. package/lib/exercises/probaStat/probabilityTree.d.ts +3 -3
  317. package/lib/exercises/probaStat/probabilityTree.js +135 -135
  318. package/lib/exercises/probaStat/quartiles.d.ts +3 -3
  319. package/lib/exercises/probaStat/quartiles.js +96 -96
  320. package/lib/exercises/probaStat/quartilesList.d.ts +3 -3
  321. package/lib/exercises/probaStat/quartilesList.js +81 -81
  322. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
  323. package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +59 -59
  324. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
  325. package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +59 -59
  326. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
  327. package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +59 -59
  328. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
  329. package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +58 -58
  330. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
  331. package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +58 -58
  332. package/lib/exercises/sequences/arithmetic/arithmeticSum.js +1 -1
  333. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
  334. package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +68 -68
  335. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts +4 -0
  336. package/lib/exercises/sequences/arithmetic/firstIntegersSum.d.ts.map +1 -0
  337. package/lib/exercises/sequences/arithmetic/firstIntegersSum.js +67 -0
  338. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  339. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +64 -64
  340. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  341. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +70 -70
  342. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  343. package/lib/exercises/sequences/geometric/geometricFindReason.js +66 -66
  344. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts +4 -0
  345. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.d.ts.map +1 -0
  346. package/lib/exercises/sequences/geometric/geometricFirstTermsSum.js +69 -0
  347. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  348. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +65 -65
  349. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  350. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +65 -65
  351. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  352. package/lib/exercises/squareRoots/simpifySquareRoot.js +61 -61
  353. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  354. package/lib/exercises/trigonometry/mainRemarkableValues.js +67 -67
  355. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  356. package/lib/exercises/trigonometry/remarkableValues.js +67 -67
  357. package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
  358. package/lib/exercises/utils/getDistinctQuestions.js +30 -30
  359. package/lib/index.d.ts +7 -7
  360. package/lib/index.js +26 -26
  361. package/lib/math/complex/complex.d.ts +18 -18
  362. package/lib/math/complex/complex.js +63 -63
  363. package/lib/math/geometry/droite.d.ts +19 -19
  364. package/lib/math/geometry/droite.js +62 -62
  365. package/lib/math/geometry/point.d.ts +30 -30
  366. package/lib/math/geometry/point.js +64 -64
  367. package/lib/math/geometry/triangles.d.ts +53 -53
  368. package/lib/math/geometry/triangles.js +183 -183
  369. package/lib/math/geometry/vector.d.ts +15 -15
  370. package/lib/math/geometry/vector.js +31 -31
  371. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  372. package/lib/math/numbers/decimals/decimal.js +140 -140
  373. package/lib/math/numbers/epsilon.d.ts +1 -1
  374. package/lib/math/numbers/epsilon.js +10 -10
  375. package/lib/math/numbers/integer/integer.d.ts +14 -14
  376. package/lib/math/numbers/integer/integer.js +68 -68
  377. package/lib/math/numbers/integer/power.d.ts +13 -13
  378. package/lib/math/numbers/integer/power.js +52 -52
  379. package/lib/math/numbers/nombre.d.ts +13 -13
  380. package/lib/math/numbers/nombre.js +10 -10
  381. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  382. package/lib/math/numbers/rationals/rational.js +113 -113
  383. package/lib/math/numbers/reals/real.d.ts +9 -9
  384. package/lib/math/numbers/reals/real.js +16 -16
  385. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  386. package/lib/math/numbers/reals/squareRoot.js +63 -63
  387. package/lib/math/polynomials/affine.d.ts +15 -15
  388. package/lib/math/polynomials/affine.js +42 -42
  389. package/lib/math/polynomials/polynomial.d.ts +28 -28
  390. package/lib/math/polynomials/polynomial.js +184 -184
  391. package/lib/math/polynomials/trinom.d.ts +23 -23
  392. package/lib/math/polynomials/trinom.js +67 -67
  393. package/lib/math/sequences/arithmeticSequence.js +1 -1
  394. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  395. package/lib/math/sequences/geometricSequence.js +8 -8
  396. package/lib/math/sequences/sequence.d.ts +22 -22
  397. package/lib/math/sequences/sequence.js +21 -21
  398. package/lib/math/sets/discreteSet.d.ts +10 -10
  399. package/lib/math/sets/discreteSet.js +28 -28
  400. package/lib/math/sets/emptySet.js +6 -6
  401. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  402. package/lib/math/sets/intervals/intervals.js +104 -104
  403. package/lib/math/sets/mathSet.d.ts +7 -7
  404. package/lib/math/sets/mathSet.js +10 -10
  405. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  406. package/lib/math/sets/mathSetInterface.js +2 -2
  407. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  408. package/lib/math/trigonometry/remarkableValue.js +29 -29
  409. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  410. package/lib/math/trigonometry/remarkableValues.js +51 -51
  411. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  412. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  413. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  414. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  415. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  416. package/lib/math/utils/arithmetic/gcd.js +7 -7
  417. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  418. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  419. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  420. package/lib/math/utils/arithmetic/lcd.js +12 -12
  421. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  422. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  423. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  424. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  425. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  426. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  427. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  428. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  429. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  430. package/lib/math/utils/random/randTupleInt.js +30 -30
  431. package/lib/math/utils/random/randint.d.ts +4 -4
  432. package/lib/math/utils/random/randint.js +18 -18
  433. package/lib/math/utils/round.d.ts +1 -1
  434. package/lib/math/utils/round.js +8 -8
  435. package/lib/server.d.ts +1 -1
  436. package/lib/server.js +54 -54
  437. package/lib/tree/nodes/complex/complexNode.d.ts +14 -14
  438. package/lib/tree/nodes/complex/complexNode.js +43 -43
  439. package/lib/tree/nodes/expression/expressionNode.js +1 -1
  440. package/lib/tree/nodes/functions/cosNode.d.ts +10 -10
  441. package/lib/tree/nodes/functions/cosNode.js +25 -25
  442. package/lib/tree/nodes/functions/expNode.d.ts +10 -10
  443. package/lib/tree/nodes/functions/expNode.js +25 -25
  444. package/lib/tree/nodes/functions/functionNode.d.ts +16 -16
  445. package/lib/tree/nodes/functions/functionNode.js +22 -22
  446. package/lib/tree/nodes/functions/logNode.d.ts +10 -10
  447. package/lib/tree/nodes/functions/logNode.js +25 -25
  448. package/lib/tree/nodes/functions/oppositeNode.d.ts +8 -8
  449. package/lib/tree/nodes/functions/oppositeNode.js +30 -30
  450. package/lib/tree/nodes/functions/sinNode.d.ts +10 -10
  451. package/lib/tree/nodes/functions/sinNode.js +25 -25
  452. package/lib/tree/nodes/functions/sqrtNode.d.ts +9 -9
  453. package/lib/tree/nodes/functions/sqrtNode.js +22 -22
  454. package/lib/tree/nodes/node.d.ts +13 -13
  455. package/lib/tree/nodes/node.js +11 -11
  456. package/lib/tree/nodes/numbers/constantNode.d.ts +10 -10
  457. package/lib/tree/nodes/numbers/constantNode.js +22 -22
  458. package/lib/tree/nodes/numbers/numberNode.d.ts +11 -11
  459. package/lib/tree/nodes/numbers/numberNode.js +22 -22
  460. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  461. package/lib/tree/nodes/numbers/piNode.js +5 -5
  462. package/lib/tree/nodes/operators/addNode.d.ts +8 -8
  463. package/lib/tree/nodes/operators/addNode.js +23 -23
  464. package/lib/tree/nodes/operators/divideNode.d.ts +12 -12
  465. package/lib/tree/nodes/operators/divideNode.js +38 -38
  466. package/lib/tree/nodes/operators/equalNode.d.ts +8 -8
  467. package/lib/tree/nodes/operators/equalNode.js +20 -20
  468. package/lib/tree/nodes/operators/fractionNode.d.ts +12 -12
  469. package/lib/tree/nodes/operators/fractionNode.js +24 -24
  470. package/lib/tree/nodes/operators/multiplyNode.d.ts +8 -8
  471. package/lib/tree/nodes/operators/multiplyNode.js +52 -52
  472. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  473. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  474. package/lib/tree/nodes/operators/powerNode.d.ts +8 -8
  475. package/lib/tree/nodes/operators/powerNode.js +37 -37
  476. package/lib/tree/nodes/operators/substractNode.d.ts +8 -8
  477. package/lib/tree/nodes/operators/substractNode.js +28 -28
  478. package/lib/tree/nodes/variables/variableNode.d.ts +9 -9
  479. package/lib/tree/nodes/variables/variableNode.js +20 -20
  480. package/lib/tree/parsers/derivateParser.js +62 -62
  481. package/lib/tree/parsers/simplify.d.ts +3 -3
  482. package/lib/tree/parsers/simplify.js +73 -73
  483. package/lib/utils/arrayEqual.d.ts +1 -1
  484. package/lib/utils/arrayEqual.js +13 -13
  485. package/lib/utils/coinFlip.d.ts +1 -1
  486. package/lib/utils/coinFlip.js +7 -7
  487. package/lib/utils/diceFlip.d.ts +1 -1
  488. package/lib/utils/diceFlip.js +12 -12
  489. package/lib/utils/random.d.ts +1 -1
  490. package/lib/utils/random.js +7 -7
  491. package/lib/utils/shuffle.d.ts +1 -1
  492. package/lib/utils/shuffle.js +15 -15
  493. package/package.json +52 -51
  494. package/lib/exercises/calcul/operationsPriorities.js +0 -88
  495. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +0 -4
  496. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +0 -1
  497. package/lib/exercises/derivation/derivative/affineDerivative.js +0 -27
  498. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +0 -1
  499. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +0 -1
  500. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +0 -1
  501. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +0 -4
  502. package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts.map +0 -1
  503. package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +0 -51
  504. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts +0 -1
  505. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.d.ts.map +0 -1
  506. package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +0 -91
  507. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +0 -4
  508. package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +0 -1
  509. package/lib/exercises/geometry/euclidean/TriangleArea.js +0 -77
  510. package/lib/geometry/point.js +0 -27
  511. package/lib/geometry/vector.js +0 -31
  512. package/lib/mathutils/arithmetic/coprimesOf.js +0 -13
  513. package/lib/mathutils/arithmetic/dividersOf.js +0 -12
  514. package/lib/mathutils/arithmetic/gcd.js +0 -7
  515. package/lib/mathutils/arithmetic/isSquare.js +0 -7
  516. package/lib/mathutils/arithmetic/lcd.js +0 -12
  517. package/lib/mathutils/arithmetic/nonCoprimesOf.js +0 -13
  518. package/lib/mathutils/arithmetic/nonDividersOf.js +0 -14
  519. package/lib/mathutils/arithmetic/primeFactors.js +0 -22
  520. package/lib/mathutils/decimals/decimalPartLengthOf.js +0 -14
  521. package/lib/mathutils/random/randTupleInt.js +0 -30
  522. package/lib/mathutils/random/randint.js +0 -18
  523. package/lib/mathutils/round.js +0 -8
  524. package/lib/numbers/decimals/decimal.js +0 -140
  525. package/lib/numbers/epsilon.js +0 -10
  526. package/lib/numbers/integer/integer.js +0 -68
  527. package/lib/numbers/integer/power.js +0 -52
  528. package/lib/numbers/nombre.js +0 -10
  529. package/lib/numbers/rationals/rational.js +0 -113
  530. package/lib/numbers/reals/real.js +0 -16
  531. package/lib/numbers/reals/squareRoot.js +0 -63
  532. package/lib/polynomials/affine.js +0 -42
  533. package/lib/polynomials/polynomial.js +0 -125
  534. package/lib/sets/discreteSet.js +0 -28
  535. package/lib/sets/emptySet.js +0 -6
  536. package/lib/sets/intervals/intervals.js +0 -108
  537. package/lib/sets/intervals/union.js +0 -1
  538. package/lib/sets/mathSet.js +0 -10
  539. package/lib/sets/mathSetInterface.js +0 -2
  540. package/lib/tree/parsers/latexParser.js +0 -110
  541. package/lib/utils/coin.js +0 -7
@@ -1,26 +1,26 @@
1
- import { Node } from '../../../tree/nodes/node';
2
- import { Nombre, NumberType } from '../nombre';
3
- export declare abstract class RationalConstructor {
4
- /**
5
- * @param maxGcd max number by which the fraction is simplifiable
6
- */
7
- static randomSimplifiable(maxGcd?: number): Rational;
8
- static randomIrreductible(max?: number): Rational;
9
- }
10
- export declare class Rational implements Nombre {
11
- num: number;
12
- denum: number;
13
- tex: string;
14
- value: number;
15
- isSimplified: boolean;
16
- type: NumberType;
17
- constructor(numerator: number, denumerator: number);
18
- toTex(): string;
19
- add(nb: Nombre): Nombre;
20
- multiply(nb: Nombre): Nombre;
21
- divide(nb: Nombre): Nombre;
22
- opposite(): Rational;
23
- toTree(): Node;
24
- simplify(): Nombre;
25
- }
1
+ import { Node } from '../../../tree/nodes/node';
2
+ import { Nombre, NumberType } from '../nombre';
3
+ export declare abstract class RationalConstructor {
4
+ /**
5
+ * @param maxGcd max number by which the fraction is simplifiable
6
+ */
7
+ static randomSimplifiable(maxGcd?: number): Rational;
8
+ static randomIrreductible(max?: number): Rational;
9
+ }
10
+ export declare class Rational implements Nombre {
11
+ num: number;
12
+ denum: number;
13
+ tex: string;
14
+ value: number;
15
+ isSimplified: boolean;
16
+ type: NumberType;
17
+ constructor(numerator: number, denumerator: number);
18
+ toTex(): string;
19
+ add(nb: Nombre): Nombre;
20
+ multiply(nb: Nombre): Nombre;
21
+ divide(nb: Nombre): Nombre;
22
+ opposite(): Rational;
23
+ toTree(): Node;
24
+ simplify(): Nombre;
25
+ }
26
26
  //# sourceMappingURL=rational.d.ts.map
@@ -1,113 +1,113 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Rational = exports.RationalConstructor = void 0;
4
- const coprimesOf_1 = require("../../../math/utils/arithmetic/coprimesOf");
5
- const gcd_1 = require("../../../math/utils/arithmetic/gcd");
6
- const lcd_1 = require("../../../math/utils/arithmetic/lcd");
7
- const randint_1 = require("../../../math/utils/random/randint");
8
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
- const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
10
- const random_1 = require("../../../utils/random");
11
- const shuffle_1 = require("../../../utils/shuffle");
12
- const integer_1 = require("../integer/integer");
13
- const nombre_1 = require("../nombre");
14
- class RationalConstructor {
15
- /**
16
- * @param maxGcd max number by which the fraction is simplifiable
17
- */
18
- static randomSimplifiable(maxGcd = 10) {
19
- const gcd = (0, randint_1.randint)(2, maxGcd);
20
- const max = (0, randint_1.randint)(3, 11);
21
- const min = (0, random_1.random)((0, coprimesOf_1.coprimesOf)(max));
22
- let [num, denum] = (0, shuffle_1.shuffle)([gcd * min, gcd * max]);
23
- if (denum === gcd) {
24
- //si 10/2 on transforme en 2/10
25
- return new Rational(denum, num);
26
- }
27
- return new Rational(num, denum);
28
- }
29
- static randomIrreductible(max = 11) {
30
- const a = (0, randint_1.randint)(2, max);
31
- const b = (0, random_1.random)([...(0, coprimesOf_1.coprimesOf)(a), 1]);
32
- if (b === 1)
33
- return new Rational(b, a);
34
- const [num, denum] = (0, shuffle_1.shuffle)([a, b]);
35
- return new Rational(num, denum);
36
- }
37
- }
38
- exports.RationalConstructor = RationalConstructor;
39
- class Rational {
40
- constructor(numerator, denumerator) {
41
- if (denumerator === 0)
42
- throw Error('division by zero');
43
- this.num = numerator;
44
- this.denum = denumerator;
45
- this.value = numerator / denumerator;
46
- this.isSimplified = Math.abs((0, gcd_1.gcd)(numerator, denumerator)) === 1;
47
- this.tex = `\\frac{${this.num}}{${this.denum}}`;
48
- this.type = nombre_1.NumberType.Rational;
49
- }
50
- toTex() {
51
- return `\\frac{${this.num}}{${this.denum}}`;
52
- }
53
- add(nb) {
54
- switch (nb.type) {
55
- case nombre_1.NumberType.Integer: {
56
- const num = this.num + this.denum * nb.value;
57
- return new Rational(num, this.denum).simplify();
58
- }
59
- case nombre_1.NumberType.Rational: {
60
- const rational = nb;
61
- const ppcm = (0, lcd_1.lcd)(rational.denum, this.denum);
62
- const num = this.num * (ppcm / this.denum) + rational.num * (ppcm / rational.denum);
63
- return new Rational(num, ppcm).simplify();
64
- }
65
- }
66
- throw Error('not implemented yet');
67
- }
68
- multiply(nb) {
69
- switch (nb.type) {
70
- case nombre_1.NumberType.Integer: {
71
- const num = this.num * nb.value;
72
- const denum = this.denum;
73
- return new Rational(num, denum).simplify();
74
- }
75
- case nombre_1.NumberType.Rational: {
76
- const rational = nb;
77
- const num = this.num * rational.num;
78
- const denum = this.denum * rational.denum;
79
- return new Rational(num, denum).simplify();
80
- }
81
- }
82
- throw Error('not implemented yet');
83
- }
84
- divide(nb) {
85
- switch (nb.type) {
86
- case nombre_1.NumberType.Integer: {
87
- const denum = this.denum * nb.value;
88
- return new Rational(this.num, denum).simplify();
89
- }
90
- case nombre_1.NumberType.Rational: {
91
- const rational = nb;
92
- const num = this.num * rational.denum;
93
- const denum = this.denum * rational.num;
94
- return new Rational(num, denum).simplify();
95
- }
96
- }
97
- throw Error('not implemented yet');
98
- }
99
- opposite() {
100
- return new Rational(-this.num, this.denum);
101
- }
102
- toTree() {
103
- return new fractionNode_1.FractionNode(new numberNode_1.NumberNode(this.num), new numberNode_1.NumberNode(this.denum));
104
- }
105
- simplify() {
106
- const sign = (this.num > 0 && this.denum > 0) || (this.num < 0 && this.denum < 0) ? 1 : -1;
107
- const div = Math.abs((0, gcd_1.gcd)(this.num, this.denum));
108
- if (Math.abs(this.denum) === div)
109
- return new integer_1.Integer(this.num / this.denum);
110
- return new Rational((sign * Math.abs(this.num)) / div, Math.abs(this.denum) / div);
111
- }
112
- }
113
- exports.Rational = Rational;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rational = exports.RationalConstructor = void 0;
4
+ const coprimesOf_1 = require("../../../math/utils/arithmetic/coprimesOf");
5
+ const gcd_1 = require("../../../math/utils/arithmetic/gcd");
6
+ const lcd_1 = require("../../../math/utils/arithmetic/lcd");
7
+ const randint_1 = require("../../../math/utils/random/randint");
8
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
+ const fractionNode_1 = require("../../../tree/nodes/operators/fractionNode");
10
+ const random_1 = require("../../../utils/random");
11
+ const shuffle_1 = require("../../../utils/shuffle");
12
+ const integer_1 = require("../integer/integer");
13
+ const nombre_1 = require("../nombre");
14
+ class RationalConstructor {
15
+ /**
16
+ * @param maxGcd max number by which the fraction is simplifiable
17
+ */
18
+ static randomSimplifiable(maxGcd = 10) {
19
+ const gcd = (0, randint_1.randint)(2, maxGcd);
20
+ const max = (0, randint_1.randint)(3, 11);
21
+ const min = (0, random_1.random)((0, coprimesOf_1.coprimesOf)(max));
22
+ let [num, denum] = (0, shuffle_1.shuffle)([gcd * min, gcd * max]);
23
+ if (denum === gcd) {
24
+ //si 10/2 on transforme en 2/10
25
+ return new Rational(denum, num);
26
+ }
27
+ return new Rational(num, denum);
28
+ }
29
+ static randomIrreductible(max = 11) {
30
+ const a = (0, randint_1.randint)(2, max);
31
+ const b = (0, random_1.random)([...(0, coprimesOf_1.coprimesOf)(a), 1]);
32
+ if (b === 1)
33
+ return new Rational(b, a);
34
+ const [num, denum] = (0, shuffle_1.shuffle)([a, b]);
35
+ return new Rational(num, denum);
36
+ }
37
+ }
38
+ exports.RationalConstructor = RationalConstructor;
39
+ class Rational {
40
+ constructor(numerator, denumerator) {
41
+ if (denumerator === 0)
42
+ throw Error('division by zero');
43
+ this.num = numerator;
44
+ this.denum = denumerator;
45
+ this.value = numerator / denumerator;
46
+ this.isSimplified = Math.abs((0, gcd_1.gcd)(numerator, denumerator)) === 1;
47
+ this.tex = `\\frac{${this.num}}{${this.denum}}`;
48
+ this.type = nombre_1.NumberType.Rational;
49
+ }
50
+ toTex() {
51
+ return `\\frac{${this.num}}{${this.denum}}`;
52
+ }
53
+ add(nb) {
54
+ switch (nb.type) {
55
+ case nombre_1.NumberType.Integer: {
56
+ const num = this.num + this.denum * nb.value;
57
+ return new Rational(num, this.denum).simplify();
58
+ }
59
+ case nombre_1.NumberType.Rational: {
60
+ const rational = nb;
61
+ const ppcm = (0, lcd_1.lcd)(rational.denum, this.denum);
62
+ const num = this.num * (ppcm / this.denum) + rational.num * (ppcm / rational.denum);
63
+ return new Rational(num, ppcm).simplify();
64
+ }
65
+ }
66
+ throw Error('not implemented yet');
67
+ }
68
+ multiply(nb) {
69
+ switch (nb.type) {
70
+ case nombre_1.NumberType.Integer: {
71
+ const num = this.num * nb.value;
72
+ const denum = this.denum;
73
+ return new Rational(num, denum).simplify();
74
+ }
75
+ case nombre_1.NumberType.Rational: {
76
+ const rational = nb;
77
+ const num = this.num * rational.num;
78
+ const denum = this.denum * rational.denum;
79
+ return new Rational(num, denum).simplify();
80
+ }
81
+ }
82
+ throw Error('not implemented yet');
83
+ }
84
+ divide(nb) {
85
+ switch (nb.type) {
86
+ case nombre_1.NumberType.Integer: {
87
+ const denum = this.denum * nb.value;
88
+ return new Rational(this.num, denum).simplify();
89
+ }
90
+ case nombre_1.NumberType.Rational: {
91
+ const rational = nb;
92
+ const num = this.num * rational.denum;
93
+ const denum = this.denum * rational.num;
94
+ return new Rational(num, denum).simplify();
95
+ }
96
+ }
97
+ throw Error('not implemented yet');
98
+ }
99
+ opposite() {
100
+ return new Rational(-this.num, this.denum);
101
+ }
102
+ toTree() {
103
+ return new fractionNode_1.FractionNode(new numberNode_1.NumberNode(this.num), new numberNode_1.NumberNode(this.denum));
104
+ }
105
+ simplify() {
106
+ const sign = (this.num > 0 && this.denum > 0) || (this.num < 0 && this.denum < 0) ? 1 : -1;
107
+ const div = Math.abs((0, gcd_1.gcd)(this.num, this.denum));
108
+ if (Math.abs(this.denum) === div)
109
+ return new integer_1.Integer(this.num / this.denum);
110
+ return new Rational((sign * Math.abs(this.num)) / div, Math.abs(this.denum) / div);
111
+ }
112
+ }
113
+ exports.Rational = Rational;
@@ -1,10 +1,10 @@
1
- import { Node } from '../../../tree/nodes/node';
2
- import { Nombre, NumberType } from '../nombre';
3
- export declare class Real implements Nombre {
4
- value: number;
5
- tex: string;
6
- type: NumberType;
7
- constructor(value: number, tex: string);
8
- toTree(): Node;
9
- }
1
+ import { Node } from '../../../tree/nodes/node';
2
+ import { Nombre, NumberType } from '../nombre';
3
+ export declare class Real implements Nombre {
4
+ value: number;
5
+ tex: string;
6
+ type: NumberType;
7
+ constructor(value: number, tex: string);
8
+ toTree(): Node;
9
+ }
10
10
  //# sourceMappingURL=real.d.ts.map
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Real = void 0;
4
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
5
- const nombre_1 = require("../nombre");
6
- class Real {
7
- constructor(value, tex) {
8
- this.value = value;
9
- this.tex = tex;
10
- this.type = nombre_1.NumberType.Real;
11
- }
12
- toTree() {
13
- return new numberNode_1.NumberNode(this.value);
14
- }
15
- }
16
- exports.Real = Real;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Real = void 0;
4
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
5
+ const nombre_1 = require("../nombre");
6
+ class Real {
7
+ constructor(value, tex) {
8
+ this.value = value;
9
+ this.tex = tex;
10
+ this.type = nombre_1.NumberType.Real;
11
+ }
12
+ toTree() {
13
+ return new numberNode_1.NumberNode(this.value);
14
+ }
15
+ }
16
+ exports.Real = Real;
@@ -1,19 +1,19 @@
1
- import { Node } from '../../../tree/nodes/node';
2
- import { Real } from './real';
3
- export declare abstract class SquareRootConstructor {
4
- /**
5
- * @returns simplifiable square root type sqrt(c)=a*sqrt(b)
6
- */
7
- static randomSimplifiable({ allowPerfectSquare, maxSquare }: {
8
- allowPerfectSquare?: boolean | undefined;
9
- maxSquare?: number | undefined;
10
- }): SquareRoot;
11
- }
12
- export declare class SquareRoot extends Real {
13
- operand: number;
14
- constructor(operand: number);
15
- simplify(): Real;
16
- toTex(): string;
17
- toTree(): Node;
18
- }
1
+ import { Node } from '../../../tree/nodes/node';
2
+ import { Real } from './real';
3
+ export declare abstract class SquareRootConstructor {
4
+ /**
5
+ * @returns simplifiable square root type sqrt(c)=a*sqrt(b)
6
+ */
7
+ static randomSimplifiable({ allowPerfectSquare, maxSquare }: {
8
+ allowPerfectSquare?: boolean | undefined;
9
+ maxSquare?: number | undefined;
10
+ }): SquareRoot;
11
+ }
12
+ export declare class SquareRoot extends Real {
13
+ operand: number;
14
+ constructor(operand: number);
15
+ simplify(): Real;
16
+ toTex(): string;
17
+ toTree(): Node;
18
+ }
19
19
  //# sourceMappingURL=squareRoot.d.ts.map
@@ -1,63 +1,63 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SquareRoot = exports.SquareRootConstructor = void 0;
4
- const isSquare_1 = require("../../../math/utils/arithmetic/isSquare");
5
- const primeFactors_1 = require("../../../math/utils/arithmetic/primeFactors");
6
- const randint_1 = require("../../../math/utils/random/randint");
7
- const sqrtNode_1 = require("../../../tree/nodes/functions/sqrtNode");
8
- const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
- const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
- const real_1 = require("./real");
11
- class SquareRootConstructor {
12
- /**
13
- * @returns simplifiable square root type sqrt(c)=a*sqrt(b)
14
- */
15
- static randomSimplifiable({ allowPerfectSquare = false, maxSquare = 11 }) {
16
- const a = (0, randint_1.randint)(2, maxSquare);
17
- let b;
18
- let bMin = allowPerfectSquare ? 1 : 2;
19
- do {
20
- b = (0, randint_1.randint)(bMin, maxSquare);
21
- } while (b % (a * a) === 0 || (0, isSquare_1.isSquare)(b));
22
- return new SquareRoot(a * a * b);
23
- }
24
- }
25
- exports.SquareRootConstructor = SquareRootConstructor;
26
- class SquareRoot extends real_1.Real {
27
- constructor(operand) {
28
- super(Math.sqrt(operand), `\\sqrt{${operand}}`);
29
- this.operand = operand;
30
- }
31
- simplify() {
32
- const factors = (0, primeFactors_1.primeFactors)(this.operand);
33
- // finds primes with even exponents
34
- const multiples = [1];
35
- for (let i = 0; i < factors.length - 1; i++) {
36
- if (factors[i] === factors[i + 1]) {
37
- multiples.push(factors[i]);
38
- factors.splice(i, 2);
39
- i--;
40
- }
41
- }
42
- const outsideSqrt = multiples.reduce((x, y) => x * y);
43
- const insideSqrt = factors.length === 0 ? 1 : factors.reduce((x, y) => x * y);
44
- const simplified = insideSqrt !== 1
45
- ? new real_1.Real(outsideSqrt * Math.sqrt(insideSqrt), `${outsideSqrt === 1 ? '' : `${outsideSqrt}`}\\sqrt{${insideSqrt}}`)
46
- : new real_1.Real(outsideSqrt, outsideSqrt + '');
47
- simplified.toTree = () => {
48
- return insideSqrt !== 1
49
- ? outsideSqrt === 1
50
- ? new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(insideSqrt))
51
- : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(outsideSqrt), new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(insideSqrt)))
52
- : new numberNode_1.NumberNode(outsideSqrt);
53
- };
54
- return simplified;
55
- }
56
- toTex() {
57
- return this.tex;
58
- }
59
- toTree() {
60
- return new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(this.operand));
61
- }
62
- }
63
- exports.SquareRoot = SquareRoot;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SquareRoot = exports.SquareRootConstructor = void 0;
4
+ const isSquare_1 = require("../../../math/utils/arithmetic/isSquare");
5
+ const primeFactors_1 = require("../../../math/utils/arithmetic/primeFactors");
6
+ const randint_1 = require("../../../math/utils/random/randint");
7
+ const sqrtNode_1 = require("../../../tree/nodes/functions/sqrtNode");
8
+ const numberNode_1 = require("../../../tree/nodes/numbers/numberNode");
9
+ const multiplyNode_1 = require("../../../tree/nodes/operators/multiplyNode");
10
+ const real_1 = require("./real");
11
+ class SquareRootConstructor {
12
+ /**
13
+ * @returns simplifiable square root type sqrt(c)=a*sqrt(b)
14
+ */
15
+ static randomSimplifiable({ allowPerfectSquare = false, maxSquare = 11 }) {
16
+ const a = (0, randint_1.randint)(2, maxSquare);
17
+ let b;
18
+ let bMin = allowPerfectSquare ? 1 : 2;
19
+ do {
20
+ b = (0, randint_1.randint)(bMin, maxSquare);
21
+ } while (b % (a * a) === 0 || (0, isSquare_1.isSquare)(b));
22
+ return new SquareRoot(a * a * b);
23
+ }
24
+ }
25
+ exports.SquareRootConstructor = SquareRootConstructor;
26
+ class SquareRoot extends real_1.Real {
27
+ constructor(operand) {
28
+ super(Math.sqrt(operand), `\\sqrt{${operand}}`);
29
+ this.operand = operand;
30
+ }
31
+ simplify() {
32
+ const factors = (0, primeFactors_1.primeFactors)(this.operand);
33
+ // finds primes with even exponents
34
+ const multiples = [1];
35
+ for (let i = 0; i < factors.length - 1; i++) {
36
+ if (factors[i] === factors[i + 1]) {
37
+ multiples.push(factors[i]);
38
+ factors.splice(i, 2);
39
+ i--;
40
+ }
41
+ }
42
+ const outsideSqrt = multiples.reduce((x, y) => x * y);
43
+ const insideSqrt = factors.length === 0 ? 1 : factors.reduce((x, y) => x * y);
44
+ const simplified = insideSqrt !== 1
45
+ ? new real_1.Real(outsideSqrt * Math.sqrt(insideSqrt), `${outsideSqrt === 1 ? '' : `${outsideSqrt}`}\\sqrt{${insideSqrt}}`)
46
+ : new real_1.Real(outsideSqrt, outsideSqrt + '');
47
+ simplified.toTree = () => {
48
+ return insideSqrt !== 1
49
+ ? outsideSqrt === 1
50
+ ? new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(insideSqrt))
51
+ : new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(outsideSqrt), new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(insideSqrt)))
52
+ : new numberNode_1.NumberNode(outsideSqrt);
53
+ };
54
+ return simplified;
55
+ }
56
+ toTex() {
57
+ return this.tex;
58
+ }
59
+ toTree() {
60
+ return new sqrtNode_1.SqrtNode(new numberNode_1.NumberNode(this.operand));
61
+ }
62
+ }
63
+ exports.SquareRoot = SquareRoot;
@@ -1,16 +1,16 @@
1
- import { Nombre } from '../numbers/nombre';
2
- import { MathSet } from '../sets/mathSet';
3
- import { Polynomial } from './polynomial';
4
- export declare abstract class AffineConstructor {
5
- static random(domainA?: MathSet, domainB?: MathSet): Affine;
6
- static differentRandoms(nb: number, domainA?: MathSet, domainB?: MathSet): Affine[];
7
- }
8
- export declare class Affine extends Polynomial {
9
- a: number;
10
- b: number;
11
- variable: string;
12
- constructor(a: number, b: number, variable?: string);
13
- getRoot(): Nombre;
14
- toString(): string;
15
- }
1
+ import { Nombre } from '../numbers/nombre';
2
+ import { MathSet } from '../sets/mathSet';
3
+ import { Polynomial } from './polynomial';
4
+ export declare abstract class AffineConstructor {
5
+ static random(domainA?: MathSet, domainB?: MathSet): Affine;
6
+ static differentRandoms(nb: number, domainA?: MathSet, domainB?: MathSet): Affine[];
7
+ }
8
+ export declare class Affine extends Polynomial {
9
+ a: number;
10
+ b: number;
11
+ variable: string;
12
+ constructor(a: number, b: number, variable?: string);
13
+ getRoot(): Nombre;
14
+ toString(): string;
15
+ }
16
16
  //# sourceMappingURL=affine.d.ts.map
@@ -1,42 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Affine = exports.AffineConstructor = void 0;
4
- const integer_1 = require("../numbers/integer/integer");
5
- const rational_1 = require("../numbers/rationals/rational");
6
- const discreteSet_1 = require("../sets/discreteSet");
7
- const intervals_1 = require("../sets/intervals/intervals");
8
- const polynomial_1 = require("./polynomial");
9
- class AffineConstructor {
10
- static random(domainA = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)])), domainB = new intervals_1.Interval('[[-10; 10]]')) {
11
- const a = domainA.getRandomElement();
12
- const b = domainB.getRandomElement();
13
- return new Affine(a.value, b.value);
14
- }
15
- static differentRandoms(nb, domainA = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)])), domainB = new intervals_1.Interval('[[-10; 10]]')) {
16
- const res = [];
17
- for (let i = 0; i < nb; i++) {
18
- let aff;
19
- do {
20
- aff = AffineConstructor.random(domainA, domainB);
21
- } while (res.some((affine) => affine.equals(aff)));
22
- res.push(aff);
23
- }
24
- return res;
25
- }
26
- }
27
- exports.AffineConstructor = AffineConstructor;
28
- class Affine extends polynomial_1.Polynomial {
29
- constructor(a, b, variable = 'x') {
30
- super([b, a], variable);
31
- this.a = a;
32
- this.b = b;
33
- this.variable = variable;
34
- }
35
- getRoot() {
36
- return new rational_1.Rational(-this.b, this.a).simplify();
37
- }
38
- toString() {
39
- return super.toTex();
40
- }
41
- }
42
- exports.Affine = Affine;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Affine = exports.AffineConstructor = void 0;
4
+ const integer_1 = require("../numbers/integer/integer");
5
+ const rational_1 = require("../numbers/rationals/rational");
6
+ const discreteSet_1 = require("../sets/discreteSet");
7
+ const intervals_1 = require("../sets/intervals/intervals");
8
+ const polynomial_1 = require("./polynomial");
9
+ class AffineConstructor {
10
+ static random(domainA = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)])), domainB = new intervals_1.Interval('[[-10; 10]]')) {
11
+ const a = domainA.getRandomElement();
12
+ const b = domainB.getRandomElement();
13
+ return new Affine(a.value, b.value);
14
+ }
15
+ static differentRandoms(nb, domainA = new intervals_1.Interval('[[-10; 10]]').difference(new discreteSet_1.DiscreteSet([new integer_1.Integer(0)])), domainB = new intervals_1.Interval('[[-10; 10]]')) {
16
+ const res = [];
17
+ for (let i = 0; i < nb; i++) {
18
+ let aff;
19
+ do {
20
+ aff = AffineConstructor.random(domainA, domainB);
21
+ } while (res.some((affine) => affine.equals(aff)));
22
+ res.push(aff);
23
+ }
24
+ return res;
25
+ }
26
+ }
27
+ exports.AffineConstructor = AffineConstructor;
28
+ class Affine extends polynomial_1.Polynomial {
29
+ constructor(a, b, variable = 'x') {
30
+ super([b, a], variable);
31
+ this.a = a;
32
+ this.b = b;
33
+ this.variable = variable;
34
+ }
35
+ getRoot() {
36
+ return new rational_1.Rational(-this.b, this.a).simplify();
37
+ }
38
+ toString() {
39
+ return super.toTex();
40
+ }
41
+ }
42
+ exports.Affine = Affine;