math-exercises 3.0.200 → 3.0.201

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 (406) hide show
  1. package/lib/exercises/math/calcul/fractions/fractionsSumsPrimeDenominators.js +1 -1
  2. package/lib/exercises/math/calcul/index.d.ts +1 -0
  3. package/lib/exercises/math/calcul/index.d.ts.map +1 -1
  4. package/lib/exercises/math/calcul/index.js +1 -0
  5. package/lib/exercises/math/calculLitteral/inequations/index.d.ts +1 -0
  6. package/lib/exercises/math/calculLitteral/inequations/index.d.ts.map +1 -1
  7. package/lib/exercises/math/calculLitteral/inequations/index.js +1 -0
  8. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.d.ts +14 -0
  9. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.d.ts.map +1 -0
  10. package/lib/exercises/math/calculLitteral/inequations/inequationCenteredInterval.js +263 -0
  11. package/lib/exercises/math/combinatory/anagrams.d.ts.map +1 -1
  12. package/lib/exercises/math/combinatory/anagrams.js +89 -68
  13. package/lib/exercises/math/combinatory/index.d.ts +1 -0
  14. package/lib/exercises/math/combinatory/index.d.ts.map +1 -1
  15. package/lib/exercises/math/combinatory/index.js +1 -0
  16. package/lib/exercises/math/dataRepresentations/index.d.ts +1 -1
  17. package/lib/exercises/math/dataRepresentations/index.d.ts.map +1 -1
  18. package/lib/exercises/math/dataRepresentations/index.js +5 -1
  19. package/lib/exercises/math/dataRepresentations/scatterPlot/index.d.ts +0 -2
  20. package/lib/exercises/math/dataRepresentations/scatterPlot/index.d.ts.map +1 -1
  21. package/lib/exercises/math/dataRepresentations/scatterPlot/index.js +2 -2
  22. package/lib/exercises/math/derivation/derivative/trigo/index.d.ts +2 -0
  23. package/lib/exercises/math/derivation/derivative/trigo/index.d.ts.map +1 -1
  24. package/lib/exercises/math/derivation/derivative/trigo/index.js +3 -0
  25. package/lib/exercises/math/derivation/problems/index.d.ts +0 -1
  26. package/lib/exercises/math/derivation/problems/index.d.ts.map +1 -1
  27. package/lib/exercises/math/derivation/problems/index.js +1 -1
  28. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.d.ts.map +1 -1
  29. package/lib/exercises/math/derivation/problems/problemMovementOnLineFindSpeedAtPoint.js +5 -2
  30. package/lib/exercises/math/derivation/tangent/index.d.ts +0 -1
  31. package/lib/exercises/math/derivation/tangent/index.d.ts.map +1 -1
  32. package/lib/exercises/math/derivation/tangent/index.js +1 -1
  33. package/lib/exercises/math/derivation/variations/index.d.ts +1 -1
  34. package/lib/exercises/math/derivation/variations/index.d.ts.map +1 -1
  35. package/lib/exercises/math/derivation/variations/index.js +2 -1
  36. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.d.ts +10 -0
  37. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.d.ts.map +1 -0
  38. package/lib/exercises/math/derivation/variations/signVarTableAffinePlusCXLogX.js +222 -0
  39. package/lib/exercises/math/derivation/variations/signVarTableProductFExp.js +1 -1
  40. package/lib/exercises/math/derivation/variations/signVarTableQuotientFExp.js +1 -1
  41. package/lib/exercises/math/functions/affines/index.d.ts +5 -0
  42. package/lib/exercises/math/functions/affines/index.d.ts.map +1 -1
  43. package/lib/exercises/math/functions/affines/index.js +5 -0
  44. package/lib/exercises/math/functions/integral/index.d.ts +1 -0
  45. package/lib/exercises/math/functions/integral/index.d.ts.map +1 -1
  46. package/lib/exercises/math/functions/integral/index.js +1 -0
  47. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.d.ts +12 -0
  48. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.d.ts.map +1 -0
  49. package/lib/exercises/math/functions/integral/integralTrinomialOverX2.js +280 -0
  50. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.d.ts +13 -0
  51. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.d.ts.map +1 -0
  52. package/lib/exercises/math/functions/logarithm/findLargestPossibleDomainOfLogF.js +622 -0
  53. package/lib/exercises/math/functions/logarithm/index.d.ts +5 -0
  54. package/lib/exercises/math/functions/logarithm/index.d.ts.map +1 -1
  55. package/lib/exercises/math/functions/logarithm/index.js +5 -0
  56. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.d.ts +10 -0
  57. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.d.ts.map +1 -0
  58. package/lib/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.js +172 -0
  59. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.d.ts +11 -0
  60. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.d.ts.map +1 -0
  61. package/lib/exercises/math/functions/logarithm/logInequationIntegerSolutions.js +163 -0
  62. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.d.ts +18 -0
  63. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.d.ts.map +1 -0
  64. package/lib/exercises/math/functions/logarithm/logInequationLnAXPlusBInfK.js +330 -0
  65. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.d.ts +11 -0
  66. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.d.ts.map +1 -0
  67. package/lib/exercises/math/functions/logarithm/logLinearCombinationSimplifiying.js +185 -0
  68. package/lib/exercises/math/index.d.ts +1 -1
  69. package/lib/exercises/math/index.d.ts.map +1 -1
  70. package/lib/exercises/math/index.js +2 -1
  71. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.d.ts +15 -0
  72. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.d.ts.map +1 -0
  73. package/lib/exercises/math/integration/fromExpr/areaBetweenCrossingCurvesFixedPosFromExpr.js +505 -0
  74. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.d.ts +16 -0
  75. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.d.ts.map +1 -0
  76. package/lib/exercises/math/integration/fromExpr/boundIntegralByBoundingFunctionWithAffinesFromExpr.js +433 -0
  77. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.d.ts +15 -0
  78. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.d.ts.map +1 -0
  79. package/lib/exercises/math/integration/fromExpr/boundIntegralByManualRectanglesMethodFromExpr.js +436 -0
  80. package/lib/exercises/math/integration/fromExpr/byParts/index.d.ts +3 -0
  81. package/lib/exercises/math/integration/fromExpr/byParts/index.d.ts.map +1 -0
  82. package/lib/exercises/math/integration/fromExpr/byParts/index.js +2 -0
  83. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.d.ts +9 -0
  84. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.d.ts.map +1 -0
  85. package/lib/exercises/math/integration/fromExpr/byParts/integralOfAXPlusBTimesExpKXByParts.js +234 -0
  86. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.d.ts +12 -0
  87. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.d.ts.map +1 -0
  88. package/lib/exercises/math/integration/fromExpr/byParts/integralOfPolynomialTimesLogXByParts.js +330 -0
  89. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.d.ts +15 -0
  90. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.d.ts.map +1 -0
  91. package/lib/exercises/math/integration/fromExpr/checkIsPrimitiveFromExpr.js +450 -0
  92. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.d.ts +10 -0
  93. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.d.ts.map +1 -0
  94. package/lib/exercises/math/integration/fromExpr/derivativeOfPrimitive.js +261 -0
  95. package/lib/exercises/math/integration/fromExpr/index.d.ts +8 -0
  96. package/lib/exercises/math/integration/fromExpr/index.d.ts.map +1 -0
  97. package/lib/exercises/math/integration/fromExpr/index.js +8 -0
  98. package/lib/exercises/math/integration/fromExpr/integralFromExpr.d.ts +13 -0
  99. package/lib/exercises/math/integration/fromExpr/integralFromExpr.d.ts.map +1 -0
  100. package/lib/exercises/math/integration/fromExpr/integralFromExpr.js +359 -0
  101. package/lib/exercises/math/integration/fromExpr/meanValue/index.d.ts +2 -0
  102. package/lib/exercises/math/integration/fromExpr/meanValue/index.d.ts.map +1 -0
  103. package/lib/exercises/math/integration/fromExpr/meanValue/index.js +1 -0
  104. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.d.ts +14 -0
  105. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.d.ts.map +1 -0
  106. package/lib/exercises/math/integration/fromExpr/meanValue/meanValueOfTrinomFromIntegralFromExpr.js +429 -0
  107. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.d.ts +10 -0
  108. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.d.ts.map +1 -0
  109. package/lib/exercises/math/integration/fromGraph/boundIntegralByManipulatingAutomaticRectanglesMethodFromGraph.js +286 -0
  110. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.d.ts +9 -0
  111. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.d.ts.map +1 -0
  112. package/lib/exercises/math/integration/fromGraph/imageOfPrimitiveByManipulatingIntegralBoundsFromGraph.js +231 -0
  113. package/lib/exercises/math/integration/fromGraph/index.d.ts +7 -0
  114. package/lib/exercises/math/integration/fromGraph/index.d.ts.map +1 -0
  115. package/lib/exercises/math/integration/fromGraph/index.js +6 -0
  116. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.d.ts +15 -0
  117. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.d.ts.map +1 -0
  118. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromExprByComputingArea.js +464 -0
  119. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.d.ts +15 -0
  120. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.d.ts.map +1 -0
  121. package/lib/exercises/math/integration/fromGraph/integralOfAffineFromGraph.js +493 -0
  122. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.d.ts +18 -0
  123. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.d.ts.map +1 -0
  124. package/lib/exercises/math/integration/fromGraph/integralOfPiecewiseAffineFromGraph.js +466 -0
  125. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.d.ts +10 -0
  126. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.d.ts.map +1 -0
  127. package/lib/exercises/math/integration/fromGraph/varTableOfPrimitiveFromGraph.js +192 -0
  128. package/lib/exercises/math/integration/index.d.ts +4 -0
  129. package/lib/exercises/math/integration/index.d.ts.map +1 -0
  130. package/lib/exercises/math/integration/index.js +3 -0
  131. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.d.ts +14 -0
  132. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.d.ts.map +1 -0
  133. package/lib/exercises/math/integration/integralOfPiecewiseFunctionByUsingComputedIntegrals.js +222 -0
  134. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.d.ts +8 -0
  135. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.d.ts.map +1 -0
  136. package/lib/exercises/math/limits/frac1XTimesALogXPlusBLimit.js +121 -0
  137. package/lib/exercises/math/limits/index.d.ts +3 -0
  138. package/lib/exercises/math/limits/index.d.ts.map +1 -1
  139. package/lib/exercises/math/limits/index.js +3 -0
  140. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.d.ts +12 -0
  141. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.d.ts.map +1 -0
  142. package/lib/exercises/math/limits/kLogXPlusTrinomLimit.js +224 -0
  143. package/lib/exercises/math/limits/logOfPolynomialLimit.d.ts +10 -0
  144. package/lib/exercises/math/limits/logOfPolynomialLimit.d.ts.map +1 -0
  145. package/lib/exercises/math/limits/logOfPolynomialLimit.js +154 -0
  146. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.d.ts +12 -0
  147. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.d.ts.map +1 -0
  148. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfLinearCombination.js +170 -0
  149. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.d.ts +7 -0
  150. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.d.ts.map +1 -0
  151. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromDice.js +163 -0
  152. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.d.ts +14 -0
  153. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.d.ts.map +1 -0
  154. package/lib/exercises/math/probaStat/basicProbas/expectedValueOfSumFromProbaLaw.js +150 -0
  155. package/lib/exercises/math/probaStat/basicProbas/index.d.ts +5 -0
  156. package/lib/exercises/math/probaStat/basicProbas/index.d.ts.map +1 -1
  157. package/lib/exercises/math/probaStat/basicProbas/index.js +5 -0
  158. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.d.ts +12 -0
  159. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.d.ts.map +1 -0
  160. package/lib/exercises/math/probaStat/basicProbas/varianceOfLinearCombination.js +193 -0
  161. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.d.ts +13 -0
  162. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.d.ts.map +1 -0
  163. package/lib/exercises/math/probaStat/basicProbas/varianceOfMean.js +171 -0
  164. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.d.ts +9 -0
  165. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.d.ts.map +1 -0
  166. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialExpectedValueFromSituation.js +125 -0
  167. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.d.ts +9 -0
  168. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.d.ts.map +1 -0
  169. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindParamsFromSituation.js +126 -0
  170. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts +8 -0
  171. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.d.ts.map +1 -0
  172. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfAtLeastOneSuccessFromSituation.js +150 -0
  173. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.d.ts +15 -0
  174. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.d.ts.map +1 -0
  175. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindProbaOfXCompKFromSituation.js +386 -0
  176. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.d.ts +14 -0
  177. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.d.ts.map +1 -0
  178. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialFindThresholdForNFromSituation.js +248 -0
  179. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.d.ts +47 -0
  180. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.d.ts.map +1 -0
  181. package/lib/exercises/math/probaStat/binomial/fromSituation/binomialSituations.js +184 -0
  182. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.d.ts +9 -0
  183. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.d.ts.map +1 -0
  184. package/lib/exercises/math/probaStat/binomial/fromSituation/buildTreeBernoulliFromSituation.js +120 -0
  185. package/lib/exercises/math/probaStat/binomial/fromSituation/index.d.ts +7 -0
  186. package/lib/exercises/math/probaStat/binomial/fromSituation/index.d.ts.map +1 -0
  187. package/lib/exercises/math/probaStat/binomial/fromSituation/index.js +6 -0
  188. package/lib/exercises/math/probaStat/binomial/index.d.ts +1 -0
  189. package/lib/exercises/math/probaStat/binomial/index.d.ts.map +1 -1
  190. package/lib/exercises/math/probaStat/binomial/index.js +1 -0
  191. package/lib/exercises/math/probaStat/index.d.ts +1 -0
  192. package/lib/exercises/math/probaStat/index.d.ts.map +1 -1
  193. package/lib/exercises/math/probaStat/index.js +1 -0
  194. package/lib/exercises/math/probaStat/tchebychev/index.d.ts +5 -0
  195. package/lib/exercises/math/probaStat/tchebychev/index.d.ts.map +1 -0
  196. package/lib/exercises/math/probaStat/tchebychev/index.js +4 -0
  197. package/lib/exercises/math/probaStat/tchebychev/mean/index.d.ts +4 -0
  198. package/lib/exercises/math/probaStat/tchebychev/mean/index.d.ts.map +1 -0
  199. package/lib/exercises/math/probaStat/tchebychev/mean/index.js +3 -0
  200. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.d.ts +11 -0
  201. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.d.ts.map +1 -0
  202. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevFindRadiusToMinorizeProbaOfMeanInCenteredInterval.js +273 -0
  203. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.d.ts +14 -0
  204. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.d.ts.map +1 -0
  205. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMajorizeProbaOfMeanOutOfCenteredInterval.js +219 -0
  206. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.d.ts +14 -0
  207. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.d.ts.map +1 -0
  208. package/lib/exercises/math/probaStat/tchebychev/mean/tchebychevMinorizeProbaOfMeanInCenteredInterval.js +245 -0
  209. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.d.ts +10 -0
  210. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.d.ts.map +1 -0
  211. package/lib/exercises/math/probaStat/tchebychev/tchebychevFindRadiusToMajorizeProbaOfXOutOfCenteredInterval.js +191 -0
  212. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.d.ts +10 -0
  213. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.d.ts.map +1 -0
  214. package/lib/exercises/math/probaStat/tchebychev/tchebychevMajorizeProbaOfXOutOfCenteredInterval.js +135 -0
  215. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.d.ts +10 -0
  216. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.d.ts.map +1 -0
  217. package/lib/exercises/math/probaStat/tchebychev/tchebychevMinorizeProbaOfXInCenteredInterval.js +155 -0
  218. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.d.ts +9 -0
  219. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.d.ts.map +1 -0
  220. package/lib/exercises/math/probaStat/trees/buildTreeBernoulli.js +124 -0
  221. package/lib/exercises/math/probaStat/trees/index.d.ts +1 -0
  222. package/lib/exercises/math/probaStat/trees/index.d.ts.map +1 -1
  223. package/lib/exercises/math/probaStat/trees/index.js +1 -0
  224. package/lib/exercises/math/sequences/geometric/graph/index.d.ts +4 -0
  225. package/lib/exercises/math/sequences/geometric/graph/index.d.ts.map +1 -1
  226. package/lib/exercises/math/sequences/geometric/graph/index.js +4 -0
  227. package/lib/exercises/math/sequences/geometric/index.d.ts +2 -0
  228. package/lib/exercises/math/sequences/geometric/index.d.ts.map +1 -1
  229. package/lib/exercises/math/sequences/geometric/index.js +2 -0
  230. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.d.ts.map +1 -1
  231. package/lib/exercises/math/sequences/geometric/situations/geometricFindRankFromSituation.js +71 -48
  232. package/lib/exercises/math/sequences/geometric/situations/index.d.ts +2 -1
  233. package/lib/exercises/math/sequences/geometric/situations/index.d.ts.map +1 -1
  234. package/lib/exercises/math/sequences/geometric/situations/index.js +2 -2
  235. package/lib/exercises/math/sets/index.d.ts +3 -0
  236. package/lib/exercises/math/sets/index.d.ts.map +1 -1
  237. package/lib/exercises/math/sets/index.js +3 -0
  238. package/lib/exercises/math/spaceGeometry/basis/index.d.ts +6 -0
  239. package/lib/exercises/math/spaceGeometry/basis/index.d.ts.map +1 -1
  240. package/lib/exercises/math/spaceGeometry/basis/index.js +6 -0
  241. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.d.ts +11 -0
  242. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.d.ts.map +1 -0
  243. package/lib/exercises/math/spaceGeometry/basis/lineLineRelativePositionsFromCubeOuterPoints.js +576 -0
  244. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.d.ts +11 -0
  245. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.d.ts.map +1 -0
  246. package/lib/exercises/math/spaceGeometry/basis/linePlaneRelativePositionsFromCubeOuterPoints.js +595 -0
  247. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.d.ts +11 -0
  248. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.d.ts.map +1 -0
  249. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystem.js +501 -0
  250. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.d.ts +16 -0
  251. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.d.ts.map +1 -0
  252. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfPointInCubeCoordSystemFromVecPath.js +753 -0
  253. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.d.ts +12 -0
  254. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.d.ts.map +1 -0
  255. package/lib/exercises/math/spaceGeometry/basis/spaceCoordinatesOfVectorInCubeCoordSystem.js +546 -0
  256. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.d.ts +13 -0
  257. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.d.ts.map +1 -0
  258. package/lib/exercises/math/spaceGeometry/basis/spaceVectorLinearCombinationFromCoords.js +233 -0
  259. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.d.ts +11 -0
  260. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.d.ts.map +1 -0
  261. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromCoords.js +192 -0
  262. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.d.ts +15 -0
  263. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.d.ts.map +1 -0
  264. package/lib/exercises/math/spaceGeometry/collinearity/checkAlignedSpacePointsFromVecPathsFromCubeOuterPoints.js +511 -0
  265. package/lib/exercises/math/spaceGeometry/collinearity/index.d.ts +3 -0
  266. package/lib/exercises/math/spaceGeometry/collinearity/index.d.ts.map +1 -0
  267. package/lib/exercises/math/spaceGeometry/collinearity/index.js +2 -0
  268. package/lib/exercises/math/spaceGeometry/index.d.ts +5 -0
  269. package/lib/exercises/math/spaceGeometry/index.d.ts.map +1 -1
  270. package/lib/exercises/math/spaceGeometry/index.js +5 -1
  271. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.d.ts +22 -0
  272. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.d.ts.map +1 -0
  273. package/lib/exercises/math/spaceGeometry/orthogonalProjection/findOrthogonalProjectionOfPointOnPlane.js +366 -0
  274. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.d.ts +2 -0
  275. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.d.ts.map +1 -0
  276. package/lib/exercises/math/spaceGeometry/orthogonalProjection/index.js +2 -0
  277. package/lib/exercises/math/spaceGeometry/parametricLine/index.d.ts +3 -0
  278. package/lib/exercises/math/spaceGeometry/parametricLine/index.d.ts.map +1 -0
  279. package/lib/exercises/math/spaceGeometry/parametricLine/index.js +2 -0
  280. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.d.ts +14 -0
  281. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.d.ts.map +1 -0
  282. package/lib/exercises/math/spaceGeometry/parametricLine/lineLineRelativePositionsFromParametricLines.js +325 -0
  283. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.d.ts +13 -0
  284. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.d.ts.map +1 -0
  285. package/lib/exercises/math/spaceGeometry/parametricLine/parametricLineFromPointAndDirectionVector.js +181 -0
  286. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.d.ts +10 -0
  287. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.d.ts.map +1 -0
  288. package/lib/exercises/math/spaceGeometry/planes/checkIsPointBelongingToPlane.js +208 -0
  289. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.d.ts +8 -0
  290. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.d.ts.map +1 -0
  291. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlaneEquation.js +255 -0
  292. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.d.ts +10 -0
  293. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.d.ts.map +1 -0
  294. package/lib/exercises/math/spaceGeometry/planes/findNormalVectorFromPlanePointsCoords.js +232 -0
  295. package/lib/exercises/math/spaceGeometry/planes/index.d.ts +5 -1
  296. package/lib/exercises/math/spaceGeometry/planes/index.d.ts.map +1 -1
  297. package/lib/exercises/math/spaceGeometry/planes/index.js +6 -2
  298. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.d.ts +10 -0
  299. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.d.ts.map +1 -0
  300. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromNormalVectorAndContainedPoint.js +273 -0
  301. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.d.ts +12 -0
  302. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.d.ts.map +1 -0
  303. package/lib/exercises/math/spaceGeometry/planes/planeEquationFromOrthogonalLineAndContainedPoint.js +398 -0
  304. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.d.ts +22 -0
  305. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.d.ts.map +1 -0
  306. package/lib/exercises/math/spaceGeometry/planes/planePlaneRelativePositions.js +509 -0
  307. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.d.ts +8 -0
  308. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.d.ts.map +1 -0
  309. package/lib/exercises/math/spaceGeometry/scalarProduct/angleFromScalarProductFromSpacePointCoords.js +229 -0
  310. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.d.ts +9 -0
  311. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.d.ts.map +1 -0
  312. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalLinesFromParametricReps.js +200 -0
  313. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.d.ts +8 -0
  314. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.d.ts.map +1 -0
  315. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsOrthogonalSpaceVecsFromCoords.js +176 -0
  316. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.d.ts +9 -0
  317. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.d.ts.map +1 -0
  318. package/lib/exercises/math/spaceGeometry/scalarProduct/checkIsSpaceVecOrthogonalToPlaneFromCoords.js +263 -0
  319. package/lib/exercises/math/spaceGeometry/scalarProduct/index.d.ts +6 -0
  320. package/lib/exercises/math/spaceGeometry/scalarProduct/index.d.ts.map +1 -0
  321. package/lib/exercises/math/spaceGeometry/scalarProduct/index.js +6 -0
  322. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.d.ts +14 -0
  323. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.d.ts.map +1 -0
  324. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromCubeOuterPoints.js +497 -0
  325. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.d.ts +8 -0
  326. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.d.ts.map +1 -0
  327. package/lib/exercises/math/spaceGeometry/scalarProduct/scalarProductFromSpacePointCoords.js +173 -0
  328. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.d.ts +10 -0
  329. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.d.ts.map +1 -0
  330. package/lib/exercises/math/spaceGeometry/vectors/findLinearDecompositionWrtCoplanarUVFromCoords.js +236 -0
  331. package/lib/exercises/math/spaceGeometry/vectors/index.d.ts +2 -0
  332. package/lib/exercises/math/spaceGeometry/vectors/index.d.ts.map +1 -1
  333. package/lib/exercises/math/spaceGeometry/vectors/index.js +2 -0
  334. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.d.ts +8 -0
  335. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.d.ts.map +1 -0
  336. package/lib/exercises/math/spaceGeometry/vectors/spacePointsDistanceCalculation.js +156 -0
  337. package/lib/exercises/math/trigonometry/functions/index.d.ts +1 -0
  338. package/lib/exercises/math/trigonometry/functions/index.d.ts.map +1 -1
  339. package/lib/exercises/math/trigonometry/functions/index.js +1 -0
  340. package/lib/exercises/utils/data/randomDataTable.d.ts +4 -1
  341. package/lib/exercises/utils/data/randomDataTable.d.ts.map +1 -1
  342. package/lib/exercises/utils/data/randomDataTable.js +1 -2
  343. package/lib/exercises/vea/varLineVEA.d.ts.map +1 -1
  344. package/lib/exercises/vea/varLineVEA.js +15 -2
  345. package/lib/exercises/vea/xTableLineVEA.d.ts.map +1 -1
  346. package/lib/exercises/vea/xTableLineVEA.js +13 -2
  347. package/lib/index.d.ts +539 -34
  348. package/lib/index.d.ts.map +1 -1
  349. package/lib/latexTester.d.ts.map +1 -1
  350. package/lib/latexTester.js +9 -7
  351. package/lib/math/geometry/parametricLine.d.ts +1 -1
  352. package/lib/math/geometry/parametricLine.d.ts.map +1 -1
  353. package/lib/math/geometry/parametricLine.js +2 -2
  354. package/lib/math/geometry/spaceVector.d.ts +11 -1
  355. package/lib/math/geometry/spaceVector.d.ts.map +1 -1
  356. package/lib/math/geometry/spaceVector.js +18 -4
  357. package/lib/math/probability/randomVariable.d.ts +3 -2
  358. package/lib/math/probability/randomVariable.d.ts.map +1 -1
  359. package/lib/math/probability/randomVariable.js +14 -8
  360. package/lib/math/systems/generalSystem.d.ts +3 -3
  361. package/lib/math/systems/generalSystem.d.ts.map +1 -1
  362. package/lib/math/systems/generalSystem.js +20 -17
  363. package/lib/math/utils/functions/functionComparison.d.ts.map +1 -1
  364. package/lib/math/utils/functions/functionComparison.js +2 -45
  365. package/lib/math/utils/functions/functionComposition.d.ts +3 -1
  366. package/lib/math/utils/functions/functionComposition.d.ts.map +1 -1
  367. package/lib/math/utils/functions/functionComposition.js +17 -17
  368. package/lib/math/utils/integration/rectanglesMethod.d.ts +6 -0
  369. package/lib/math/utils/integration/rectanglesMethod.d.ts.map +1 -0
  370. package/lib/math/utils/integration/rectanglesMethod.js +66 -0
  371. package/lib/math/utils/polynomial/polynomialUtils.d.ts +9 -1
  372. package/lib/math/utils/polynomial/polynomialUtils.d.ts.map +1 -1
  373. package/lib/math/utils/polynomial/polynomialUtils.js +66 -7
  374. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts +34 -2
  375. package/lib/math/utils/sequences/situations/seqGeometricSituations.d.ts.map +1 -1
  376. package/lib/math/utils/sequences/situations/seqGeometricSituations.js +288 -47
  377. package/lib/tests/questionTest.d.ts.map +1 -1
  378. package/lib/tests/questionTest.js +5 -2
  379. package/lib/tests/singleExo.test.js +2 -2
  380. package/lib/tree/nodes/functions/cosNode.d.ts +1 -1
  381. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  382. package/lib/tree/nodes/functions/cosNode.js +5 -2
  383. package/lib/tree/nodes/functions/factorialNode.d.ts +1 -0
  384. package/lib/tree/nodes/functions/factorialNode.d.ts.map +1 -1
  385. package/lib/tree/nodes/functions/factorialNode.js +16 -1
  386. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  387. package/lib/tree/nodes/functions/logNode.js +2 -1
  388. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +2 -0
  389. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  390. package/lib/tree/nodes/operators/binomialCoefficientNode.js +34 -0
  391. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  392. package/lib/tree/nodes/sets/discreteSetNode.js +1 -0
  393. package/lib/tree/utilities/nodeComparator.d.ts +7 -0
  394. package/lib/tree/utilities/nodeComparator.d.ts.map +1 -1
  395. package/lib/tree/utilities/nodeComparator.js +59 -0
  396. package/lib/tree/utilities/nodeInspector.d.ts +2 -0
  397. package/lib/tree/utilities/nodeInspector.d.ts.map +1 -1
  398. package/lib/tree/utilities/nodeInspector.js +23 -1
  399. package/lib/tree/utilities/nodeRewriter.d.ts.map +1 -1
  400. package/lib/tree/utilities/nodeRewriter.js +4 -1
  401. package/lib/types/keyIds.d.ts +1 -1
  402. package/lib/types/keyIds.d.ts.map +1 -1
  403. package/lib/utils/strings/splitAndKeep.d.ts +2 -0
  404. package/lib/utils/strings/splitAndKeep.d.ts.map +1 -0
  405. package/lib/utils/strings/splitAndKeep.js +13 -0
  406. package/package.json +1 -1
