pimath 0.0.124 → 0.0.125

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 (123) hide show
  1. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  2. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +192 -0
  3. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
  4. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +4 -0
  5. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +2404 -0
  6. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +4 -0
  7. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +1362 -0
  8. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +4 -0
  9. package/dist/pimath.js +27 -6
  10. package/dist/pimath.js.map +1 -1
  11. package/dist/pimath.min.js +1 -1
  12. package/dist/pimath.min.js.map +1 -1
  13. package/esm/maths/randomization/random.d.ts +1 -1
  14. package/esm/maths/randomization/random.js +2 -2
  15. package/esm/maths/randomization/random.js.map +1 -1
  16. package/esm/maths/randomization/rndHelpers.d.ts +1 -1
  17. package/esm/maths/randomization/rndHelpers.js +25 -4
  18. package/esm/maths/randomization/rndHelpers.js.map +1 -1
  19. package/package.json +1 -1
  20. package/src/maths/randomization/random.ts +2 -2
  21. package/src/maths/randomization/rndHelpers.ts +49 -18
  22. package/tests/geometry/circle.test.ts +125 -10
  23. package/tests/numexp.test.ts +10 -2
  24. package/dev/pimath.js +0 -7935
  25. package/dev/pimath.js.map +0 -1
  26. package/docs/.nojekyll +0 -1
  27. package/docs/assets/highlight.css +0 -78
  28. package/docs/assets/main.js +0 -58
  29. package/docs/assets/search.js +0 -1
  30. package/docs/assets/style.css +0 -1367
  31. package/docs/classes/Logicalset.Logicalset.html +0 -221
  32. package/docs/classes/Polynom.Rational.html +0 -391
  33. package/docs/classes/Vector-1.Vector.html +0 -494
  34. package/docs/classes/Vector.Point.html +0 -341
  35. package/docs/classes/algebra_equation.Equation.html +0 -796
  36. package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -408
  37. package/docs/classes/algebra_monom.Monom.html +0 -967
  38. package/docs/classes/algebra_polynom.Polynom.html +0 -1281
  39. package/docs/classes/coefficients_fraction.Fraction.html +0 -939
  40. package/docs/classes/geometry_circle.Circle.html +0 -476
  41. package/docs/classes/geometry_line.Line.html +0 -779
  42. package/docs/classes/geometry_triangle.Triangle.html +0 -429
  43. package/docs/classes/numeric.Numeric.html +0 -269
  44. package/docs/classes/shutingyard.Shutingyard.html +0 -259
  45. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -89
  46. package/docs/enums/geometry_line.LinePropriety.html +0 -102
  47. package/docs/enums/shutingyard.ShutingyardMode.html +0 -106
  48. package/docs/enums/shutingyard.ShutingyardType.html +0 -120
  49. package/docs/index.html +0 -63
  50. package/docs/interfaces/algebra_equation.ISolution.html +0 -111
  51. package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -93
  52. package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -150
  53. package/docs/modules/Logicalset.html +0 -69
  54. package/docs/modules/Polynom.html +0 -69
  55. package/docs/modules/Vector-1.html +0 -69
  56. package/docs/modules/Vector.html +0 -69
  57. package/docs/modules/algebra_equation.html +0 -75
  58. package/docs/modules/algebra_linearSystem.html +0 -65
  59. package/docs/modules/algebra_monom.html +0 -70
  60. package/docs/modules/algebra_polynom.html +0 -75
  61. package/docs/modules/coefficients_fraction.html +0 -70
  62. package/docs/modules/geometry_circle.html +0 -65
  63. package/docs/modules/geometry_line.html +0 -70
  64. package/docs/modules/geometry_triangle.html +0 -70
  65. package/docs/modules/numeric.html +0 -65
  66. package/docs/modules/shutingyard.html +0 -84
  67. package/docs/types/algebra_monom.literalType.html +0 -66
  68. package/docs/types/algebra_polynom.PolynomParsingType.html +0 -62
  69. package/docs/types/coefficients_fraction.FractionParsingType.html +0 -61
  70. package/docs/types/shutingyard.Token.html +0 -72
  71. package/docs/types/shutingyard.tokenType.html +0 -77
  72. package/docs/variables/shutingyard.tokenConstant.html +0 -70
  73. package/esm/maths/expressions/ExpressionTree.d.ts +0 -17
  74. package/esm/maths/expressions/ExpressionTree.js +0 -150
  75. package/esm/maths/expressions/ExpressionTree.js.map +0 -1
  76. package/esm/maths/expressions/expression.d.ts +0 -27
  77. package/esm/maths/expressions/expression.js +0 -239
  78. package/esm/maths/expressions/expression.js.map +0 -1
  79. package/esm/maths/expressions/expressionFactor.d.ts +0 -36
  80. package/esm/maths/expressions/expressionFactor.js +0 -156
  81. package/esm/maths/expressions/expressionFactor.js.map +0 -1
  82. package/esm/maths/expressions/expressionMember.d.ts +0 -27
  83. package/esm/maths/expressions/expressionMember.js +0 -199
  84. package/esm/maths/expressions/expressionMember.js.map +0 -1
  85. package/esm/maths/expressions/expressionOperators.d.ts +0 -8
  86. package/esm/maths/expressions/expressionOperators.js +0 -42
  87. package/esm/maths/expressions/expressionOperators.js.map +0 -1
  88. package/esm/maths/expressions/expressionParser.d.ts +0 -14
  89. package/esm/maths/expressions/expressionParser.js +0 -259
  90. package/esm/maths/expressions/expressionParser.js.map +0 -1
  91. package/esm/maths/expressions/factors/ExpFactor.d.ts +0 -7
  92. package/esm/maths/expressions/factors/ExpFactor.js +0 -34
  93. package/esm/maths/expressions/factors/ExpFactor.js.map +0 -1
  94. package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +0 -14
  95. package/esm/maths/expressions/factors/ExpFactorConstant.js +0 -52
  96. package/esm/maths/expressions/factors/ExpFactorConstant.js.map +0 -1
  97. package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +0 -8
  98. package/esm/maths/expressions/factors/ExpFactorExponential.js +0 -22
  99. package/esm/maths/expressions/factors/ExpFactorExponential.js.map +0 -1
  100. package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +0 -14
  101. package/esm/maths/expressions/factors/ExpFactorNumber.js +0 -59
  102. package/esm/maths/expressions/factors/ExpFactorNumber.js.map +0 -1
  103. package/esm/maths/expressions/factors/ExpFactorPower.d.ts +0 -13
  104. package/esm/maths/expressions/factors/ExpFactorPower.js +0 -35
  105. package/esm/maths/expressions/factors/ExpFactorPower.js.map +0 -1
  106. package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +0 -20
  107. package/esm/maths/expressions/factors/ExpFactorTrigo.js +0 -48
  108. package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +0 -1
  109. package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +0 -13
  110. package/esm/maths/expressions/factors/ExpFactorVariable.js +0 -36
  111. package/esm/maths/expressions/factors/ExpFactorVariable.js.map +0 -1
  112. package/esm/maths/expressions/internals.d.ts +0 -12
  113. package/esm/maths/expressions/internals.js +0 -29
  114. package/esm/maths/expressions/internals.js.map +0 -1
  115. package/esm/maths/expressions/numexp.d.ts +0 -19
  116. package/esm/maths/expressions/numexp.js +0 -186
  117. package/esm/maths/expressions/numexp.js.map +0 -1
  118. package/esm/maths/expressions/polynomexp.bkp.d.ts +0 -33
  119. package/esm/maths/expressions/polynomexp.bkp.js +0 -184
  120. package/esm/maths/expressions/polynomexp.bkp.js.map +0 -1
  121. package/esm/maths/expressions/polynomexp.d.ts +0 -52
  122. package/esm/maths/expressions/polynomexp.js +0 -246
  123. package/esm/maths/expressions/polynomexp.js.map +0 -1
