math-exercises 1.3.11 → 1.3.13

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 (259) 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 +39 -39
  4. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
  5. package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +35 -35
  6. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
  7. package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +32 -32
  8. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
  9. package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +32 -32
  10. package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
  11. package/lib/exercises/calcul/fractions/fractionsDivision.js +29 -29
  12. package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
  13. package/lib/exercises/calcul/fractions/fractionsProduct.js +28 -28
  14. package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
  15. package/lib/exercises/calcul/fractions/fractionsSum.js +28 -28
  16. package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
  17. package/lib/exercises/calcul/fractions/simplifyFraction.js +24 -24
  18. package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
  19. package/lib/exercises/calcul/operations/operationsPriorities.js +98 -98
  20. package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +111 -111
  21. package/lib/exercises/calcul/operationsPriorities.js +88 -88
  22. package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
  23. package/lib/exercises/calcul/rounding/rounding.js +85 -85
  24. package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
  25. package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
  26. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
  27. package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +30 -30
  28. package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
  29. package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +31 -31
  30. package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
  31. package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +32 -32
  32. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
  33. package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +32 -32
  34. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
  35. package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +31 -31
  36. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
  37. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +37 -37
  38. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
  39. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +40 -40
  40. package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
  41. package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +41 -41
  42. package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
  43. package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +43 -43
  44. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +4 -0
  45. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts.map +1 -0
  46. package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +32 -0
  47. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +4 -0
  48. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts.map +1 -0
  49. package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +33 -0
  50. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +4 -0
  51. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts.map +1 -0
  52. package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +32 -0
  53. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
  54. package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +38 -38
  55. package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
  56. package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
  57. package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
  58. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +1 -0
  59. package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts.map +1 -0
  60. package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +28 -0
  61. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
  62. package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
  63. package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
  64. package/lib/exercises/exercise.d.ts +16 -16
  65. package/lib/exercises/exercise.d.ts.map +1 -1
  66. package/lib/exercises/exercise.js +7 -7
  67. package/lib/exercises/exercises.d.ts +1 -1
  68. package/lib/exercises/exercises.d.ts.map +1 -1
  69. package/lib/exercises/exercises.js +113 -107
  70. package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
  71. package/lib/exercises/geometry/cartesian/midpoint.js +29 -29
  72. package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
  73. package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +28 -28
  74. package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
  75. package/lib/exercises/powers/powersDivision.d.ts +7 -7
  76. package/lib/exercises/powers/powersDivision.js +44 -44
  77. package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
  78. package/lib/exercises/powers/powersOfTenToDecimal.js +32 -32
  79. package/lib/exercises/powers/powersPower.d.ts +7 -7
  80. package/lib/exercises/powers/powersPower.js +43 -43
  81. package/lib/exercises/powers/powersProduct.d.ts +7 -7
  82. package/lib/exercises/powers/powersProduct.js +44 -44
  83. package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
  84. package/lib/exercises/powers/scientificToDecimal.js +37 -37
  85. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
  86. package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +34 -34
  87. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
  88. package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +33 -33
  89. package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
  90. package/lib/exercises/sequences/geometric/geometricFindReason.js +29 -29
  91. package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
  92. package/lib/exercises/sequences/geometric/geometricReasonUsage.js +28 -28
  93. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
  94. package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +28 -28
  95. package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
  96. package/lib/exercises/squareRoots/simpifySquareRoot.js +27 -27
  97. package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
  98. package/lib/exercises/trigonometry/mainRemarkableValues.js +28 -28
  99. package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
  100. package/lib/exercises/trigonometry/remarkableValues.js +28 -28
  101. package/lib/exercises/utils/getDistinctQuestions.d.ts +2 -2
  102. package/lib/exercises/utils/getDistinctQuestions.js +15 -15
  103. package/lib/geometry/point.js +27 -27
  104. package/lib/geometry/vector.js +31 -31
  105. package/lib/index.d.ts +3 -2
  106. package/lib/index.d.ts.map +1 -1
  107. package/lib/index.js +39 -6
  108. package/lib/math/geometry/point.d.ts +12 -12
  109. package/lib/math/geometry/point.js +27 -27
  110. package/lib/math/geometry/vector.d.ts +15 -15
  111. package/lib/math/geometry/vector.js +31 -31
  112. package/lib/math/numbers/decimals/decimal.d.ts +24 -24
  113. package/lib/math/numbers/decimals/decimal.js +140 -140
  114. package/lib/math/numbers/epsilon.d.ts +1 -1
  115. package/lib/math/numbers/epsilon.js +10 -10
  116. package/lib/math/numbers/integer/integer.d.ts +14 -14
  117. package/lib/math/numbers/integer/integer.js +68 -68
  118. package/lib/math/numbers/integer/power.d.ts +13 -13
  119. package/lib/math/numbers/integer/power.js +52 -52
  120. package/lib/math/numbers/nombre.d.ts +13 -13
  121. package/lib/math/numbers/nombre.js +10 -10
  122. package/lib/math/numbers/rationals/rational.d.ts +25 -25
  123. package/lib/math/numbers/rationals/rational.js +113 -113
  124. package/lib/math/numbers/reals/real.d.ts +9 -9
  125. package/lib/math/numbers/reals/real.js +16 -16
  126. package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
  127. package/lib/math/numbers/reals/squareRoot.js +63 -63
  128. package/lib/math/polynomials/affine.d.ts +15 -15
  129. package/lib/math/polynomials/affine.js +42 -42
  130. package/lib/math/polynomials/polynomial.d.ts +25 -24
  131. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  132. package/lib/math/polynomials/polynomial.js +129 -125
  133. package/lib/math/sequences/arithmeticSequence.js +1 -1
  134. package/lib/math/sequences/geometricSequence.d.ts +3 -3
  135. package/lib/math/sequences/geometricSequence.js +8 -8
  136. package/lib/math/sequences/sequence.d.ts +22 -22
  137. package/lib/math/sequences/sequence.js +21 -21
  138. package/lib/math/sets/discreteSet.d.ts +10 -10
  139. package/lib/math/sets/discreteSet.js +28 -28
  140. package/lib/math/sets/emptySet.js +6 -6
  141. package/lib/math/sets/intervals/intervals.d.ts +26 -26
  142. package/lib/math/sets/intervals/intervals.js +104 -104
  143. package/lib/math/sets/mathSet.d.ts +7 -7
  144. package/lib/math/sets/mathSet.js +10 -10
  145. package/lib/math/sets/mathSetInterface.d.ts +5 -5
  146. package/lib/math/sets/mathSetInterface.js +2 -2
  147. package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
  148. package/lib/math/trigonometry/remarkableValue.js +29 -29
  149. package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
  150. package/lib/math/trigonometry/remarkableValues.js +51 -51
  151. package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
  152. package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
  153. package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
  154. package/lib/math/utils/arithmetic/dividersOf.js +12 -12
  155. package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
  156. package/lib/math/utils/arithmetic/gcd.js +7 -7
  157. package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
  158. package/lib/math/utils/arithmetic/isSquare.js +7 -7
  159. package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
  160. package/lib/math/utils/arithmetic/lcd.js +12 -12
  161. package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
  162. package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
  163. package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
  164. package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
  165. package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
  166. package/lib/math/utils/arithmetic/primeFactors.js +22 -22
  167. package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
  168. package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
  169. package/lib/math/utils/random/randTupleInt.d.ts +13 -13
  170. package/lib/math/utils/random/randTupleInt.js +30 -30
  171. package/lib/math/utils/random/randint.d.ts +4 -4
  172. package/lib/math/utils/random/randint.js +18 -18
  173. package/lib/math/utils/round.d.ts +1 -1
  174. package/lib/math/utils/round.js +8 -8
  175. package/lib/mathutils/arithmetic/coprimesOf.js +13 -13
  176. package/lib/mathutils/arithmetic/dividersOf.js +12 -12
  177. package/lib/mathutils/arithmetic/gcd.js +7 -7
  178. package/lib/mathutils/arithmetic/isSquare.js +7 -7
  179. package/lib/mathutils/arithmetic/lcd.js +12 -12
  180. package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -13
  181. package/lib/mathutils/arithmetic/nonDividersOf.js +14 -14
  182. package/lib/mathutils/arithmetic/primeFactors.js +22 -22
  183. package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -14
  184. package/lib/mathutils/random/randTupleInt.js +30 -30
  185. package/lib/mathutils/random/randint.js +18 -18
  186. package/lib/mathutils/round.js +8 -8
  187. package/lib/numbers/decimals/decimal.js +140 -140
  188. package/lib/numbers/epsilon.js +10 -10
  189. package/lib/numbers/integer/integer.js +68 -68
  190. package/lib/numbers/integer/power.js +52 -52
  191. package/lib/numbers/nombre.js +10 -10
  192. package/lib/numbers/rationals/rational.js +113 -113
  193. package/lib/numbers/reals/real.js +16 -16
  194. package/lib/numbers/reals/squareRoot.js +63 -63
  195. package/lib/polynomials/affine.js +42 -42
  196. package/lib/polynomials/polynomial.js +125 -125
  197. package/lib/server.d.ts +2 -0
  198. package/lib/server.d.ts.map +1 -0
  199. package/lib/server.js +33 -0
  200. package/lib/sets/discreteSet.js +28 -28
  201. package/lib/sets/emptySet.js +6 -6
  202. package/lib/sets/intervals/intervals.js +108 -104
  203. package/lib/sets/intervals/union.js +1 -1
  204. package/lib/sets/mathSet.js +10 -10
  205. package/lib/sets/mathSetInterface.js +2 -2
  206. package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
  207. package/lib/tree/nodes/functions/cosNode.js +21 -21
  208. package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
  209. package/lib/tree/nodes/functions/functionNode.js +20 -20
  210. package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
  211. package/lib/tree/nodes/functions/oppositeNode.js +26 -26
  212. package/lib/tree/nodes/functions/sinNode.js +1 -1
  213. package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
  214. package/lib/tree/nodes/functions/sqrtNode.js +18 -18
  215. package/lib/tree/nodes/node.d.ts +12 -12
  216. package/lib/tree/nodes/node.js +11 -11
  217. package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
  218. package/lib/tree/nodes/numbers/constantNode.js +18 -18
  219. package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
  220. package/lib/tree/nodes/numbers/numberNode.js +19 -19
  221. package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
  222. package/lib/tree/nodes/numbers/piNode.js +5 -5
  223. package/lib/tree/nodes/operators/addNode.d.ts +7 -7
  224. package/lib/tree/nodes/operators/addNode.js +19 -19
  225. package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
  226. package/lib/tree/nodes/operators/divideNode.js +34 -34
  227. package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
  228. package/lib/tree/nodes/operators/equalNode.js +16 -16
  229. package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
  230. package/lib/tree/nodes/operators/fractionNode.js +20 -20
  231. package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
  232. package/lib/tree/nodes/operators/multiplyNode.js +43 -43
  233. package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
  234. package/lib/tree/nodes/operators/operatorNode.js +35 -35
  235. package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
  236. package/lib/tree/nodes/operators/powerNode.js +33 -33
  237. package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
  238. package/lib/tree/nodes/operators/substractNode.js +24 -24
  239. package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
  240. package/lib/tree/nodes/variables/variableNode.js +19 -19
  241. package/lib/tree/parsers/derivateParser.js +62 -62
  242. package/lib/tree/parsers/latexParser.js +110 -110
  243. package/lib/tree/parsers/simplify.d.ts +2 -2
  244. package/lib/tree/parsers/simplify.js +52 -52
  245. package/lib/utils/arrayEqual.d.ts +1 -1
  246. package/lib/utils/arrayEqual.js +13 -13
  247. package/lib/utils/coin.js +7 -7
  248. package/lib/utils/coinFlip.d.ts +1 -1
  249. package/lib/utils/coinFlip.js +7 -7
  250. package/lib/utils/random.d.ts +1 -1
  251. package/lib/utils/random.js +7 -7
  252. package/lib/utils/shuffle.d.ts +1 -1
  253. package/lib/utils/shuffle.js +15 -15
  254. package/package.json +50 -45
  255. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts +0 -7
  256. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.d.ts.map +0 -1
  257. package/lib/exercises/calculLitteral/factorisation/factoIdRmq.js +0 -38
  258. package/lib/trigonometry/remarkableValue.js +0 -29
  259. package/lib/trigonometry/remarkableValues.js +0 -51
