pimath 0.0.127 → 0.0.129

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 (212) hide show
  1. package/dist/main.d.ts +39 -0
  2. package/{esm → dist}/maths/algebra/equation.d.ts +11 -10
  3. package/{esm → dist}/maths/algebra/linearSystem.d.ts +5 -4
  4. package/{esm → dist}/maths/algebra/monom.d.ts +5 -4
  5. package/{esm → dist}/maths/algebra/polynom.d.ts +11 -13
  6. package/{esm → dist}/maths/algebra/rational.d.ts +7 -9
  7. package/dist/maths/algebra/study/rationalStudy.d.ts +14 -0
  8. package/{esm → dist}/maths/algebra/study.d.ts +4 -7
  9. package/{esm → dist}/maths/geometry/circle.d.ts +9 -8
  10. package/{esm → dist}/maths/geometry/line.d.ts +17 -14
  11. package/{esm → dist}/maths/geometry/point.d.ts +11 -9
  12. package/{esm → dist}/maths/geometry/triangle.d.ts +4 -3
  13. package/{esm → dist}/maths/geometry/vector.d.ts +7 -10
  14. package/{esm → dist}/maths/randomization/random.d.ts +10 -7
  15. package/{esm → dist}/maths/randomization/rndFraction.d.ts +4 -3
  16. package/dist/maths/randomization/rndGeometryCircle.d.ts +13 -0
  17. package/{esm → dist}/maths/randomization/rndGeometryLine.d.ts +4 -3
  18. package/{esm → dist}/maths/randomization/rndGeometryPoint.d.ts +4 -3
  19. package/{esm → dist}/maths/randomization/rndMonom.d.ts +5 -4
  20. package/{esm → dist}/maths/randomization/rndPolynom.d.ts +5 -4
  21. package/{esm → dist}/maths/randomization/rndTypes.d.ts +7 -1
  22. package/dist/pimath.js +4239 -7819
  23. package/package.json +13 -7
  24. package/.eslintrc.js +0 -24
  25. package/.idea/$CACHE_FILE$ +0 -6
  26. package/.idea/PI.iml +0 -14
  27. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  28. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  29. package/.idea/misc.xml +0 -6
  30. package/.idea/modules.xml +0 -8
  31. package/.idea/php.xml +0 -19
  32. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +0 -192
  33. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
  34. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +0 -4
  35. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +0 -2404
  36. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +0 -4
  37. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +0 -1362
  38. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +0 -4
  39. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +0 -90
  40. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +0 -4
  41. package/.idea/vcs.xml +0 -6
  42. package/dev/pimath.js +0 -7945
  43. package/dev/pimath.js.map +0 -1
  44. package/dist/pimath.js.map +0 -1
  45. package/dist/pimath.min.js +0 -2
  46. package/dist/pimath.min.js.map +0 -1
  47. package/docs/.nojekyll +0 -1
  48. package/docs/assets/highlight.css +0 -78
  49. package/docs/assets/main.js +0 -59
  50. package/docs/assets/navigation.js +0 -1
  51. package/docs/assets/search.js +0 -1
  52. package/docs/assets/style.css +0 -1383
  53. package/docs/classes/Logicalset.Logicalset.html +0 -217
  54. package/docs/classes/Polynom.Rational.html +0 -397
  55. package/docs/classes/Vector-1.Vector.html +0 -490
  56. package/docs/classes/Vector.Point.html +0 -337
  57. package/docs/classes/algebra_equation.Equation.html +0 -790
  58. package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -404
  59. package/docs/classes/algebra_monom.Monom.html +0 -962
  60. package/docs/classes/algebra_polynom.Polynom.html +0 -1275
  61. package/docs/classes/coefficients_fraction.Fraction.html +0 -934
  62. package/docs/classes/geometry_circle.Circle.html +0 -472
  63. package/docs/classes/geometry_line.Line.html +0 -774
  64. package/docs/classes/geometry_triangle.Triangle.html +0 -429
  65. package/docs/classes/numeric.Numeric.html +0 -265
  66. package/docs/classes/shutingyard.Shutingyard.html +0 -250
  67. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -83
  68. package/docs/enums/geometry_line.LinePropriety.html +0 -97
  69. package/docs/enums/shutingyard.ShutingyardMode.html +0 -97
  70. package/docs/enums/shutingyard.ShutingyardType.html +0 -111
  71. package/docs/index.html +0 -63
  72. package/docs/interfaces/algebra_equation.ISolution.html +0 -105
  73. package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -87
  74. package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -163
  75. package/docs/modules/Logicalset.html +0 -65
  76. package/docs/modules/Polynom.html +0 -65
  77. package/docs/modules/Vector-1.html +0 -65
  78. package/docs/modules/Vector.html +0 -65
  79. package/docs/modules/algebra_equation.html +0 -69
  80. package/docs/modules/algebra_linearSystem.html +0 -61
  81. package/docs/modules/algebra_monom.html +0 -65
  82. package/docs/modules/algebra_polynom.html +0 -69
  83. package/docs/modules/coefficients_fraction.html +0 -65
  84. package/docs/modules/geometry_circle.html +0 -61
  85. package/docs/modules/geometry_line.html +0 -65
  86. package/docs/modules/geometry_triangle.html +0 -65
  87. package/docs/modules/numeric.html +0 -61
  88. package/docs/modules/shutingyard.html +0 -75
  89. package/docs/types/algebra_monom.literalType.html +0 -61
  90. package/docs/types/algebra_polynom.PolynomParsingType.html +0 -56
  91. package/docs/types/coefficients_fraction.FractionParsingType.html +0 -56
  92. package/docs/types/shutingyard.Token.html +0 -63
  93. package/docs/types/shutingyard.tokenType.html +0 -68
  94. package/docs/variables/shutingyard.tokenConstant.html +0 -61
  95. package/esm/index.d.ts +0 -38
  96. package/esm/index.js +0 -44
  97. package/esm/index.js.map +0 -1
  98. package/esm/maths/algebra/equation.js +0 -797
  99. package/esm/maths/algebra/equation.js.map +0 -1
  100. package/esm/maths/algebra/linearSystem.js +0 -279
  101. package/esm/maths/algebra/linearSystem.js.map +0 -1
  102. package/esm/maths/algebra/logicalset.js +0 -158
  103. package/esm/maths/algebra/logicalset.js.map +0 -1
  104. package/esm/maths/algebra/monom.js +0 -909
  105. package/esm/maths/algebra/monom.js.map +0 -1
  106. package/esm/maths/algebra/polynom.js +0 -1305
  107. package/esm/maths/algebra/polynom.js.map +0 -1
  108. package/esm/maths/algebra/rational.js +0 -195
  109. package/esm/maths/algebra/rational.js.map +0 -1
  110. package/esm/maths/algebra/study/rationalStudy.d.ts +0 -28
  111. package/esm/maths/algebra/study/rationalStudy.js +0 -244
  112. package/esm/maths/algebra/study/rationalStudy.js.map +0 -1
  113. package/esm/maths/algebra/study.js +0 -380
  114. package/esm/maths/algebra/study.js.map +0 -1
  115. package/esm/maths/coefficients/fraction.js +0 -517
  116. package/esm/maths/coefficients/fraction.js.map +0 -1
  117. package/esm/maths/coefficients/nthRoot.js +0 -137
  118. package/esm/maths/coefficients/nthRoot.js.map +0 -1
  119. package/esm/maths/geometry/circle.js +0 -324
  120. package/esm/maths/geometry/circle.js.map +0 -1
  121. package/esm/maths/geometry/line.js +0 -485
  122. package/esm/maths/geometry/line.js.map +0 -1
  123. package/esm/maths/geometry/point.js +0 -167
  124. package/esm/maths/geometry/point.js.map +0 -1
  125. package/esm/maths/geometry/triangle.js +0 -276
  126. package/esm/maths/geometry/triangle.js.map +0 -1
  127. package/esm/maths/geometry/vector.js +0 -198
  128. package/esm/maths/geometry/vector.js.map +0 -1
  129. package/esm/maths/numeric.js +0 -136
  130. package/esm/maths/numeric.js.map +0 -1
  131. package/esm/maths/numexp.js +0 -186
  132. package/esm/maths/numexp.js.map +0 -1
  133. package/esm/maths/randomization/random.js +0 -79
  134. package/esm/maths/randomization/random.js.map +0 -1
  135. package/esm/maths/randomization/randomCore.js +0 -22
  136. package/esm/maths/randomization/randomCore.js.map +0 -1
  137. package/esm/maths/randomization/rndFraction.js +0 -44
  138. package/esm/maths/randomization/rndFraction.js.map +0 -1
  139. package/esm/maths/randomization/rndGeometryLine.js +0 -46
  140. package/esm/maths/randomization/rndGeometryLine.js.map +0 -1
  141. package/esm/maths/randomization/rndGeometryPoint.js +0 -61
  142. package/esm/maths/randomization/rndGeometryPoint.js.map +0 -1
  143. package/esm/maths/randomization/rndHelpers.js +0 -98
  144. package/esm/maths/randomization/rndHelpers.js.map +0 -1
  145. package/esm/maths/randomization/rndMonom.js +0 -53
  146. package/esm/maths/randomization/rndMonom.js.map +0 -1
  147. package/esm/maths/randomization/rndPolynom.js +0 -75
  148. package/esm/maths/randomization/rndPolynom.js.map +0 -1
  149. package/esm/maths/randomization/rndTypes.js +0 -3
  150. package/esm/maths/randomization/rndTypes.js.map +0 -1
  151. package/esm/maths/shutingyard.js +0 -443
  152. package/esm/maths/shutingyard.js.map +0 -1
  153. package/public/demo.css +0 -3
  154. package/public/index.html +0 -283
  155. package/public/matrices.html +0 -100
  156. package/public/playground.html +0 -168
  157. package/src/index.ts +0 -42
  158. package/src/maths/algebra/equation.ts +0 -897
  159. package/src/maths/algebra/linearSystem.ts +0 -370
  160. package/src/maths/algebra/logicalset.ts +0 -183
  161. package/src/maths/algebra/monom.ts +0 -1028
  162. package/src/maths/algebra/polynom.ts +0 -1537
  163. package/src/maths/algebra/rational.ts +0 -240
  164. package/src/maths/algebra/study/rationalStudy.ts +0 -287
  165. package/src/maths/algebra/study.ts +0 -506
  166. package/src/maths/coefficients/fraction.ts +0 -593
  167. package/src/maths/coefficients/nthRoot.ts +0 -148
  168. package/src/maths/geometry/circle.ts +0 -382
  169. package/src/maths/geometry/line.ts +0 -604
  170. package/src/maths/geometry/point.ts +0 -215
  171. package/src/maths/geometry/triangle.ts +0 -368
  172. package/src/maths/geometry/vector.ts +0 -242
  173. package/src/maths/numeric.ts +0 -162
  174. package/src/maths/numexp.ts +0 -184
  175. package/src/maths/randomization/random.ts +0 -80
  176. package/src/maths/randomization/randomCore.ts +0 -19
  177. package/src/maths/randomization/rndFraction.ts +0 -47
  178. package/src/maths/randomization/rndGeometryCircle.ts +0 -50
  179. package/src/maths/randomization/rndGeometryLine.ts +0 -53
  180. package/src/maths/randomization/rndGeometryPoint.ts +0 -69
  181. package/src/maths/randomization/rndHelpers.ts +0 -107
  182. package/src/maths/randomization/rndMonom.ts +0 -57
  183. package/src/maths/randomization/rndPolynom.ts +0 -90
  184. package/src/maths/randomization/rndTypes.ts +0 -43
  185. package/src/maths/shutingyard.ts +0 -496
  186. package/tests/algebra/equation.test.ts +0 -64
  187. package/tests/algebra/linear.test.ts +0 -58
  188. package/tests/algebra/monom.test.ts +0 -78
  189. package/tests/algebra/polynom.test.ts +0 -343
  190. package/tests/algebra/rationnal.test.ts +0 -64
  191. package/tests/algebra/study.test.ts +0 -48
  192. package/tests/coefficients/fraction.test.ts +0 -131
  193. package/tests/custom.test.ts +0 -33
  194. package/tests/geometry/circle.test.ts +0 -404
  195. package/tests/geometry/line.test.ts +0 -36
  196. package/tests/numeric.test.ts +0 -43
  197. package/tests/numexp.test.ts +0 -89
  198. package/tests/shutingyard.test.ts +0 -58
  199. package/tsconfig.json +0 -41
  200. package/tsconfig.testing.json +0 -28
  201. package/typedoc.katex.js +0 -11
  202. package/webpack-production-min.config.js +0 -26
  203. package/webpack-production.config.js +0 -26
  204. package/webpack.config.js +0 -26
  205. package/{esm → dist}/maths/algebra/logicalset.d.ts +6 -6
  206. package/{esm → dist}/maths/coefficients/fraction.d.ts +0 -0
  207. package/{esm → dist}/maths/coefficients/nthRoot.d.ts +0 -0
  208. package/{esm → dist}/maths/numeric.d.ts +0 -0
  209. package/{esm → dist}/maths/numexp.d.ts +3 -3
  210. /package/{esm → dist}/maths/randomization/randomCore.d.ts +0 -0
  211. /package/{esm → dist}/maths/randomization/rndHelpers.d.ts +0 -0
  212. /package/{esm → dist}/maths/shutingyard.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"rndGeometryPoint.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndGeometryPoint.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,qCAA2D;AAC3D,6CAAwC;AACxC,uDAAkD;AAElD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,uBAAU;IAI5C,YAAY,UAAsC;QAC9C,KAAK,EAAE,CAAC;QAWZ,aAAQ,GAAG,GAAU,EAAE;YACnB,IAAI,CAAW,EAAE,CAAW,EACxB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,EAC/D,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAA;YAEnE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,eAAM,CAAC,QAAQ,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,mBAAQ,CAAC,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;YAE3D,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,eAAM,CAAC,QAAQ,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,mBAAQ,CAAC,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;YAE3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC9B,CAAC,CAAC,GAAG,EAAE,CAAA;gBACP,CAAC,CAAC,GAAG,EAAE,CAAA;aACV;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;gBACD,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;gBACD,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;gBACD,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChB,CAAC,CAAC,OAAO,EAAE,CAAA;iBACd;aACJ;YAED,OAAO,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAA;QApDG,IAAI,CAAC,cAAc,GAAG;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,EAAE;SACV,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC;CA8CJ;AA5DD,4CA4DC"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rndHelpers = void 0;
