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,443 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Shutingyard = exports.ShutingyardMode = exports.ShutingyardType = exports.tokenConstant = void 0;
4
- exports.tokenConstant = {
5
- pi: Math.PI,
6
- e: Math.exp(1)
7
- };
8
- var ShutingyardType;
9
- (function (ShutingyardType) {
10
- ShutingyardType["VARIABLE"] = "variable";
11
- ShutingyardType["COEFFICIENT"] = "coefficient";
12
- ShutingyardType["OPERATION"] = "operation";
13
- ShutingyardType["CONSTANT"] = "constant";
14
- ShutingyardType["FUNCTION"] = "function";
15
- ShutingyardType["MONOM"] = "monom";
16
- })(ShutingyardType || (exports.ShutingyardType = ShutingyardType = {}));
17
- var ShutingyardMode;
18
- (function (ShutingyardMode) {
19
- ShutingyardMode["EXPRESSION"] = "expression";
20
- ShutingyardMode["POLYNOM"] = "polynom";
21
- ShutingyardMode["SET"] = "set";
22
- ShutingyardMode["NUMERIC"] = "numeric";
23
- })(ShutingyardMode || (exports.ShutingyardMode = ShutingyardMode = {}));
24
- class Shutingyard {
25
- constructor(mode) {
26
- this._rpn = [];
27
- this._mode = typeof mode === 'undefined' ? ShutingyardMode.POLYNOM : mode;
28
- this.tokenConfigInitialization();
29
- }
30
- // Getter
31
- get rpn() {
32
- // console.log(this._rpn)
33
- return this._rpn;
34
- }
35
- get rpnToken() {
36
- return this._rpn.map(x => x.token);
37
- }
38
- /**
39
- * Determin if the token is a defined operation
40
- * Defined operations: + - * / ^ sin cos tan
41
- * @param token
42
- */
43
- // isOperation(token: string): boolean {
44
- // if (token[0].match(/[+\-*/^]/g)) {
45
- // return true;
46
- // }
47
- // //
48
- // // if (token.match(/^sin|cos|tan/g)) {
49
- // // return true;
50
- // // }
51
- //
52
- // return false;
53
- // }
54
- tokenConfigInitialization() {
55
- if (this._mode === ShutingyardMode.SET) {
56
- this._tokenConfig = {
57
- '&': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
58
- '|': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
59
- '!': { precedence: 4, associative: 'right', type: ShutingyardType.OPERATION },
60
- '-': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION }
61
- };
62
- this._uniformize = false;
63
- }
64
- else if (this._mode === ShutingyardMode.NUMERIC) {
65
- this._tokenConfig = {
66
- '^': { precedence: 4, associative: 'right', type: ShutingyardType.OPERATION },
67
- '*': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
68
- '/': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
69
- '+': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
70
- '-': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
71
- '%': { precedence: 3, associative: 'right', type: ShutingyardType.OPERATION },
72
- 'sin': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
73
- 'cos': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
74
- 'tan': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
75
- 'sqrt': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
76
- 'nthrt': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
77
- 'ln': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
78
- 'log': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
79
- };
80
- this._uniformize = false;
81
- }
82
- else if (this._mode === ShutingyardMode.EXPRESSION) {
83
- this._tokenConfig = {
84
- '^': { precedence: 4, associative: 'right', type: ShutingyardType.OPERATION },
85
- '*': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
86
- '/': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
87
- '+': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
88
- '-': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
89
- '%': { precedence: 3, associative: 'right', type: ShutingyardType.OPERATION },
90
- 'sin': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
91
- 'cos': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
92
- 'tan': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
93
- 'sqrt': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
94
- 'nthrt': { precedence: 4, associative: 'right', type: ShutingyardType.FUNCTION },
95
- };
96
- this._uniformize = true;
97
- }
98
- else {
99
- this._tokenConfig = {
100
- '^': { precedence: 4, associative: 'right', type: ShutingyardType.OPERATION },
101
- '*': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
102
- '/': { precedence: 3, associative: 'left', type: ShutingyardType.OPERATION },
103
- '+': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
104
- '-': { precedence: 2, associative: 'left', type: ShutingyardType.OPERATION },
105
- };
106
- this._uniformize = true;
107
- }
108
- this._tokenKeys = Object.keys(this._tokenConfig).sort((a, b) => b.length - a.length);
109
- return this._tokenConfig;
110
- }
111
- /**
112
- * Get the next token to analyse.
113
- * @param expr (string) Expression to analyse
114
- * @param start (number) CUrrent position in the expr string.
115
- */
116
- NextToken(expr, start) {
117
- let token, tokenType;
118
- token = '';
119
- tokenType = '';
120
- // Case of parenthesis or comma (generic items)
121
- if (expr[start] === '(') {
122
- token = '(';
123
- tokenType = '(';
124
- }
125
- // It's a closing parenthese
126
- else if (expr[start] === ')') {
127
- token = ')';
128
- tokenType = ')';
129
- }
130
- // It's an argument separator for a function
131
- else if (expr[start] === ',') {
132
- token = ',';
133
- tokenType = 'function-argument';
134
- }
135
- else {
136
- // Extract operation and function tokens
137
- for (let key of this._tokenKeys) {
138
- if (expr.substring(start, start + key.length) === key) {
139
- token += key;
140
- tokenType = this._tokenConfig[key].type;
141
- break;
142
- }
143
- }
144
- // Extract constant
145
- for (let key in exports.tokenConstant) {
146
- if (expr.substring(start, start + key.length) === key) {
147
- token += key;
148
- tokenType = ShutingyardType.CONSTANT;
149
- break;
150
- }
151
- }
152
- if (token === '') {
153
- // No function found ! Might be a coefficient !
154
- if (expr[start].match(/[0-9]/)) {
155
- if (this._mode === ShutingyardMode.POLYNOM && false) {
156
- token = expr.substring(start).match(/^([0-9.,/]+)/)[0];
157
- }
158
- else {
159
- token = expr.substring(start).match(/^([0-9.]+)/)[0];
160
- }
161
- tokenType = ShutingyardType.COEFFICIENT;
162
- }
163
- else if (expr[start].match(/[a-zA-Z]/)) {
164
- token = expr.substring(start).match(/^([a-zA-Z])/)[0];
165
- tokenType = ShutingyardType.VARIABLE;
166
- }
167
- else {
168
- console.log('Unidentified token', expr[start], expr, start);
169
- token = expr[start];
170
- tokenType = ShutingyardType.MONOM;
171
- }
172
- }
173
- }
174
- return [token, start + token.length, tokenType];
175
- }
176
- normalize(expr) {
177
- if (expr.length === 1) {
178
- return expr;
179
- }
180
- // Get the list of function token.
181
- let fnToken = [], kToken = [];
182
- for (let token in this._tokenConfig) {
183
- if (this._tokenConfig[token].type === ShutingyardType.FUNCTION) {
184
- fnToken.push(token);
185
- }
186
- }
187
- // sort if from the lengthy to the smallest function
188
- fnToken.sort((a, b) => b.length - a.length);
189
- for (let token in exports.tokenConstant) {
190
- kToken.push(token);
191
- }
192
- // sort if from the lengthy to the smallest function
193
- kToken.sort((a, b) => b.length - a.length);
194
- let normalizedExpr = "", i = 0, crtToken, nextToken;
195
- while (i < expr.length - 1) {
196
- // Check if we have a function token.
197
- // The function MUST have an open parentheses
198
- let tokenIdx = 0;
199
- while (tokenIdx < fnToken.length) {
200
- let token = fnToken[tokenIdx];
201
- if (expr.slice(i, i + token.length + 1) === token + '(') {
202
- normalizedExpr += token + '(';
203
- i += token.length + 1;
204
- // Restart the scan for the function token
205
- tokenIdx = 0;
206
- }
207
- else {
208
- // scan for a next function token
209
- tokenIdx++;
210
- }
211
- }
212
- // Check for a constant
213
- tokenIdx = 0;
214
- while (tokenIdx < kToken.length) {
215
- let token = kToken[tokenIdx];
216
- if (expr.slice(i, i + token.length) === token) {
217
- // We have found a constant.
218
- // add it, but with remove the last letter
219
- normalizedExpr += token.slice(0, -1);
220
- i += token.length - 1;
221
- // Exit the loop
222
- break;
223
- }
224
- tokenIdx++;
225
- }
226
- // The function token are solved.
227
- crtToken = expr[i];
228
- nextToken = expr[i + 1];
229
- normalizedExpr += crtToken;
230
- if (crtToken.match(/[a-zA-Z]/g)) {
231
- // Current element is a letter.
232
- // if the next element is a letter, a number or an opening parentheses, add the multiplication sign.
233
- if (nextToken?.match(/[a-zA-Z\d(]/)) {
234
- normalizedExpr += '*';
235
- }
236
- }
237
- else if (crtToken.match(/\d/)) {
238
- // Current element is a number.
239
- // if the next element is a letter or a parentheses, add the multiplication sign.
240
- if (nextToken?.match(/[a-zA-Z(]/)) {
241
- normalizedExpr += '*';
242
- }
243
- }
244
- else if (crtToken === ')') {
245
- // Current element is a closing parentheses.
246
- // if the next element is a letter, a number or an opening parentheses, add the multiplication sign
247
- if (nextToken?.match(/[a-zA-Z\d(]/)) {
248
- normalizedExpr += '*';
249
- }
250
- }
251
- // Go to next token
252
- i++;
253
- }
254
- // add the last token
255
- return normalizedExpr + (nextToken === undefined ? '' : nextToken);
256
- }
257
- // /**
258
- // * Sanitize an expression by adding missing common operation (multiplication between parentheseses)
259
- // * @param expr
260
- // * @constructor
261
- // */
262
- // Uniformizer(expr: string): string {
263
- // // TODO: Delete this old version
264
- // // Prefere "normalize", much more robust !
265
- // // Determiner if need to be uniformized
266
- // if (!this._uniformize) {
267
- // return expr
268
- // }
269
- //
270
- // // Generate the list of function token.
271
- // let fnToken: string[] = []
272
- // for (let token in this._tokenConfig) {
273
- // if (this._tokenConfig[token].type === ShutingyardType.FUNCTION) {
274
- // fnToken.push(token)
275
- // }
276
- // }
277
- // // sort if from the lengthy to the smallest function
278
- // fnToken.sort((a, b) => b.length - a.length)
279
- // let tokenRegExp = new RegExp(`(${fnToken.join('|')})`, 'g')
280
- // let functionTokenOrder = Array.from(expr.matchAll(tokenRegExp))
281
- //
282
- //
283
- // let expr2;
284
- //
285
- // // Replace all function by @
286
- // expr2 = expr.replace(tokenRegExp, '@')
287
- // // Add * before @ (functionn)
288
- // expr2 = expr2.replace(/([\da-zA-Z])(@)/g, "$1*$2");
289
- //
290
- // // Replace missing multiplication between two parenthese
291
- // expr2 = expr2.replace(/\)\(/g, ')*(');
292
- //
293
- // // Replace missing multiplication between number or setLetter and parenthese.
294
- //
295
- // // 3x(x-4) => 3x*(x-4)
296
- // expr2 = expr2.replace(/([\da-zA-Z])(\()/g, "$1*$2");
297
- //
298
- // // (x-4)3x => (x-4)*3x
299
- // expr2 = expr2.replace(/(\))([\da-zA-Z])/g, "$1*$2");
300
- //
301
- // // Add multiplication between number and letters.
302
- // // 3x => 3*x
303
- // expr2 = expr2.replace(/([0-9])([a-zA-Z])/g, "$1*$2");
304
- // expr2 = expr2.replace(/([a-zA-Z])([0-9])/g, "$1*$2");
305
- //
306
- // // Remove letter between function token and it's parenthese.
307
- // // for (let token of fnToken) {
308
- // // // Remove
309
- // // expr2 = expr2.replace(new RegExp(token + '\\*', 'g'), token);
310
- // // }
311
- // // Add multiplication between letters ?
312
- // expr2 = expr2.replace(/([a-zA-Z])([a-zA-Z])/g, "$1*$2");
313
- // expr2 = expr2.replace(/([a-zA-Z])([a-zA-Z])/g, "$1*$2");
314
- //
315
- // // Restore operation auto formatting (prevent adding the multiplication star)
316
- // let exprAsArray = expr2.split('@')
317
- //
318
- // if (exprAsArray.length > 0) {
319
- // expr2 = ""
320
- // for (let idx in exprAsArray) {
321
- // }
322
- // for (let token of fnToken) {
323
- // // Remove
324
- //
325
- // // expr2 = expr2.replace(new RegExp(token + '\\*', 'g'), token);
326
- // }
327
- // }
328
- //
329
- // return expr2;
330
- // }
331
- /**
332
- * Parse an expression using the shutting yard tree algorithms
333
- * @param expr (string) Expression to analyse
334
- * Returns a RPN list of items.
335
- * @param uniformize
336
- */
337
- parse(expr, uniformize) {
338
- let outQueue = [], // Output queue
339
- opStack = [], // Operation queue
340
- token = '', tokenPos = 0, tokenType = '', previousOpStatckLength = 0;
341
- // Normalize the input if required.
342
- if (uniformize || this._uniformize)
343
- expr = this.normalize(expr);
344
- let securityLoopLvl1 = 50, securityLoopLvl2_default = 50, securityLoopLvl2;
345
- while (tokenPos < expr.length) {
346
- securityLoopLvl1--;
347
- if (securityLoopLvl1 === 0) {
348
- console.log('SECURITY LEVEL 1 EXIT');
349
- break;
350
- }
351
- // Get the next token and the corresponding new (ending) position
352
- [token, tokenPos, tokenType] = this.NextToken(expr, tokenPos);
353
- switch (tokenType) {
354
- case 'monom':
355
- case 'coefficient':
356
- case 'variable':
357
- case 'constant':
358
- outQueue.push({
359
- token,
360
- tokenType
361
- });
362
- break;
363
- case 'operation':
364
- previousOpStatckLength = opStack.length;
365
- //If the token is an operator, o1, then:
366
- if (opStack.length > 0) {
367
- let opTop = opStack[opStack.length - 1];
368
- securityLoopLvl2 = +securityLoopLvl2_default;
369
- //while there is an operator token o2, at the top of the operator stack and
370
- while (opTop.token in this._tokenConfig && (
371
- //either o1 is left-associative and its precedence is less than or equal to that of o2,
372
- (this._tokenConfig[token].associative === 'left' && this._tokenConfig[token].precedence <= this._tokenConfig[opTop.token].precedence)
373
- ||
374
- //or o1 is right associative, and has precedence less than that of o2,
375
- (this._tokenConfig[token].associative === 'right' && this._tokenConfig[token].precedence < this._tokenConfig[opTop.token].precedence))) {
376
- /* Security exit ! */
377
- securityLoopLvl2--;
378
- if (securityLoopLvl2 === 0) {
379
- console.log('SECURITY LEVEL 2 OPERATION EXIT');
380
- break;
381
- }
382
- // Add the operation to the queue
383
- outQueue.push((opStack.pop()) || { token: '', tokenType: 'operation' });
384
- // Get the next operation on top of the Stack.
385
- if (opStack.length === 0) {
386
- break;
387
- }
388
- opTop = opStack[opStack.length - 1];
389
- }
390
- }
391
- //at the end of iteration push o1 onto the operator stack
392
- opStack.push({ token, tokenType });
393
- break;
394
- case 'function-argument':
395
- // TODO: check if the opStack exist.
396
- securityLoopLvl2 = +securityLoopLvl2_default;
397
- while (opStack[opStack.length - 1].token !== '(' && opStack.length > 0) {
398
- securityLoopLvl2--;
399
- if (securityLoopLvl2 === 0) {
400
- console.log('SECURITY LEVEL 2 FUNCTION ARGUMENT EXIT');
401
- break;
402
- }
403
- outQueue.push((opStack.pop()) || { token, tokenType });
404
- }
405
- break;
406
- case '(':
407
- opStack.push({ token, tokenType });
408
- // Add an empty value if next element is negative.
409
- if (expr[tokenPos] === '-') {
410
- outQueue.push({ token: '0', tokenType: 'coefficient' });
411
- }
412
- break;
413
- case ')':
414
- securityLoopLvl2 = +securityLoopLvl2_default;
415
- //Until the token at the top of the stack is a left parenthesis, pop operators off the stack onto the output queue.
416
- while (opStack[opStack.length - 1].token !== '(' && opStack.length > 1 /*Maybe zero !? */) {
417
- securityLoopLvl2--;
418
- if (securityLoopLvl2 === 0) {
419
- console.log('SECURITY LEVEL 2 CLOSING PARENTHESE EXIT');
420
- break;
421
- }
422
- outQueue.push((opStack.pop()) || { token, tokenType });
423
- }
424
- //Pop the left parenthesis from the stack, but not onto the output queue.
425
- opStack.pop();
426
- break;
427
- case 'function':
428
- opStack.push({ token, tokenType });
429
- break;
430
- default:
431
- // In theory, everything should be handled.
432
- console.log(`SHUTING YARD: ${tokenType} : ${token} `);
433
- }
434
- // Output
435
- // console.log(outQueue.concat(opStack.reverse()).join(" "));
436
- }
437
- // console.log(outQueue.concat(opStack.reverse()));
438
- this._rpn = outQueue.concat(opStack.reverse());
439
- return this;
440
- }
441
- }
442
- exports.Shutingyard = Shutingyard;
443
- //# sourceMappingURL=shutingyard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
package/public/demo.css DELETED
@@ -1,3 +0,0 @@
1
- .katex-left > .katex-display > .katex,.katex-left > span > .katex-display > .katex {
2
- text-align: left !important;
3
- }