@@ -1,25 +1,26 @@
1
- import { Node } from '../../tree/nodes/node';
2
- export declare class Polynomial {
3
- degree: number;
4
- variable: string;
5
- /**
6
- * coefficients[i] est le coeff de x^i
7
- */
8
- coefficients: number[];
9
- /**
10
- *
11
- * @param coefficients coefficients[i] est le coeff de x^i
12
- * @param variable
13
- */
14
- constructor(coefficients: number[], variable?: string);
15
- equals(P: Polynomial): boolean;
16
- getRoots(): void;
17
- add(P: Polynomial): Polynomial;
18
- times(nb: number): Polynomial;
19
- multiply(Q: Polynomial): Polynomial;
20
- opposite(): Polynomial;
21
- toTree(): Node;
22
- toTex(): string;
23
- toString(): string;
24
- }
1
+ import { Node } from '../../tree/nodes/node';
2
+ export declare class Polynomial {
3
+ degree: number;
4
+ variable: string;
5
+ /**
6
+ * coefficients[i] est le coeff de x^i
7
+ */
8
+ coefficients: number[];
9
+ /**
10
+ *
11
+ * @param coefficients coefficients[i] est le coeff de x^i
12
+ * @param variable
13
+ */
14
+ constructor(coefficients: number[], variable?: string);
15
+ equals(P: Polynomial): boolean;
16
+ getRoots(): void;
17
+ add(P: Polynomial): Polynomial;
18
+ times(nb: number): Polynomial;
19
+ multiply(Q: Polynomial): Polynomial;
20
+ opposite(): Polynomial;
21
+ derivate(): Polynomial;
22
+ toTree(): Node;
23
+ toTex(): string;
24
+ toString(): string;
25
+ }
25
26
  //# sourceMappingURL=polynomial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/polynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAY;IAS1D,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAG9B,QAAQ;IACR,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAc9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAM7B,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAkBnC,QAAQ,IAAI,UAAU;IAOtB,MAAM,IAAI,IAAI;IAmCd,KAAK,IAAI,MAAM;IAkBf,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/polynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAY;IAS1D,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAG9B,QAAQ;IACR,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAc9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAM7B,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAkBnC,QAAQ,IAAI,UAAU;IAOtB,QAAQ,IAAI,UAAU;IAItB,MAAM,IAAI,IAAI;IAmCd,KAAK,IAAI,MAAM;IAkBf,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,125 +1,129 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Polynomial = void 0;