4
- /**
5
- * Random helpers
6
- */
7
- const numeric_1 = require("../numeric");
8
- class rndHelpers {
9
- /**
10
- * Random boolean with a percent ratio
11
- * @param percent
12
- */
13
- static randomBool(percent = 0.5) {
14
- return Math.random() < percent;
15
- }
16
- /**
17
- * Random integer between two values.
18
- * @param a (number) : From this value to the second value. If the second is ommited, this value is the max value.
19
- * @param b (number) : To this value. If this is ommited.
20
- */
21
- static randomInt(a, b, exclude) {
22
- if (b === undefined) {
23
- if (a >= 0) {
24
- return this.randomInt(0, a);
25
- }
26
- else {
27
- return this.randomInt(a, 0);
28
- }
29
- }
30
- // Same start and end values
31
- if (a === b) {
32
- return a;
33
- }
34
- // No exclusion
35
- if (exclude === undefined) {
36
- return Math.floor(Math.random() * (b - a + 1) + a);
37
- }
38
- // With exclusion
39
- if (Math.abs(b - a) <= exclude.length) {
40
- throw new Error('The number of excluded values is too high.');
41
- }
42
- let r = this.randomInt(a, b);
43
- while (exclude.includes(r)) {
44
- r = this.randomInt(a, b);
45
- }
46
- return r;
47
- }
48
- /**
49
- * Random integer between -max and max value.
50
- * @param max (number) : determine the limits.
51
- * @param zero (bool) : determine if zero is allowed or not.
52
- */
53
- static randomIntSym(max, zero) {
54
- if (zero === false) {
55
- return this.randomBool() ? this.randomInt(1, max) : -this.randomInt(1, max);
56
- }
57
- else {
58
- return this.randomInt(-max, max);
59
- }
60
- }
61
- static randomPrime(max) {
62
- let primes = numeric_1.Numeric.primes();
63
- if (max !== undefined) {
64
- primes = primes.filter(x => x < max);
65
- }
66
- return this.randomItem(primes);
67
- }
68
- static randomArray(arr, number) {
69
- if (number === undefined) {
70
- number = 1;
71
- }
72
- // Return a clone array
73
- if (arr.length <= 0) {
74
- return Object.values(arr);
75
- }
76
- // Randomize the array and return the n first elements.
77
- return rndHelpers.shuffleArray(arr).slice(0, number);
78
- }
79
- static randomItem(arr) {
80
- if (arr.length === 0) {
81
- return '';
82
- }
83
- return arr[this.randomInt(0, arr.length - 1)];
84
- }
85
- static shuffleArray(arr) {
86
- // The Fisher-Yates algorithm
87
- let shuffleArray = Object.values(arr);
88
- for (let i = shuffleArray.length - 1; i > 0; i--) {
89
- const j = Math.floor(Math.random() * (i + 1));
90
- const temp = shuffleArray[i];
91
- shuffleArray[i] = shuffleArray[j];
92
- shuffleArray[j] = temp;
93
- }
94
- return shuffleArray;
95
- }
96
- }
97
- exports.rndHelpers = rndHelpers;
98
- //# sourceMappingURL=rndHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rndHelpers.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rndMonom = void 0;
4
- const randomCore_1 = require("./randomCore");
5
- const random_1 = require("./random");
6
- const monom_1 = require("../algebra/monom");
7
- /**
8
- * Create a random monom based on a based configuration
9
- */
10
- class rndMonom extends randomCore_1.randomCore {
11
- constructor(userConfig) {
12
- super();
13
- this.generate = () => {
14
- // Create a monom instance
15
- let M = new monom_1.Monom();
16
- // Generate the coefficient
17
- if (typeof this._config.fraction === "boolean") {
18
- M.coefficient = random_1.Random.fraction({
19
- zero: this._config.zero,
20
- reduced: true,
21
- natural: !this._config.fraction
22
- });
23
- }
24
- else {
25
- M.coefficient = random_1.Random.fraction(this._config.fraction);
26
- }
27
- // Calculate the degree of the monom
28
- if (this._config.letters.length > 1) {
29
- // Initialise each items...
30
- for (let L of this._config.letters.split('')) {
31
- M.setLetter(L, 0);
32
- }
33
- for (let i = 0; i < this._config.degree; i++) {
34
- const L = random_1.Random.item(this._config.letters.split(""));
35
- M.setLetter(L, M.degree(L).clone().add(1));
36
- }
37
- }
38
- else {
39
- M.setLetter(this._config.letters, this._config.degree);
40
- }
41
- return M;
42
- };
43
- this._defaultConfig = {
44
- letters: 'x',
45
- degree: 2,
46
- fraction: true,
47
- zero: false
48
- };
49
- this._config = this.mergeConfig(userConfig, this._defaultConfig);
50
- }
51
- }
52
- exports.rndMonom = rndMonom;
53
- //# sourceMappingURL=rndMonom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rndMonom.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndMonom.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AAExC,qCAAgC;AAChC,4CAAuC;AAEvC;;GAEG;AACH,MAAa,QAAS,SAAQ,uBAAU;IAIpC,YAAY,UAA8B;QACtC,KAAK,EAAE,CAAC;QAYZ,aAAQ,GAAG,GAAU,EAAE;YACnB,0BAA0B;YAC1B,IAAI,CAAC,GAAG,IAAI,aAAK,EAAE,CAAA;YAEnB,2BAA2B;YAC3B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC5C,CAAC,CAAC,WAAW,GAAG,eAAM,CAAC,QAAQ,CAAC;oBAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oBACvB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;iBAClC,CAAC,CAAA;aACL;iBAAM;gBACH,CAAC,CAAC,WAAW,GAAG,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;aACzD;YAED,oCAAoC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,2BAA2B;gBAC3B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACrB;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,CAAC,GAAG,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;oBACrD,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC7C;aACJ;iBAAM;gBACH,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aACzD;YAED,OAAO,CAAC,CAAA;QACZ,CAAC,CAAA;QAxCG,IAAI,CAAC,cAAc,GAAG;YAClB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,KAAK;SACd,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC;CAiCJ;AAhDD,4BAgDC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rndPolynom = void 0;
4
- const randomCore_1 = require("./randomCore");
5
- const rndMonom_1 = require("./rndMonom");
6
- const random_1 = require("./random");
7
- const polynom_1 = require("../algebra/polynom");
8
- /**
9
- * Random polynoms
10
- */
11
- class rndPolynom extends randomCore_1.randomCore {
12
- constructor(userConfig) {
13
- super();
14
- this.generate = () => {
15
- if (this._config.factorable && this._config.degree > 1) {
16
- return this.factorable();
17
- }
18
- // Create the polynom
19
- let P = new polynom_1.Polynom().empty(), M;
20
- for (let i = this._config.degree; i >= 0; i--) {
21
- // Create monom of corresponding degree.
22
- M = new rndMonom_1.rndMonom({
23
- letters: this._config.letters,
24
- degree: i,
25
- fraction: this._config.fraction,
26
- zero: (i === this._config.degree) ? false : this._config.allowNullMonom
27
- }).generate();
28
- // If degree is the greatest and unit is true, set the monom value to one.
29
- if (this._config.unit && this._config.degree === i) {
30
- M.coefficient.one();
31
- }
32
- // Add to the polynom
33
- P.add(M);
34
- }
35
- // Make sure the first monom is positive.
36
- if (this._config.positive && P.monomByDegree().coefficient.isNegative()) {
37
- P.monomByDegree().coefficient.opposed();
38
- }
39
- // If the number of monoms is greater than the allowed value, remove some of them... except the first one !
40
- if (this._config.numberOfMonoms > 0 && this._config.numberOfMonoms < P.length) {
41
- // Get the greatest degree monom
42
- let M = P.monomByDegree().clone();
43
- P.monoms = random_1.Random.array(P.monoms.slice(1), this._config.numberOfMonoms - 1);
44
- P.add(M).reorder().reduce();
45
- }
46
- return P;
47
- };
48
- this.factorable = () => {
49
- let P = new polynom_1.Polynom().one();
50
- let _factorableConfig = { ...this._config };
51
- _factorableConfig.degree = 1;
52
- _factorableConfig.factorable = false;
53
- for (let i = 0; i < this._config.degree; i++) {
54
- P.multiply(random_1.Random.polynom(_factorableConfig));
55
- }
56
- return P;
57
- };
58
- // Default config for a random polynom
59
- this._defaultConfig = {
60
- letters: 'x',
61
- degree: 2,
62
- fraction: false,
63
- zero: false,
64
- unit: false,
65
- factorable: false,
66
- allowNullMonom: true,
67
- numberOfMonoms: 0,
68
- positive: true
69
- };
70
- // Merge config with initialiser
71
- this._config = this.mergeConfig(userConfig, this._defaultConfig);
72
- }
73
- }
74
- exports.rndPolynom = rndPolynom;
75
- //# sourceMappingURL=rndPolynom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rndPolynom.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndPolynom.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AAExC,yCAAoC;AACpC,qCAAgC;AAChC,gDAA2C;AAG3C;;GAEG;AACH,MAAa,UAAW,SAAQ,uBAAU;IAItC,YAAY,UAAgC;QACxC,KAAK,EAAE,CAAC;QAmBZ,aAAQ,GAAG,GAAY,EAAE;YACrB,IAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,EAAC;gBAChD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;aAC3B;YAED,qBAAqB;YACrB,IAAI,CAAC,GAAG,IAAI,iBAAO,EAAE,CAAC,KAAK,EAAE,EACzB,CAAQ,CAAA;YAEZ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3C,wCAAwC;gBACxC,CAAC,GAAG,IAAI,mBAAQ,CAAC;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC7B,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC1E,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAEb,0EAA0E;gBAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;iBACtB;gBAED,qBAAqB;gBACrB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACX;YAED,yCAAyC;YACzC,IAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAC;gBACnE,CAAC,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;aAC1C;YAED,2GAA2G;YAC3G,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE;gBAC3E,gCAAgC;gBAChC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAA;gBACjC,CAAC,CAAC,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAC,CAAC,CAAC,CAAA;gBACzE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAA;aAC9B;YACD,OAAO,CAAC,CAAA;QACZ,CAAC,CAAA;QAED,eAAU,GAAG,GAAY,EAAE;YACvB,IAAI,CAAC,GAAG,IAAI,iBAAO,EAAE,CAAC,GAAG,EAAE,CAAA;YAE3B,IAAI,iBAAiB,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAC,CAAA;YACzC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;YAC5B,iBAAiB,CAAC,UAAU,GAAG,KAAK,CAAA;YAEpC,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;gBACnC,CAAC,CAAC,QAAQ,CAAC,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;aAChD;YAED,OAAO,CAAC,CAAA;QACZ,CAAC,CAAA;QAvEG,sCAAsC;QACtC,IAAI,CAAC,cAAc,GAAG;YAClB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,IAAI;SACjB,CAAA;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC;CAyDJ;AA/ED,gCA+EC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=rndTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rndTypes.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndTypes.ts"],"names":[],"mappings":""}