@@ -0,0 +1,622 @@
1
+ import { GeneratorOptionTarget, GeneratorOptionType, addValidProp, propWhile, shuffleProps, tryToAddWrongProp, } from "../../../../exercises/exercise.js";
2
+ import { getDistinctQuestions } from "../../../../exercises/utils/getDistinctQuestions.js";
3
+ import { randint } from "../../../../math/utils/random/randint.js";
4
+ import { exp } from "../../../../tree/nodes/functions/expNode.js";
5
+ import { LogNode } from "../../../../tree/nodes/functions/logNode.js";
6
+ import { multiply } from "../../../../tree/nodes/operators/multiplyNode.js";
7
+ import { VariableNode } from "../../../../tree/nodes/variables/variableNode.js";
8
+ import { add } from "../../../../tree/nodes/operators/addNode.js";
9
+ import { substract } from "../../../../tree/nodes/operators/substractNode.js";
10
+ import { frac } from "../../../../tree/nodes/operators/fractionNode.js";
11
+ import { alignTex } from "../../../../utils/latex/alignTex.js";
12
+ import { splitAndKeep } from "../../../../utils/strings/splitAndKeep.js";
13
+ import { IntervalNode } from "../../../../tree/nodes/sets/intervalNode.js";
14
+ import { random } from "../../../../utils/alea/random.js";
15
+ import { NodeConstructor, } from "../../../../tree/nodes/nodeConstructor.js";
16
+ import { InequationNode } from "../../../../tree/nodes/inequations/inequationNode.js";
17
+ import { handleVEAError } from "../../../../utils/errors/handleVEAError.js";
18
+ import { defaultArrayedOptsWhereNeeded } from "../../../../exercises/utils/options/arrayedOptions.js";
19
+ import { sqrt } from "../../../../tree/nodes/functions/sqrtNode.js";
20
+ import { MinusInfinityNode, PlusInfinityNode, } from "../../../../tree/nodes/numbers/infiniteNode.js";
21
+ import { ClosureType } from "../../../../tree/nodes/sets/closure.js";
22
+ import { opposite } from "../../../../tree/nodes/functions/oppositeNode.js";
23
+ import { square } from "../../../../tree/nodes/operators/powerNode.js";
24
+ import { EmptySet } from "../../../../tree/nodes/sets/discreteSetNode.js";
25
+ import { coinFlip } from "../../../../utils/alea/coinFlip.js";
26
+ import { abs } from "../../../../tree/nodes/functions/absNode.js";
27
+ import { intervalParser } from "../../../../tree/parsers/intervalParser.js";
28
+ import { zip } from "../../../../utils/arrays/arrayZip.js";
29
+ import { NodeComparator } from "../../../../tree/utilities/nodeComparator.js";
30
+ const createDictNodeIds = (dictNode) => {
31
+ return Object.entries(dictNode).reduce((acc, [key, node]) => {
32
+ const nodeIds = node.toIdentifiers();
33
+ return { ...acc, [key]: nodeIds };
34
+ }, {});
35
+ };
36
+ const createDictNode = (dictNodeIds) => {
37
+ return Object.entries(dictNodeIds).reduce((acc, [key, nodeIds]) => {
38
+ const node = NodeConstructor.fromIdentifiers(nodeIds);
39
+ return { ...acc, [key]: node };
40
+ }, {});
41
+ };
42
+ const getHydrated = (identifiers) => {
43
+ const { nodeIdsF, typeF, dictNodeIds } = identifiers;
44
+ const nodeF = NodeConstructor.fromIdentifiers(nodeIdsF);
45
+ const dictNode = createDictNode(dictNodeIds);
46
+ const nodeVarX = new VariableNode("x");
47
+ const [arrNodeIneq, nodeInterval] = (() => {
48
+ switch (typeF) {
49
+ case "$x \\mapsto k(x-a)$": {
50
+ const { k: nodeK, a: nodeA } = dictNode;
51
+ const nodeXMinusA = substract(nodeVarX, nodeA).simplify();
52
+ const arrNodeIneq = [
53
+ new InequationNode([nodeF, (0).toTree()], ">"),
54
+ new InequationNode([nodeXMinusA, (0).toTree()], nodeK.evaluate() > 0 ? ">" : "<"),
55
+ new InequationNode([nodeVarX, nodeA], nodeK.evaluate() > 0 ? ">" : "<"),
56
+ ];
57
+ const nodeInterval = (() => {
58
+ const [nodeIneq] = arrNodeIneq.slice(-1);
59
+ return nodeIneq.toInterval();
60
+ })();
61
+ return [arrNodeIneq, nodeInterval];
62
+ }
63
+ case "$x \\mapsto k(x-a)(x-b)$": {
64
+ const { k: nodeK, a: nodeA, b: nodeB } = dictNode;
65
+ const nodeXMinusA = substract(nodeVarX, nodeA).simplify();
66
+ const nodeXMinusB = substract(nodeVarX, nodeB).simplify();
67
+ const arrNodeIneq = (() => {
68
+ return [
69
+ new InequationNode([nodeF, (0).toTree()], ">"),
70
+ new InequationNode([multiply(nodeXMinusA, nodeXMinusB), (0).toTree()], nodeK.evaluate() > 0 ? ">" : "<"),
71
+ ];
72
+ })();
73
+ const nodeInterval = (() => {
74
+ const [nodeRoot1, nodeRoot2] = [nodeA, nodeB].toSorted((node1, node2) => node1.evaluate() - node2.evaluate());
75
+ if (nodeK.evaluate() > 0) {
76
+ return new IntervalNode(MinusInfinityNode, nodeRoot1, ClosureType.OO).union(new IntervalNode(nodeRoot2, PlusInfinityNode, ClosureType.OO));
77
+ }
78
+ else {
79
+ return new IntervalNode(nodeRoot1, nodeRoot2, ClosureType.OO);
80
+ }
81
+ })();
82
+ return [arrNodeIneq, nodeInterval];
83
+ }
84
+ case "$x \\mapsto k(x-a)(x-b)(x-c)$": {
85
+ const { k: nodeK, a: nodeA, b: nodeB, c: nodeC } = dictNode;
86
+ const nodeXMinusA = substract(nodeVarX, nodeA).simplify();
87
+ const nodeXMinusB = substract(nodeVarX, nodeB).simplify();
88
+ const nodeXMinusC = substract(nodeVarX, nodeC).simplify();
89
+ const arrNodeIneq = (() => {
90
+ return [
91
+ new InequationNode([nodeF, (0).toTree()], ">"),
92
+ new InequationNode([
93
+ multiply(nodeXMinusA, multiply(nodeXMinusB, nodeXMinusC)),
94
+ (0).toTree(),
95
+ ], nodeK.evaluate() > 0 ? ">" : "<"),
96
+ ];
97
+ })();
98
+ const nodeInterval = (() => {
99
+ const [nodeRoot1, nodeRoot2, nodeRoot3] = [
100
+ nodeA,
101
+ nodeB,
102
+ nodeC,
103
+ ].toSorted((node1, node2) => node1.evaluate() - node2.evaluate());
104
+ if (nodeK.evaluate() > 0) {
105
+ return new IntervalNode(nodeRoot1, nodeRoot2, ClosureType.OO).union(new IntervalNode(nodeRoot3, PlusInfinityNode, ClosureType.OO));
106
+ }
107
+ else {
108
+ return new IntervalNode(MinusInfinityNode, nodeRoot1, ClosureType.OO).union(new IntervalNode(nodeRoot2, nodeRoot3, ClosureType.OO));
109
+ }
110
+ })();
111
+ return [arrNodeIneq, nodeInterval];
112
+ }
113
+ case "$x \\mapsto a \\sqrt{x} + b$": {
114
+ const { a: nodeA, b: nodeB } = dictNode;
115
+ const nodeG = sqrt(nodeVarX);
116
+ const nodeLhs = multiply(nodeA, nodeG).simplify();
117
+ //a sqrt(x) + b > 0
118
+ //a sqrt(x) > -b
119
+ //a > 0 :
120
+ // sqrt(x) > -b/a
121
+ // x > (-b/a)^2
122
+ const arrNodeIneq = [
123
+ new InequationNode([nodeF, (0).toTree()], ">"),
124
+ new InequationNode([nodeLhs, opposite(nodeB)], ">"),
125
+ new InequationNode([nodeG, frac(opposite(nodeB), nodeA).simplify()], nodeA.evaluate() > 0 ? ">" : "<"),
126
+ new InequationNode([nodeVarX, square(frac(opposite(nodeB), nodeA).simplify())], nodeA.evaluate() > 0 ? ">" : "<"),
127
+ ];
128
+ const nodeInterval = (() => {
129
+ const [nodeIneq] = arrNodeIneq.slice(-1);
130
+ return nodeIneq.toInterval();
131
+ })();
132
+ return [arrNodeIneq, nodeInterval];
133
+ }
134
+ case "$x \\mapsto a \\ln(x) + b$": {
135
+ const { a: nodeA, b: nodeB } = dictNode;
136
+ const nodeG = new LogNode(nodeVarX);
137
+ const nodeLhs = multiply(nodeA, nodeG).simplify();
138
+ //a ln(x) + b > 0
139
+ //a ln(x) > -b
140
+ //a > 0 :
141
+ // ln(x) > -b/a
142
+ // x > exp(-b/a) && 0 < x
143
+ const arrNodeIneq = [
144
+ new InequationNode([nodeF, (0).toTree()], ">"),
145
+ new InequationNode([nodeLhs, opposite(nodeB)], ">"),
146
+ new InequationNode([nodeG, frac(opposite(nodeB), nodeA).simplify()], nodeA.evaluate() > 0 ? ">" : "<"),
147
+ nodeA.evaluate() > 0
148
+ ? new InequationNode([nodeVarX, exp(frac(opposite(nodeB), nodeA).simplify())], ">")
149
+ : new InequationNode([
150
+ (0).toTree(),
151
+ nodeVarX,
152
+ exp(frac(opposite(nodeB), nodeA).simplify()),
153
+ ], "<"),
154
+ ];
155
+ const nodeInterval = (() => {
156
+ const [nodeIneq] = arrNodeIneq.slice(-1);
157
+ return nodeIneq.toInterval();
158
+ })();
159
+ return [arrNodeIneq, nodeInterval];
160
+ }
161
+ case "$x \\mapsto a e^{x} + b$": {
162
+ const { a: nodeA, b: nodeB } = dictNode;
163
+ const nodeG = exp(nodeVarX);
164
+ const nodeLhs = multiply(nodeA, nodeG).simplify();
165
+ //a exp(x) + b > 0
166
+ //a exp(x) > -b
167
+ //a > 0 :
168
+ // exp(x) > -b/a
169
+ // x in \\mathbb{R}
170
+ //a < 0 :
171
+ // exp(x) < -b/a
172
+ //b > 0 : x < ln(-b/a)
173
+ //b < 0 : x in varnothing
174
+ const arrNodeIneq = [
175
+ new InequationNode([nodeF, (0).toTree()], ">"),
176
+ new InequationNode([nodeLhs, opposite(nodeB).simplify()], ">"),
177
+ new InequationNode([nodeG, frac(opposite(nodeB), nodeA).simplify()], nodeA.evaluate() > 0 ? ">" : "<"),
178
+ ...(() => {
179
+ if (nodeA.evaluate() > 0) {
180
+ if (nodeB.evaluate() > 0) {
181
+ return [];
182
+ }
183
+ else {
184
+ return [
185
+ new InequationNode([
186
+ nodeVarX,
187
+ new LogNode(frac(opposite(nodeB), nodeA).simplify()),
188
+ ], nodeA.evaluate() > 0 ? ">" : "<"),
189
+ ];
190
+ }
191
+ }
192
+ else {
193
+ if (nodeB.evaluate() > 0) {
194
+ return [
195
+ new InequationNode([
196
+ nodeVarX,
197
+ new LogNode(frac(opposite(nodeB), nodeA).simplify()),
198
+ ], nodeA.evaluate() > 0 ? ">" : "<"),
199
+ ];
200
+ }
201
+ else {
202
+ return [];
203
+ }
204
+ }
205
+ })(),
206
+ ];
207
+ const nodeInterval = (() => {
208
+ if (nodeA.evaluate() > 0) {
209
+ if (nodeB.evaluate() > 0) {
210
+ return new IntervalNode(MinusInfinityNode, PlusInfinityNode, ClosureType.OO);
211
+ }
212
+ else {
213
+ const [nodeIneq] = arrNodeIneq.slice(-1);
214
+ return nodeIneq.toInterval();
215
+ }
216
+ }
217
+ else {
218
+ if (nodeB.evaluate() > 0) {
219
+ const [nodeIneq] = arrNodeIneq.slice(-1);
220
+ return nodeIneq.toInterval();
221
+ }
222
+ else {
223
+ return EmptySet;
224
+ }
225
+ }
226
+ })();
227
+ return [arrNodeIneq, nodeInterval];
228
+ }
229
+ case "$x \\mapsto \\frac{a}{x} + b$": {
230
+ const { a: nodeA, b: nodeB } = dictNode;
231
+ const nodeLhs = frac(nodeA, nodeVarX);
232
+ //a / x + b > 0
233
+ //a / x > -b
234
+ //a > 0 :
235
+ // 1/x > -b/a
236
+ // x < a/(-b)
237
+ const arrNodeIneq = [
238
+ new InequationNode([nodeF, (0).toTree()], ">"),
239
+ new InequationNode([nodeLhs, opposite(nodeB)], ">"),
240
+ new InequationNode([frac(1, nodeVarX), frac(opposite(nodeB), nodeA).simplify()], nodeA.evaluate() > 0 ? ">" : "<"),
241
+ new InequationNode([nodeVarX, frac(nodeA, opposite(nodeB)).simplify()], nodeA.evaluate() > 0 ? "<" : ">"),
242
+ ];
243
+ const nodeInterval = (() => {
244
+ const [nodeIneq] = arrNodeIneq.slice(-1);
245
+ return nodeIneq.toInterval();
246
+ })();
247
+ return [arrNodeIneq, nodeInterval];
248
+ }
249
+ default:
250
+ throw new Error("Unsupported typeF: " + typeF);
251
+ }
252
+ })();
253
+ return {
254
+ nodeF,
255
+ dictNode,
256
+ typeF,
257
+ arrNodeIneq,
258
+ nodeInterval,
259
+ };
260
+ };
261
+ const getInstruction = (identifiers) => {
262
+ const { nodeIdsF } = identifiers;
263
+ const nodeF = NodeConstructor.fromIdentifiers(nodeIdsF);
264
+ return `Déterminer l'ensemble de définition de la fonction $h$ définie par :
265
+
266
+ $$
267
+ h(x) = \\ln(${nodeF.toTex()})
268
+ $$`;
269
+ };
270
+ const getAnswer = (identifiers) => {
271
+ const { nodeInterval } = getHydrated(identifiers);
272
+ return nodeInterval.toTex();
273
+ };
274
+ const getHint = (identifiers) => {
275
+ const { nodeIdsF } = identifiers;
276
+ const nodeF = NodeConstructor.fromIdentifiers(nodeIdsF);
277
+ return `La fonction $x \\mapsto \\ln(x)$ est définie sur $]0;+\\infty[$.
278
+ Détermine donc les intervalles sur lesquels $x \\mapsto ${nodeF.toTex()}$ est strictement positive.`;
279
+ };
280
+ const getCorrection = (identifiers) => {
281
+ const { nodeF, arrNodeIneq, nodeInterval } = getHydrated(identifiers);
282
+ return `La fonction $x \\mapsto \\ln(x)$ est définie sur $]0;+\\infty[$.
283
+ On va donc déterminer les intervalles sur lesquels $x \\mapsto ${nodeF.toTex()}$ est strictement positive.
284
+
285
+ ${alignTex(arrNodeIneq.map((nodeIneq, i) => {
286
+ const texPrefix = i === 0 ? "\\ \\ " : "\\Leftrightarrow";
287
+ const [ineqSymbol] = nodeIneq.symbols;
288
+ return [texPrefix, ...splitAndKeep(nodeIneq.toTex(), ineqSymbol)];
289
+ }))}
290
+
291
+ L'ensemble de définition de $h$ est donc :
292
+
293
+ $$
294
+ ${nodeInterval.toTex()}
295
+ $$
296
+
297
+ `;
298
+ };
299
+ const getPropositions = (n, { answer, ...identifiers }) => {
300
+ const propositions = [];
301
+ addValidProp(propositions, answer);
302
+ const { dictNode, typeF } = getHydrated(identifiers);
303
+ //student: ln(f(x)) -> ln(x)
304
+ {
305
+ const nodeIntervalWrong = new IntervalNode((0).toTree(), PlusInfinityNode, ClosureType.OO);
306
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
307
+ }
308
+ const { k: nodeK, a: nodeA, b: nodeB, c: nodeC } = dictNode;
309
+ //function-specific
310
+ {
311
+ switch (typeF) {
312
+ case "$x \\mapsto k(x-a)$":
313
+ {
314
+ const dictNodeWrong = {
315
+ ...dictNode,
316
+ k: opposite(nodeK).simplify(),
317
+ };
318
+ const identifiersWrong = {
319
+ ...identifiers,
320
+ dictNodeIds: createDictNodeIds(dictNodeWrong),
321
+ };
322
+ const { nodeInterval: nodeIntervalWrong } = getHydrated(identifiersWrong);
323
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
324
+ }
325
+ break;
326
+ case "$x \\mapsto k(x-a)(x-b)$":
327
+ case "$x \\mapsto k(x-a)(x-b)(x-c)$":
328
+ {
329
+ {
330
+ const dictNodeWrong = {
331
+ ...dictNode,
332
+ k: opposite(nodeK).simplify(),
333
+ };
334
+ const identifiersWrong = {
335
+ ...identifiers,
336
+ dictNodeIds: createDictNodeIds(dictNodeWrong),
337
+ };
338
+ const { nodeInterval: nodeIntervalWrong } = getHydrated(identifiersWrong);
339
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
340
+ }
341
+ {
342
+ const dictNodeWrong = {
343
+ ...dictNode,
344
+ ...(nodeA ? { a: abs(nodeA).simplify() } : {}),
345
+ ...(nodeB ? { b: abs(nodeB).simplify() } : {}),
346
+ ...(nodeC ? { c: abs(nodeC).simplify() } : {}),
347
+ };
348
+ const identifiersWrong = {
349
+ ...identifiers,
350
+ dictNodeIds: createDictNodeIds(dictNodeWrong),
351
+ };
352
+ const { nodeInterval: nodeIntervalWrong } = getHydrated(identifiersWrong);
353
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
354
+ }
355
+ {
356
+ const dictNodeWrong = {
357
+ ...dictNode,
358
+ k: opposite(nodeK).simplify(),
359
+ ...(nodeA ? { a: abs(nodeA).simplify() } : {}),
360
+ ...(nodeB ? { b: abs(nodeB).simplify() } : {}),
361
+ ...(nodeC ? { c: abs(nodeC).simplify() } : {}),
362
+ };
363
+ const identifiersWrong = {
364
+ ...identifiers,
365
+ dictNodeIds: createDictNodeIds(dictNodeWrong),
366
+ };
367
+ const { nodeInterval: nodeIntervalWrong } = getHydrated(identifiersWrong);
368
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
369
+ }
370
+ }
371
+ break;
372
+ default:
373
+ break;
374
+ }
375
+ }
376
+ //messing with coeffs
377
+ {
378
+ const identityOrOpposite = (node) => coinFlip() ? node : opposite(node).simplify();
379
+ [...Array(16).keys()].forEach(() => {
380
+ const dictNodeWrong = {
381
+ ...dictNode,
382
+ ...(nodeK ? { k: identityOrOpposite(nodeK) } : {}),
383
+ ...(nodeA ? { a: identityOrOpposite(nodeA) } : {}),
384
+ ...(nodeB ? { b: identityOrOpposite(nodeB) } : {}),
385
+ ...(nodeC ? { c: identityOrOpposite(nodeC) } : {}),
386
+ };
387
+ const identifiersWrong = {
388
+ ...identifiers,
389
+ dictNodeIds: createDictNodeIds(dictNodeWrong),
390
+ };
391
+ const { nodeInterval: nodeIntervalWrong } = getHydrated(identifiersWrong);
392
+ if (propositions.length < n) {
393
+ tryToAddWrongProp(propositions, nodeIntervalWrong.toTex());
394
+ }
395
+ });
396
+ }
397
+ //filler
398
+ {
399
+ propWhile(propositions, n, () => {
400
+ const identifiersWrong = createRandomIdentifiers(typeF);
401
+ tryToAddWrongProp(propositions, getAnswer(identifiersWrong));
402
+ });
403
+ }
404
+ return shuffleProps(propositions, n);
405
+ };
406
+ const getKeys = () => {
407
+ return [
408
+ "x",
409
+ "equal",
410
+ "lnBrackets",
411
+ "e",
412
+ "epower",
413
+ "lbracket",
414
+ "S",
415
+ "semicolon",
416
+ "rbracket",
417
+ "varnothing",
418
+ "infty",
419
+ ];
420
+ };
421
+ const isAnswerValid = (ans, { answer }) => {
422
+ try {
423
+ //S=\ \varnothing
424
+ {
425
+ const answerRefined = answer.replace("\\ ", "");
426
+ if (ans === answerRefined) {
427
+ return true;
428
+ }
429
+ }
430
+ //else
431
+ const [arrNodeIntervalAns, arrNodeIntervalAnswer] = [ans, answer].map((str) => {
432
+ const arrStrInterval = str.split("\\cup");
433
+ const arrNodeInterval = arrStrInterval.map((str) => intervalParser(str));
434
+ return arrNodeInterval;
435
+ });
436
+ if (arrNodeIntervalAns.length !== arrNodeIntervalAnswer.length) {
437
+ return false;
438
+ }
439
+ if (arrNodeIntervalAns.some((elt) => elt === false) ||
440
+ arrNodeIntervalAnswer.some((elt) => elt === false)) {
441
+ return false;
442
+ }
443
+ // console.log(
444
+ // "arrNodeIntervalAns",
445
+ // (arrNodeIntervalAns as IntervalNode[]).map((nodeInterval) => {
446
+ // return {
447
+ // a: nodeInterval.a.toTex(),
448
+ // b: nodeInterval.b.toTex(),
449
+ // };
450
+ // }),
451
+ // );
452
+ // console.log(
453
+ // "arrNodeIntervalAnswer",
454
+ // (arrNodeIntervalAnswer as IntervalNode[]).map((nodeInterval) => {
455
+ // return {
456
+ // a: nodeInterval.a.toTex(),
457
+ // b: nodeInterval.b.toTex(),
458
+ // };
459
+ // }),
460
+ // );
461
+ return zip(arrNodeIntervalAns, arrNodeIntervalAnswer).every(([nodeIntervalAns, nodeIntervalAnswer]) => {
462
+ return zip([nodeIntervalAns.a, nodeIntervalAns.b], [nodeIntervalAnswer.a, nodeIntervalAnswer.b]).every(([nodeAns, nodeAnswer]) => NodeComparator.isEqualViaSub(nodeAns, nodeAnswer) ||
463
+ NodeComparator.isEqualViaFrac(nodeAns, nodeAnswer));
464
+ });
465
+ }
466
+ catch (e) {
467
+ handleVEAError(e);
468
+ return false;
469
+ }
470
+ };
471
+ const createRandomIdentifiers = (typeF) => {
472
+ const nodeVarX = new VariableNode("x");
473
+ const [nodeF, dictNode] = (() => {
474
+ switch (typeF) {
475
+ case "$x \\mapsto k(x-a)$": {
476
+ const k = randint(-8, 9, [0, 1]);
477
+ const a = randint(-10, 11, [0]);
478
+ const nodeF = multiply(k, substract(nodeVarX, a).simplify());
479
+ const dictNode = {
480
+ k: k.toTree(),
481
+ a: a.toTree(),
482
+ };
483
+ return [nodeF, dictNode];
484
+ }
485
+ case "$x \\mapsto k(x-a)(x-b)$": {
486
+ const k = randint(-8, 9, [0, 1]);
487
+ const a = randint(-10, 11, [0]);
488
+ const b = randint(-10, 11, [0, a]);
489
+ const nodeF = multiply(k, multiply(substract(nodeVarX, a).simplify(), substract(nodeVarX, b).simplify()));
490
+ const dictNode = {
491
+ k: k.toTree(),
492
+ a: a.toTree(),
493
+ b: b.toTree(),
494
+ };
495
+ return [nodeF, dictNode];
496
+ }
497
+ case "$x \\mapsto k(x-a)(x-b)(x-c)$": {
498
+ const k = randint(-8, 9, [0, 1]);
499
+ const a = randint(-10, 11, [0]);
500
+ const b = randint(-10, 11, [0, a]);
501
+ const c = randint(-10, 11, [0, a, b]);
502
+ const nodeF = multiply(k, multiply(substract(nodeVarX, a).simplify(), multiply(substract(nodeVarX, b).simplify(), substract(nodeVarX, c).simplify())));
503
+ const dictNode = {
504
+ k: k.toTree(),
505
+ a: a.toTree(),
506
+ b: b.toTree(),
507
+ c: c.toTree(),
508
+ };
509
+ return [nodeF, dictNode];
510
+ }
511
+ case "$x \\mapsto a \\sqrt{x} + b$": {
512
+ const a = randint(-8, 9, [0, 1]);
513
+ const b = randint(-10, 11, [0, a]);
514
+ const nodeF = add(multiply(a, sqrt(nodeVarX)), b);
515
+ const dictNode = {
516
+ a: a.toTree(),
517
+ b: b.toTree(),
518
+ };
519
+ return [nodeF, dictNode];
520
+ }
521
+ case "$x \\mapsto a \\ln(x) + b$": {
522
+ const a = randint(-8, 9, [0, 1]);
523
+ const b = randint(-10, 11, [0, a]);
524
+ const nodeF = add(multiply(a, new LogNode(nodeVarX)), b);
525
+ const dictNode = {
526
+ a: a.toTree(),
527
+ b: b.toTree(),
528
+ };
529
+ return [nodeF, dictNode];
530
+ }
531
+ case "$x \\mapsto a e^{x} + b$": {
532
+ const a = randint(-8, 9, [0, 1]);
533
+ const b = randint(-10, 11, [0, a]);
534
+ const nodeF = add(multiply(a, exp(nodeVarX)), b);
535
+ const dictNode = {
536
+ a: a.toTree(),
537
+ b: b.toTree(),
538
+ };
539
+ return [nodeF, dictNode];
540
+ }
541
+ case "$x \\mapsto \\frac{a}{x} + b$": {
542
+ const a = randint(-8, 9, [0, 1]);
543
+ const b = randint(-10, 11, [0, a]);
544
+ const nodeF = add(frac(a, nodeVarX), b);
545
+ const dictNode = {
546
+ a: a.toTree(),
547
+ b: b.toTree(),
548
+ };
549
+ return [nodeF, dictNode];
550
+ }
551
+ default:
552
+ throw new Error("Unsupported typeF: " + typeF);
553
+ }
554
+ })();
555
+ const dictNodeIds = createDictNodeIds(dictNode);
556
+ const identifiers = {
557
+ dictNodeIds,
558
+ nodeIdsF: nodeF.toIdentifiers(),
559
+ typeF,
560
+ };
561
+ return identifiers;
562
+ };
563
+ const getFindLargestPossibleDomainOfLogFQuestion = (optsIn) => {
564
+ const arrayedOpts = defaultArrayedOptsWhereNeeded(optsIn, arrayedOptsDefault);
565
+ const opts = {
566
+ typeF: random(arrayedOpts.typeF),
567
+ };
568
+ const identifiers = createRandomIdentifiers(opts.typeF);
569
+ return getQuestionFromIdentifiers(identifiers);
570
+ };
571
+ const getQuestionFromIdentifiers = (identifiers) => {
572
+ const question = {
573
+ instruction: getInstruction(identifiers),
574
+ answer: getAnswer(identifiers),
575
+ keys: getKeys(identifiers),
576
+ answerFormat: "tex",
577
+ identifiers,
578
+ hint: getHint(identifiers),
579
+ correction: getCorrection(identifiers),
580
+ };
581
+ return question;
582
+ };
583
+ const arrayedOptsDefault = {
584
+ typeF: [
585
+ "$x \\mapsto k(x-a)$",
586
+ "$x \\mapsto k(x-a)(x-b)$",
587
+ "$x \\mapsto a \\sqrt{x} + b$",
588
+ ],
589
+ };
590
+ const options = [
591
+ {
592
+ id: "typeF",
593
+ label: "Type de fonction",
594
+ target: GeneratorOptionTarget.generation,
595
+ type: GeneratorOptionType.multiselect,
596
+ values: [
597
+ "$x \\mapsto k(x-a)$",
598
+ "$x \\mapsto k(x-a)(x-b)$",
599
+ "$x \\mapsto k(x-a)(x-b)(x-c)$",
600
+ "$x \\mapsto a \\sqrt{x} + b$",
601
+ "$x \\mapsto a \\ln(x) + b$",
602
+ "$x \\mapsto a e^{x} + b$",
603
+ "$x \\mapsto \\frac{a}{x} + b$",
604
+ ],
605
+ defaultValue: arrayedOptsDefault.typeF,
606
+ },
607
+ ];
608
+ export const findLargestPossibleDomainOfLogF = {
609
+ id: "findLargestPossibleDomainOfLogF",
610
+ connector: "=",
611
+ label: "Déterminer l'ensemble de définition d'une fonction du type $ln(u)$",
612
+ isSingleStep: false,
613
+ generator: (nb, opts) => getDistinctQuestions(() => getFindLargestPossibleDomainOfLogFQuestion(opts), nb),
614
+ options,
615
+ getPropositions,
616
+ qcmTimer: 60,
617
+ freeTimer: 60,
618
+ isAnswerValid,
619
+ subject: "Mathématiques",
620
+ getQuestionFromIdentifiers,
621
+ hasHintAndCorrection: true,
622
+ };
@@ -4,4 +4,9 @@ export * from "./log10PowerSimplifying.js";
4
4
  export * from "./logPowerEquation.js";