4
- const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
- const addNode_1 = require("../../tree/nodes/operators/addNode");
6
- const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
7
- const oppositeNode_1 = require("../../tree/nodes/functions/oppositeNode");
8
- const powerNode_1 = require("../../tree/nodes/operators/powerNode");
9
- const variableNode_1 = require("../../tree/nodes/variables/variableNode");
10
- class Polynomial {
11
- /**
12
- *
13
- * @param coefficients coefficients[i] est le coeff de x^i
14
- * @param variable
15
- */
16
- constructor(coefficients, variable = 'x') {
17
- if (coefficients.length === 0)
18
- throw Error('coeffs must be not null');
19
- if (coefficients[coefficients.length - 1] === 0) {
20
- throw Error('n-th coeff must be not null');
21
- }
22
- this.coefficients = coefficients;
23
- this.variable = variable;
24
- this.degree = coefficients.length - 1;
25
- }
26
- equals(P) {
27
- return P.degree === this.degree && this.coefficients.every((coeff, i) => coeff === P.coefficients[i]);
28
- }
29
- getRoots() { }
30
- add(P) {
31
- if (P.variable !== this.variable)
32
- throw Error("Can't add two polynomials with different variables");
33
- const newDegree = P.degree === this.degree && P.coefficients[P.degree] === -this.coefficients[this.degree]
34
- ? P.degree - 1
35
- : Math.max(P.degree, this.degree);
36
- const res = [];
37
- for (let i = 0; i < newDegree + 1; i++) {
38
- res[i] = P.coefficients[i] + this.coefficients[i];
39
- }
40
- return new Polynomial(res, this.variable);
41
- }
42
- times(nb) {
43
- return new Polynomial(this.coefficients.map((coeff) => coeff * nb), this.variable);
44
- }
45
- multiply(Q) {
46
- if (Q.variable !== this.variable)
47
- throw Error("Can't multiply two polynomials with different variables");
48
- const p = this.degree;
49
- const q = Q.degree;
50
- const res = Array.apply(0, new Array(this.degree)).map((i) => 0);
51
- for (let k = 0; k <= p + q; k++) {
52
- let sum = 0;
53
- for (let m = 0; m <= k; m++) {
54
- sum += (this.coefficients[m] || 0) * (Q.coefficients[k - m] || 0);
55
- }
56
- res[k] = sum;
57
- }
58
- return new Polynomial(res, this.variable);
59
- }
60
- opposite() {
61
- return new Polynomial(this.coefficients.map((coeff) => -coeff), this.variable);
62
- }
63
- toTree() {
64
- const recursive = (cursor) => {
65
- const coeff = this.coefficients[cursor];
66
- if (coeff === 0)
67
- return recursive(cursor - 1);
68
- if (cursor === 0) {
69
- return new numberNode_1.NumberNode(coeff);
70
- }
71
- const monome = cursor > 1
72
- ? new powerNode_1.PowerNode(new variableNode_1.VariableNode(this.variable), new numberNode_1.NumberNode(cursor))
73
- : new variableNode_1.VariableNode(this.variable);
74
- let res;
75
- if (coeff === 1)
76
- res = monome;
77
- else if (coeff === -1)
78
- res = new oppositeNode_1.OppositeNode(monome);
79
- else
80
- res = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(coeff), monome);
81
- let nextCoeff;
82
- for (let i = cursor - 1; i > -1; i--) {
83
- if (this.coefficients[i]) {
84
- nextCoeff = this.coefficients[i];
85
- break;
86
- }
87
- }
88
- if (nextCoeff) {
89
- return new addNode_1.AddNode(res, recursive(cursor - 1));
90
- }
91
- else {
92
- return res;
93
- }
94
- };
95
- return recursive(this.degree);
96
- }
97
- toTex() {
98
- let s = '';
99
- for (let i = this.degree; i > -1; i--) {
100
- const coeff = this.coefficients[i];
101
- if (coeff === 0)
102
- continue;
103
- if (i === 0)
104
- s += coeff > 0 ? `+${coeff}` : coeff;
105
- else if (i === this.degree) {
106
- s += coeff === 1 ? '' : coeff === -1 ? '-' : coeff;
107
- }
108
- else {
109
- s += coeff === 1 ? '+' : coeff === -1 ? '-' : coeff > 0 ? `+${coeff}` : coeff;
110
- }
111
- //x^n
112
- if (i === 0)
113
- continue;
114
- if (i === 1)
115
- s += this.variable;
116
- else
117
- s += `${this.variable}^{${i}}`;
118
- }
119
- return s;
120
- }
121
- toString() {
122
- return this.toTex();
123
- }
124
- }
125
- exports.Polynomial = Polynomial;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Polynomial = void 0;
4
+ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
5
+ const addNode_1 = require("../../tree/nodes/operators/addNode");
6
+ const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
7
+ const oppositeNode_1 = require("../../tree/nodes/functions/oppositeNode");
8
+ const powerNode_1 = require("../../tree/nodes/operators/powerNode");
9
+ const variableNode_1 = require("../../tree/nodes/variables/variableNode");
10
+ class Polynomial {
11
+ /**
12
+ *
13
+ * @param coefficients coefficients[i] est le coeff de x^i
14
+ * @param variable
15
+ */
16
+ constructor(coefficients, variable = 'x') {
17
+ if (coefficients.length === 0)
18
+ throw Error('coeffs must be not null');
19
+ if (coefficients[coefficients.length - 1] === 0) {
20
+ throw Error('n-th coeff must be not null');
21
+ }
22
+ this.coefficients = coefficients;
23
+ this.variable = variable;
24
+ this.degree = coefficients.length - 1;
25
+ }
26
+ equals(P) {
27
+ return P.degree === this.degree && this.coefficients.every((coeff, i) => coeff === P.coefficients[i]);
28
+ }
29
+ getRoots() { }
30
+ add(P) {
31
+ if (P.variable !== this.variable)
32
+ throw Error("Can't add two polynomials with different variables");
33
+ const newDegree = P.degree === this.degree && P.coefficients[P.degree] === -this.coefficients[this.degree]
34
+ ? P.degree - 1
35
+ : Math.max(P.degree, this.degree);
36
+ const res = [];
37
+ for (let i = 0; i < newDegree + 1; i++) {
38
+ res[i] = P.coefficients[i] + this.coefficients[i];
39
+ }
40
+ return new Polynomial(res, this.variable);
41
+ }
42
+ times(nb) {
43
+ return new Polynomial(this.coefficients.map((coeff) => coeff * nb), this.variable);
44
+ }
45
+ multiply(Q) {
46
+ if (Q.variable !== this.variable)
47
+ throw Error("Can't multiply two polynomials with different variables");
48
+ const p = this.degree;
49
+ const q = Q.degree;
50
+ const res = Array.apply(0, new Array(this.degree)).map((i) => 0);
51
+ for (let k = 0; k <= p + q; k++) {
52
+ let sum = 0;
53
+ for (let m = 0; m <= k; m++) {
54
+ sum += (this.coefficients[m] || 0) * (Q.coefficients[k - m] || 0);
55
+ }
56
+ res[k] = sum;
57
+ }
58
+ return new Polynomial(res, this.variable);
59
+ }
60
+ opposite() {
61
+ return new Polynomial(this.coefficients.map((coeff) => -coeff), this.variable);
62
+ }
63
+ derivate() {
64
+ const res = [];
65
+ return new Polynomial(this.coefficients, this.variable);
66
+ }
67
+ toTree() {
68
+ const recursive = (cursor) => {
69
+ const coeff = this.coefficients[cursor];
70
+ if (coeff === 0)
71
+ return recursive(cursor - 1);
72
+ if (cursor === 0) {
73
+ return new numberNode_1.NumberNode(coeff);
74
+ }
75
+ const monome = cursor > 1
76
+ ? new powerNode_1.PowerNode(new variableNode_1.VariableNode(this.variable), new numberNode_1.NumberNode(cursor))
77
+ : new variableNode_1.VariableNode(this.variable);
78
+ let res;
79
+ if (coeff === 1)
80
+ res = monome;
81
+ else if (coeff === -1)
82
+ res = new oppositeNode_1.OppositeNode(monome);
83
+ else
84
+ res = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(coeff), monome);
85
+ let nextCoeff;
86
+ for (let i = cursor - 1; i > -1; i--) {
87
+ if (this.coefficients[i]) {
88
+ nextCoeff = this.coefficients[i];
89
+ break;
90
+ }
91
+ }
92
+ if (nextCoeff) {
93
+ return new addNode_1.AddNode(res, recursive(cursor - 1));
94
+ }
95
+ else {
96
+ return res;
97
+ }
98
+ };
99
+ return recursive(this.degree);
100
+ }
101
+ toTex() {
102
+ let s = '';
103
+ for (let i = this.degree; i > -1; i--) {
104
+ const coeff = this.coefficients[i];
105
+ if (coeff === 0)
106
+ continue;
107
+ if (i === 0)
108
+ s += coeff > 0 ? `+${coeff}` : coeff;
109
+ else if (i === this.degree) {
110
+ s += coeff === 1 ? '' : coeff === -1 ? '-' : coeff;
111
+ }
112
+ else {
113
+ s += coeff === 1 ? '+' : coeff === -1 ? '-' : coeff > 0 ? `+${coeff}` : coeff;
114
+ }
115
+ //x^n
116
+ if (i === 0)
117
+ continue;
118
+ if (i === 1)
119
+ s += this.variable;
120
+ else
121
+ s += `${this.variable}^{${i}}`;
122
+ }
123
+ return s;
124
+ }
125
+ toString() {
126
+ return this.toTex();
127
+ }
128
+ }
129
+ exports.Polynomial = Polynomial;
@@ -1 +1 @@
1
- "use strict";
1
+ "use strict";
@@ -1,4 +1,4 @@
1
- export declare abstract class GeometricSequenceConstructor {
2
- static random(): void;
3
- }
1
+ export declare abstract class GeometricSequenceConstructor {
2
+ static random(): void;
3
+ }
4
4
  //# sourceMappingURL=geometricSequence.d.ts.map
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeometricSequenceConstructor = void 0;
4
- class GeometricSequenceConstructor {
5
- static random() {
6
- }
7
- }
8
- exports.GeometricSequenceConstructor = GeometricSequenceConstructor;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeometricSequenceConstructor = void 0;
4
+ class GeometricSequenceConstructor {
5
+ static random() {
6
+ }
7
+ }
8
+ exports.GeometricSequenceConstructor = GeometricSequenceConstructor;
@@ -1,23 +1,23 @@
1
- import { Node } from '../../tree/nodes/node';
2
- import { Integer } from '../numbers/integer/integer';
3
- declare enum SequenceType {
4
- arithmetic = 0,
5
- geometric = 1,
6
- other = 2
7
- }
8
- export declare class Sequence {
9
- type: SequenceType;
10
- firstRank: Integer;
11
- firstTerm: Node;
12
- recurrenceFormula?: string;
13
- explicitFormula?: string;
14
- constructor({ type, recurrenceFormula, explicitFormula, firstRank, firstTerm, }: {
15
- type: SequenceType;
16
- recurrenceFormula?: string;
17
- explicitFormula?: string;
18
- firstRank: Integer;
19
- firstTerm: Node;
20
- });
21
- }
22
- export {};
1
+ import { Node } from '../../tree/nodes/node';
2
+ import { Integer } from '../numbers/integer/integer';
3
+ declare enum SequenceType {
4
+ arithmetic = 0,
5
+ geometric = 1,
6
+ other = 2
7
+ }
8
+ export declare class Sequence {
9
+ type: SequenceType;
10
+ firstRank: Integer;
11
+ firstTerm: Node;
12
+ recurrenceFormula?: string;
13
+ explicitFormula?: string;
14
+ constructor({ type, recurrenceFormula, explicitFormula, firstRank, firstTerm, }: {
15
+ type: SequenceType;
16
+ recurrenceFormula?: string;
17
+ explicitFormula?: string;
18
+ firstRank: Integer;
19
+ firstTerm: Node;
20
+ });
21
+ }
22
+ export {};
23
23
  //# sourceMappingURL=sequence.d.ts.map