@@ -1,8 +0,0 @@
1
- import { Expression } from "./expression";
2
- export declare class expressionOperators {
3
- static reduce(expr: Expression): Expression;
4
- static add(...values: Expression[]): Expression;
5
- static subtract(a: Expression, b: Expression): Expression;
6
- static multiply(...values: Expression[]): Expression;
7
- static divide(a: Expression, b: Expression): Expression;
8
- }
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expressionOperators = void 0;
4
- const expression_1 = require("./expression");
5
- const ExpFactor_1 = require("./factors/ExpFactor");
6
- const expressionMember_1 = require("./expressionMember");
7
- class expressionOperators {
8
- static reduce(expr) {
9
- let output = new expression_1.Expression();
10
- return null;
11
- }
12
- static add(...values) {
13
- let output = new expression_1.Expression();
14
- for (let expr of values) {
15
- output.addMembers(...expr.members);
16
- }
17
- return output;
18
- }
19
- static subtract(a, b) {
20
- let output = new expression_1.Expression();
21
- output.add(a);
22
- output.subtract(b);
23
- return output;
24
- }
25
- static multiply(...values) {
26
- let output = new expression_1.Expression(), member = new expressionMember_1.ExpressionMember();
27
- for (let expr of values) {
28
- member.add(new ExpFactor_1.ExpFactor(expr));
29
- }
30
- return output.add(member);
31
- }
32
- static divide(a, b) {
33
- let output = new expression_1.Expression(), member = new expressionMember_1.ExpressionMember();
34
- // Add the first element as factor
35
- member.add(new ExpFactor_1.ExpFactor(a));
36
- // Divide by the second element.
37
- member.add(new ExpFactor_1.ExpFactor(b, -1));
38
- return output.add(member);
39
- }
40
- }
41
- exports.expressionOperators = expressionOperators;
42
- //# sourceMappingURL=expressionOperators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expressionOperators.js","sourceRoot":"","sources":["../../../src/maths/expressions/expressionOperators.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,mDAA8C;AAC9C,yDAAoD;AAEpD,MAAa,mBAAmB;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAe;QACzB,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAE7B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAoB;QAC9B,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAC7B,KAAI,IAAI,IAAI,IAAI,MAAM,EAAC;YACnB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;SACrC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAa,EAAE,CAAa;QACxC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACb,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAClB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAoB;QACnC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,EACzB,MAAM,GAAG,IAAI,mCAAgB,EAAE,CAAA;QAEnC,KAAI,IAAI,IAAI,IAAI,MAAM,EAAC;YACnB,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAA;SAClC;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAa,EAAE,CAAa;QACtC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,EACzB,MAAM,GAAG,IAAI,mCAAgB,EAAE,CAAA;QAEnC,kCAAkC;QAClC,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,gCAAgC;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACJ;AA5CD,kDA4CC"}
@@ -1,14 +0,0 @@
1
- import { Expression } from "./internals";
2
- export declare class ExpressionParser {
3
- private _expression;
4
- constructor(value: string);
5
- get expression(): Expression;
6
- private parse;
7
- private tokenOperationPlus;
8
- private tokenOperationMultiply;
9
- private tokenOperationDivide;
10
- private tokenOperationPower;
11
- private tokenOperationMinus;
12
- private tokenOperationSqrt;
13
- private tokenOperationRoot;
14
- }
@@ -1,259 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpressionParser = void 0;
4
- const internals_1 = require("./internals");
5
- function dlog(...values) {
6
- if (false) {
7
- console.log(...values);
8
- }
9
- }
10
- class ExpressionParser {
11
- constructor(value) {
12
- this._expression = this.parse(value);
13
- }
14
- get expression() {
15
- return this._expression;
16
- }
17
- parse(value) {
18
- let expr, SY = new internals_1.Shutingyard(internals_1.ShutingyardMode.EXPRESSION).parse(value), rpn = SY.rpn, stack = [];
19
- dlog(SY.rpn);
20
- dlog(SY.normalize(value));
21
- for (let item of rpn) {
22
- dlog('BEFORE', item.token, stack.map(s => s.tex));
23
- switch (item.tokenType) {
24
- case internals_1.ShutingyardType.COEFFICIENT:
25
- stack.push(new internals_1.ExpFactorNumber(+item.token));
26
- break;
27
- case internals_1.ShutingyardType.CONSTANT:
28
- stack.push(new internals_1.ExpFactorConstant(item.token));
29
- break;
30
- case internals_1.ShutingyardType.VARIABLE:
31
- stack.push(new internals_1.ExpFactorVariable(item.token));
32
- break;
33
- case internals_1.ShutingyardType.OPERATION:
34
- // for an operation, the stack length should be two
35
- if (stack.length >= 2) {
36
- let b = stack.pop(), a = stack.pop();
37
- // dlog('OPERATION A - B', stack.map(s=>s.tex))
38
- switch (item.token) {
39
- case "+":
40
- stack.push(this.tokenOperationPlus(a, b));
41
- break;
42
- case "-":
43
- stack.push(this.tokenOperationMinus(a, b));
44
- break;
45
- case "*":
46
- stack.push(this.tokenOperationMultiply(a, b));
47
- break;
48
- case "/":
49
- stack.push(this.tokenOperationDivide(a, b));
50
- break;
51
- case "^":
52
- stack.push(this.tokenOperationPower(a, b));
53
- break;
54
- }
55
- }
56
- else {
57
- // TODO: handle stack size of one when applying an operation
58
- }
59
- break;
60
- case internals_1.ShutingyardType.FUNCTION:
61
- let a = stack.pop();
62
- if (item.token === 'sqrt') {
63
- stack.push(this.tokenOperationSqrt(a));
64
- }
65
- else if (item.token === 'nthrt') {
66
- stack.push(this.tokenOperationRoot(a, stack.pop()));
67
- }
68
- else if (item.token in internals_1.TRIGONOMETRIC) {
69
- if (!(a instanceof internals_1.Expression)) {
70
- a = new internals_1.Expression(a);
71
- }
72
- stack.push(new internals_1.ExpFactorTrigo(item.token, a));
73
- }
74
- break;
75
- default:
76
- throw ('Something went wrong while parsing ' + value + ' at ' + item.token);
77
- }
78
- dlog('AFTER', item.token, stack.map(s => s.tex));
79
- dlog('----------');
80
- }
81
- // Build the output expression.
82
- let output = new internals_1.Expression();
83
- for (let item of stack) {
84
- if (item instanceof internals_1.Expression) {
85
- output.addMembers(...item.members);
86
- }
87
- else if (item instanceof internals_1.ExpressionMember) {
88
- output.addMembers(item);
89
- }
90
- else if (item instanceof internals_1.ExpressionFactor) {
91
- output.addMembers(item);
92
- }
93
- }
94
- return output;
95
- // TODO: in the stack, there might be an Expression, ExpressionMember or an ExpressionFactor.
96
- // @ts-ignore
97
- // return new Expression(...stack.map(
98
- // item=>{
99
- // return item instanceof ExpressionFactor ? new ExpressionMember(item) : item;
100
- // }
101
- // ))
102
- }
103
- tokenOperationPlus(a, b) {
104
- if (a instanceof internals_1.ExpressionMember || a instanceof internals_1.ExpressionFactor) {
105
- a = new internals_1.Expression(a);
106
- }
107
- return a.add(b);
108
- }
109
- tokenOperationMultiply(a, b) {
110
- let EM = new internals_1.ExpressionMember();
111
- if (a instanceof internals_1.Expression) {
112
- EM.addFactors(new internals_1.ExpFactor(a));
113
- // a = new ExpFactor(a)
114
- }
115
- else if (a instanceof internals_1.ExpressionMember) {
116
- // a.add()
117
- EM.addFactors(...a.factors);
118
- // a = new ExpFactor(new Expression(a))
119
- }
120
- else if (a instanceof internals_1.ExpressionFactor) {
121
- // Do nothing
122
- EM.addFactors(a);
123
- }
124
- if (b instanceof internals_1.Expression) {
125
- // b = new ExpFactor(b)
126
- EM.addFactors(new internals_1.ExpFactor(b));
127
- }
128
- else if (b instanceof internals_1.ExpressionMember) {
129
- // b = new ExpFactor(new Expression(b))
130
- EM.addFactors(...b.factors);
131
- }
132
- else if (b instanceof internals_1.ExpressionFactor) {
133
- // Do nothing
134
- EM.addFactors(b);
135
- }
136
- return EM;
137
- }
138
- tokenOperationDivide(a, b) {
139
- let EM = new internals_1.ExpressionMember();
140
- if (a instanceof internals_1.Expression) {
141
- EM.addFactors(new internals_1.ExpFactor(a));
142
- }
143
- else if (a instanceof internals_1.ExpressionMember) {
144
- EM.addFactors(...a.factors);
145
- }
146
- else if (a instanceof internals_1.ExpressionFactor) {
147
- // Do nothing
148
- EM.addFactors(a);
149
- }
150
- if (b instanceof internals_1.Expression) {
151
- EM.addFactors(new internals_1.ExpFactor(b, -1));
152
- }
153
- else if (b instanceof internals_1.ExpressionMember) {
154
- EM.addFactors(new internals_1.ExpFactor(new internals_1.Expression(b), -1));
155
- }
156
- else if (b instanceof internals_1.ExpressionFactor) {
157
- // Do nothing
158
- b.power = -b.power;
159
- EM.addFactors(b);
160
- }
161
- return EM;
162
- }
163
- tokenOperationPower(a, b) {
164
- if (a instanceof internals_1.Expression) {
165
- // Do nothing
166
- }
167
- else if (a instanceof internals_1.ExpressionMember) {
168
- a = new internals_1.Expression(a);
169
- }
170
- else if (a instanceof internals_1.ExpressionFactor) {
171
- // Make a new factor of itself
172
- console.log(a);
173
- if (a.power === 1 && b instanceof internals_1.ExpFactorNumber) {
174
- a.power = b.value;
175
- return a;
176
- }
177
- else {
178
- a = new internals_1.Expression(new internals_1.ExpressionMember(a));
179
- }
180
- }
181
- // b can be :
182
- // number 3
183
- // any other expression
184
- //
185
- if (b instanceof internals_1.Expression) {
186
- // Do nothing
187
- }
188
- else if (b instanceof internals_1.ExpressionMember) {
189
- b = new internals_1.Expression(b);
190
- }
191
- else if (b instanceof internals_1.ExpFactorNumber) {
192
- return new internals_1.ExpFactor(a, b.value);
193
- }
194
- else if (b instanceof internals_1.ExpressionFactor) {
195
- b = new internals_1.Expression(new internals_1.ExpressionMember(b));
196
- }
197
- return new internals_1.ExpFactorPower(a, b);
198
- }
199
- tokenOperationMinus(a, b) {
200
- if (a instanceof internals_1.ExpressionMember) {
201
- a = new internals_1.Expression(a);
202
- }
203
- else if (a instanceof internals_1.ExpressionFactor) {
204
- a = new internals_1.Expression(new internals_1.ExpressionMember(a));
205
- }
206
- if (b instanceof internals_1.ExpressionMember) {
207
- b = new internals_1.Expression(b);
208
- }
209
- else if (b instanceof internals_1.ExpressionFactor) {
210
- b = new internals_1.Expression(new internals_1.ExpressionMember(b));
211
- }
212
- return a.subtract(b);
213
- }
214
- tokenOperationSqrt(a) {
215
- // Transform the argument to expression
216
- if (a instanceof internals_1.Expression) {
217
- return new internals_1.ExpFactor(a, 1, 2);
218
- }
219
- else if (a instanceof internals_1.ExpressionMember) {
220
- if (a.factors.length === 1 && !a.factors[0].hasPower()) {
221
- a.factors[0].root = 2;
222
- return a.factors[0];
223
- }
224
- else {
225
- return new internals_1.ExpFactor(new internals_1.Expression(a), 1, 2);
226
- }
227
- }
228
- else if (a instanceof internals_1.ExpressionFactor) {
229
- if (!a.hasPower()) {
230
- a.root = 2;
231
- return a;
232
- }
233
- else {
234
- return new internals_1.ExpFactor(new internals_1.Expression(a), 1, 2);
235
- }
236
- }
237
- // Fallback
238
- return a;
239
- }
240
- tokenOperationRoot(a, b) {
241
- // a is the power
242
- // b is the argument
243
- // Transform the argument to expression
244
- if (!(b instanceof internals_1.Expression)) {
245
- b = new internals_1.Expression(b);
246
- }
247
- // the "a" value is the nth root. It must be a number
248
- let n = 2;
249
- if (a instanceof internals_1.ExpFactorNumber) {
250
- n = a.number;
251
- }
252
- else {
253
- throw "The nth root value must be a number, not " + a.tex;
254
- }
255
- return new internals_1.ExpFactor(b, 1, n);
256
- }
257
- }
258
- exports.ExpressionParser = ExpressionParser;
259
- //# sourceMappingURL=expressionParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expressionParser.js","sourceRoot":"","sources":["../../../src/maths/expressions/expressionParser.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Expression, ExpressionFactor } from "../internals";
2
- export declare class ExpFactor extends ExpressionFactor {
3
- derivative(variable: string): Expression;
4
- integrate(variable: string): Expression;
5
- makeTeX(numberOfFactors?: number, position?: number): string;
6
- makeDisplay(numberOfFactors?: number, position?: number): string;
7
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpFactor = void 0;
4
- const internals_1 = require("../internals");
5
- class ExpFactor extends internals_1.ExpressionFactor {
6
- derivative(variable) {
7
- return undefined;
8
- }
9
- integrate(variable) {
10
- return undefined;
11
- }
12
- makeTeX(numberOfFactors, position) {
13
- // TODO: no need to wrap if it's single ?
14
- if (this.hasRoot() || this.hasPower()) {
15
- return this.texPower(this.texRoot(this.argument.tex
16
- // this.wrapWithParentheses(this.argument.tex)
17
- ));
18
- }
19
- if (numberOfFactors === 1) {
20
- return this.argument.tex;
21
- }
22
- else {
23
- return this.argument.isFactor() ? this.argument.tex : this.wrapWithParentheses(this.argument.tex);
24
- }
25
- }
26
- makeDisplay(numberOfFactors, position) {
27
- if (this.hasRoot() || this.hasPower()) {
28
- return this.displayPower(this.texRoot(this.wrapWithParentheses(this.argument.display, false)));
29
- }
30
- return this.argument.isFactor() ? this.argument.display : this.wrapWithParentheses(this.argument.display);
31
- }
32
- }
33
- exports.ExpFactor = ExpFactor;
34
- //# sourceMappingURL=ExpFactor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpFactor.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactor.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAG1D,MAAa,SAAU,SAAQ,4BAAgB;IAE3C,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,eAAwB,EAAE,QAAiB;QAC/C,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG;YACjB,8CAA8C;aACjD,CAAC,CAAA;SACL;QAED,IAAI,eAAe,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;SAC3B;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;SACpG;IACL,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CACzD,CAAC,CAAA;SACL;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7G,CAAC;CACJ;AAnCD,8BAmCC"}
@@ -1,14 +0,0 @@
1
- import { Expression } from "../internals";
2
- import { ExpressionFactor } from "../internals";
3
- export declare class ExpFactorConstant extends ExpressionFactor {
4
- private _constant;
5
- private _availableConstant;
6
- constructor(value: string, power?: number, root?: number);
7
- get value(): number;
8
- get constant(): string;
9
- makeTeX(): string;
10
- derivative(variable: string): Expression;
11
- integrate(variable: string): Expression;
12
- hasVariable(variable?: string): boolean;
13
- makeDisplay(numberOfFactors?: number, position?: number): string;
14
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpFactorConstant = void 0;
4
- const internals_1 = require("../internals");
5
- class ExpFactorConstant extends internals_1.ExpressionFactor {
6
- constructor(value, power, root) {
7
- if (typeof value !== "string") {
8
- throw `The number ${value} is not a valid value.`;
9
- }
10
- super(null, power, root);
11
- this._availableConstant = {
12
- 'pi': {
13
- value: Math.PI,
14
- tex: '\\pi'
15
- },
16
- 'e': {
17
- value: Math.E,
18
- tex: '\\text{e}'
19
- },
20
- 'phi': {
21
- value: (1 + Math.sqrt(5)) / 2,
22
- tex: '\\phi'
23
- }
24
- };
25
- this._constant = value;
26
- }
27
- get value() {
28
- // TODO: constant value
29
- return Math.pow(0, this.root / this.root);
30
- }
31
- get constant() {
32
- return this._constant;
33
- }
34
- makeTeX() {
35
- let tex = this._availableConstant[this._constant].tex;
36
- return this.texPower(this.texRoot(tex));
37
- }
38
- derivative(variable) {
39
- return undefined;
40
- }
41
- integrate(variable) {
42
- return undefined;
43
- }
44
- hasVariable(variable) {
45
- return false;
46
- }
47
- makeDisplay(numberOfFactors, position) {
48
- return this._constant;
49
- }
50
- }
51
- exports.ExpFactorConstant = ExpFactorConstant;
52
- //# sourceMappingURL=ExpFactorConstant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpFactorConstant.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorConstant.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAGnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,kBAAkB,GAAG;YACtB,IAAI,EAAE;gBACF,KAAK,EAAE,IAAI,CAAC,EAAE;gBACd,GAAG,EAAE,MAAM;aACd;YACD,GAAG,EAAE;gBACD,KAAK,EAAE,IAAI,CAAC,CAAC;gBACb,GAAG,EAAE,WAAW;aACnB;YACD,KAAK,EAAE;gBACH,KAAK,EAAE,CAAC,CAAC,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC;gBAC1B,GAAG,EAAE,OAAO;aACf;SACJ,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,uBAAuB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IACD,OAAO;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAA;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAxDD,8CAwDC"}
@@ -1,8 +0,0 @@
1
- import { Expression } from "../internals";
2
- import { ExpressionFactor } from "../internals";
3
- export declare class ExpFactorExponential extends ExpressionFactor {
4
- derivative(variable: string): Expression;
5
- integrate(variable: string): Expression;
6
- makeTeX(): string;
7
- makeDisplay(numberOfFactors?: number, position?: number): string;
8
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpFactorExponential = void 0;
4
- const internals_1 = require("../internals");
5
- class ExpFactorExponential extends internals_1.ExpressionFactor {
6
- derivative(variable) {
7
- return undefined;
8
- }
9
- integrate(variable) {
10
- return undefined;
11
- }
12
- makeTeX() {
13
- let tex = `\\text{e}^{ ${this.argument.tex} }`;
14
- return this.texPowerAndRoot(tex);
15
- }
16
- makeDisplay(numberOfFactors, position) {
17
- let display = `e^( ${this.argument.tex} )`;
18
- return this.displayPowerAndRoot(display);
19
- }
20
- }
21
- exports.ExpFactorExponential = ExpFactorExponential;
22
- //# sourceMappingURL=ExpFactorExponential.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpFactorExponential.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorExponential.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,oBAAqB,SAAQ,4BAAgB;IAEtD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,eAAgB,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAExD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,OAAQ,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAEpD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;CAEJ;AAtBD,oDAsBC"}
@@ -1,14 +0,0 @@
1
- import { Expression, ExpressionFactor } from "../internals";
2
- export declare class ExpFactorNumber extends ExpressionFactor {
3
- private _number;
4
- constructor(value: number, power?: number, root?: number);
5
- get value(): number;
6
- get number(): number;
7
- set number(value: number);
8
- makeTeX(): string;
9
- makeDisplay(numberOfFactors?: number, position?: number): string;
10
- derivative(variable: string): Expression;
11
- integrate(variable: string): Expression;
12
- hasVariable(variable?: string): boolean;
13
- reduce(): ExpressionFactor;
14
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpFactorNumber = void 0;
4
- const internals_1 = require("../internals");
5
- class ExpFactorNumber extends internals_1.ExpressionFactor {
6
- constructor(value, power, root) {
7
- super(null, power, root);
8
- if (typeof value !== "number") {
9
- throw `The number ${value} is not a valid value.`;
10
- }
11
- this._number = value;
12
- }
13
- get value() {
14
- return Math.pow(this._number, this.root / this.root);
15
- }
16
- get number() {
17
- return this._number;
18
- }
19
- set number(value) {
20
- this._number = value;
21
- }
22
- makeTeX() {
23
- return this.texPower(this.texRoot(this._number.toString()));
24
- }
25
- makeDisplay(numberOfFactors, position) {
26
- return this.displayPower(this.displayRoot(this._number.toString()));
27
- }
28
- derivative(variable) {
29
- return undefined;
30
- }
31
- integrate(variable) {
32
- return undefined;
33
- }
34
- hasVariable(variable) {
35
- return false;
36
- }
37
- reduce() {
38
- // Reduce the power / root value
39
- super.reduce();
40
- if (this.power > 1) {
41
- this.number = this.number ** this.power;
42
- this.power = 1;
43
- }
44
- if (this.power < -1) {
45
- this.number = this.number ** (-this.power);
46
- this.power = -1;
47
- }
48
- if (this.root > 1) {
49
- // Maybe it's a perfect root ?
50
- if (Number.isSafeInteger(Math.pow(this.number, 1 / this.root))) {
51
- this.number = Math.pow(this.number, 1 / this.root);
52
- this.root = 1;
53
- }
54
- }
55
- return this;
56
- }
57
- }
58
- exports.ExpFactorNumber = ExpFactorNumber;
59
- //# sourceMappingURL=ExpFactorNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpFactorNumber.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorNumber.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAE1D,MAAa,eAAgB,SAAQ,4BAAgB;IAGjD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAI,MAAM,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM;QACF,gCAAgC;QAChC,KAAK,CAAC,MAAM,EAAE,CAAA;QAEd,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QACD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;SAClB;QAED,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,8BAA8B;YAC9B,IAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC;gBACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;aAChB;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AArED,0CAqEC"}
@@ -1,13 +0,0 @@
1
- import { Expression } from "../internals";
2
- import { ExpressionFactor } from "../internals";
3
- export declare class ExpFactorPower extends ExpressionFactor {
4
- get powerArgument(): Expression;
5
- set powerArgument(value: Expression);
6
- private _powerArgument;
7
- constructor(radical: Expression, power: Expression, power2?: number, root?: number);
8
- derivative(variable: string): Expression;
9
- integrate(variable: string): Expression;
10
- makeTeX(): string;
11
- getArguments(): Expression[];
12
- makeDisplay(numberOfFactors?: number, position?: number): string;
13
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpFactorPower = void 0;
4
- const internals_1 = require("../internals");
5
- class ExpFactorPower extends internals_1.ExpressionFactor {
6
- get powerArgument() {
7
- return this._powerArgument;
8
- }
9
- set powerArgument(value) {
10
- this._powerArgument = value;
11
- }
12
- constructor(radical, power, power2, root) {
13
- super(radical, power2, root);
14
- this._powerArgument = power;
15
- }
16
- derivative(variable) {
17
- return undefined;
18
- }
19
- integrate(variable) {
20
- return undefined;
21
- }
22
- makeTeX() {
23
- let tex = `{ ${this.argument.tex} }^{ ${this._powerArgument.tex} }`;
24
- return this.texPowerAndRoot(this.wrapWithParentheses(tex));
25
- }
26
- getArguments() {
27
- return [this.argument, this.powerArgument];
28
- }
29
- makeDisplay(numberOfFactors, position) {
30
- let display = `( ${this.argument.display} )^( ${this._powerArgument.display} )`;
31
- return this.displayPowerAndRoot(this.wrapWithParentheses(display, false));
32
- }
33
- }
34
- exports.ExpFactorPower = ExpFactorPower;
35
- //# sourceMappingURL=ExpFactorPower.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;IAChD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,CAAC,KAAiB;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAGD,YAAY,OAAmB,EAAE,KAAiB,EAAE,MAAe,EAAE,IAAY;QAC7E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;IAC/B,CAAC;IACD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,GAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAI,IAAI,CAAA;QAE9E,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,OAAQ,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAQ,IAAI,CAAA;QAE1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E,CAAC;CACJ;AAtCD,wCAsCC"}