5
5
  export * from "./log10Simplifying.js";
6
6
  export * from "./powerEquation.js";
7
+ export * from "./logLinearCombinationSimplifiying.js";
8
+ export * from "./logEquationLnAXPlusBEqualsK.js";
9
+ export * from "./logInequationIntegerSolutions.js";
10
+ export * from "./logInequationLnAXPlusBInfK.js";
11
+ export * from "./findLargestPossibleDomainOfLogF.js";
7
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC"}
@@ -4,3 +4,8 @@ export * from "./log10PowerSimplifying.js";
4
4
  export * from "./logPowerEquation.js";
5
5
  export * from "./log10Simplifying.js";
6
6
  export * from "./powerEquation.js";
7
+ export * from "./logLinearCombinationSimplifiying.js";
8
+ export * from "./logEquationLnAXPlusBEqualsK.js";
9
+ export * from "./logInequationIntegerSolutions.js";
10
+ export * from "./logInequationLnAXPlusBInfK.js";
11
+ export * from "./findLargestPossibleDomainOfLogF.js";
@@ -0,0 +1,10 @@
1
+ import { Exercise } from "../../../../exercises/exercise.js";
2
+ /**ln(ax+b)=k */
3
+ type Identifiers = {
4
+ a: number;
5
+ b: number;
6
+ k: number;
7
+ };
8
+ export declare const logEquationLnAXPlusBEqualsK: Exercise<Identifiers>;
9
+ export {};
10
+ //# sourceMappingURL=logEquationLnAXPlusBEqualsK.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logEquationLnAXPlusBEqualsK.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/functions/logarithm/logEquationLnAXPlusBEqualsK.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,6BAA6B,CAAC;AAwBrC,gBAAgB;AAChB,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAoMF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAc7D,CAAC"}