@@ -1,21 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Sequence = void 0;
4
- const integer_1 = require("../numbers/integer/integer");
5
- var SequenceType;
6
- (function (SequenceType) {
7
- SequenceType[SequenceType["arithmetic"] = 0] = "arithmetic";
8
- SequenceType[SequenceType["geometric"] = 1] = "geometric";
9
- SequenceType[SequenceType["other"] = 2] = "other";
10
- })(SequenceType || (SequenceType = {}));
11
- class Sequence {
12
- constructor({ type, recurrenceFormula, explicitFormula, firstRank, firstTerm, }) {
13
- this.firstRank = new integer_1.Integer(0);
14
- this.type = type;
15
- this.firstTerm = firstTerm;
16
- this.recurrenceFormula = recurrenceFormula;
17
- this.explicitFormula = explicitFormula;
18
- this.firstRank = firstRank;
19
- }
20
- }
21
- exports.Sequence = Sequence;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sequence = void 0;
4
+ const integer_1 = require("../numbers/integer/integer");
5
+ var SequenceType;
6
+ (function (SequenceType) {
7
+ SequenceType[SequenceType["arithmetic"] = 0] = "arithmetic";
8
+ SequenceType[SequenceType["geometric"] = 1] = "geometric";
9
+ SequenceType[SequenceType["other"] = 2] = "other";
10
+ })(SequenceType || (SequenceType = {}));
11
+ class Sequence {
12
+ constructor({ type, recurrenceFormula, explicitFormula, firstRank, firstTerm, }) {
13
+ this.firstRank = new integer_1.Integer(0);
14
+ this.type = type;
15
+ this.firstTerm = firstTerm;
16
+ this.recurrenceFormula = recurrenceFormula;
17
+ this.explicitFormula = explicitFormula;
18
+ this.firstRank = firstRank;
19
+ }
20
+ }
21
+ exports.Sequence = Sequence;
@@ -1,11 +1,11 @@
1
- import { Nombre } from '../numbers/nombre';
2
- import { MathSetInterface } from './mathSetInterface';
3
- export declare class DiscreteSet implements MathSetInterface {
4
- elements: Nombre[];
5
- tex: string;
6
- constructor(elements: Nombre[]);
7
- toTex(): string;
8
- includes(el: Nombre): boolean;
9
- getRandomElement(): Nombre;
10
- }
1
+ import { Nombre } from '../numbers/nombre';
2
+ import { MathSetInterface } from './mathSetInterface';
3
+ export declare class DiscreteSet implements MathSetInterface {
4
+ elements: Nombre[];
5
+ tex: string;
6
+ constructor(elements: Nombre[]);
7
+ toTex(): string;
8
+ includes(el: Nombre): boolean;
9
+ getRandomElement(): Nombre;
10
+ }
11
11
  //# sourceMappingURL=discreteSet.d.ts.map
@@ -1,28 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DiscreteSet = void 0;
4
- const random_1 = require("../../utils/random");
5
- class DiscreteSet {
6
- constructor(elements) {
7
- this.elements = Array.from(new Set(elements));
8
- let tex = '\\{';
9
- this.elements.forEach((el, index) => {
10
- tex += el.tex;
11
- if (index < this.elements.length - 1)
12
- tex += ';';
13
- else
14
- tex += '\\}';
15
- });
16
- this.tex = tex;
17
- }
18
- toTex() {
19
- return this.tex;
20
- }
21
- includes(el) {
22
- return this.elements.some((nb) => nb.value === el.value && nb.tex === el.tex);
23
- }
24
- getRandomElement() {
25
- return (0, random_1.random)(this.elements);
26
- }
27
- }
28
- exports.DiscreteSet = DiscreteSet;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiscreteSet = void 0;
4
+ const random_1 = require("../../utils/random");
5
+ class DiscreteSet {
6
+ constructor(elements) {
7
+ this.elements = Array.from(new Set(elements));
8
+ let tex = '\\{';
9
+ this.elements.forEach((el, index) => {
10
+ tex += el.tex;
11
+ if (index < this.elements.length - 1)
12
+ tex += ';';
13
+ else
14
+ tex += '\\}';
15
+ });
16
+ this.tex = tex;
17
+ }
18
+ toTex() {
19
+ return this.tex;
20
+ }
21
+ includes(el) {
22
+ return this.elements.some((nb) => nb.value === el.value && nb.tex === el.tex);
23
+ }
24
+ getRandomElement() {
25
+ return (0, random_1.random)(this.elements);
26
+ }
27
+ }
28
+ exports.DiscreteSet = DiscreteSet;
@@ -1,6 +1,6 @@
1
- "use strict";
2
- // import { MathSetInterface } from "./mathSetInterface";
3
- // export abstract class EmptySet implements MathSetInterface {
4
- // tex: string = "\\emptyset";
5
- // getRandomElement = () => null;
6
- // }
1
+ "use strict";
2
+ // import { MathSetInterface } from "./mathSetInterface";
3
+ // export abstract class EmptySet implements MathSetInterface {
4
+ // tex: string = "\\emptyset";
5
+ // getRandomElement = () => null;
6
+ // }
@@ -1,27 +1,27 @@
1
- import { Nombre, NumberType } from '../../../math/numbers/nombre';
2
- import { DiscreteSet } from '../discreteSet';
3
- import { MathSet } from '../mathSet';
4
- import { MathSetInterface } from '../mathSetInterface';
5
- declare enum BoundType {
6
- OO = "]a;b[",
7
- OF = "]a;b]",
8
- FO = "[a;b[",
9
- FF = "[a;b]"
10
- }
11
- export declare class Interval implements MathSetInterface {
12
- min: number;
13
- max: number;
14
- boundType: BoundType;
15
- type: NumberType;
16
- tex: string;
17
- /**
18
- * [[a; b]] pour un interval d'integer; [a;b] pour des réels
19
- */
20
- constructor(tex?: string);
21
- exclude(nb: number): MathSet;
22
- difference(set: DiscreteSet): MathSet;
23
- toTex(): string;
24
- getRandomElement(precision?: number): Nombre;
25
- }
26
- export {};
1
+ import { Nombre, NumberType } from '../../../math/numbers/nombre';
2
+ import { DiscreteSet } from '../discreteSet';
3
+ import { MathSet } from '../mathSet';
4
+ import { MathSetInterface } from '../mathSetInterface';
5
+ declare enum BoundType {
6
+ OO = "]a;b[",
7
+ OF = "]a;b]",
8
+ FO = "[a;b[",
9
+ FF = "[a;b]"
10
+ }
11
+ export declare class Interval implements MathSetInterface {
12
+ min: number;
13
+ max: number;
14
+ boundType: BoundType;
15
+ type: NumberType;
16
+ tex: string;
17
+ /**
18
+ * [[a; b]] pour un interval d'integer; [a;b] pour des réels
19
+ */
20
+ constructor(tex?: string);
21
+ exclude(nb: number): MathSet;
22
+ difference(set: DiscreteSet): MathSet;
23
+ toTex(): string;
24
+ getRandomElement(precision?: number): Nombre;
25
+ }
26
+ export {};
27
27
  //# sourceMappingURL=intervals.d.ts.map