pimath 0.0.33 → 0.0.36

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 (165) hide show
  1. package/dist/pi.js +6468 -1
  2. package/dist/pi.js.map +1 -1
  3. package/dist/pi.min.js +2 -0
  4. package/dist/pi.min.js.map +1 -0
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/algebra.Equation.html +9 -9
  7. package/docs/classes/algebra.LinearSystem.html +1 -1
  8. package/docs/classes/algebra.Logicalset.html +2 -2
  9. package/docs/classes/algebra.Monom.html +37 -37
  10. package/docs/classes/algebra.Polynom.html +10 -10
  11. package/docs/classes/algebra.PolynomExpFactor.html +1 -1
  12. package/docs/classes/algebra.PolynomExpProduct.html +1 -1
  13. package/docs/classes/algebra.Rational.html +2 -2
  14. package/docs/classes/coefficients.Fraction.html +4 -4
  15. package/docs/classes/coefficients.Nthroot.html +1 -1
  16. package/docs/classes/geometry.Circle.html +2 -2
  17. package/docs/classes/geometry.Line.html +2 -2
  18. package/docs/classes/geometry.Point.html +1 -1
  19. package/docs/classes/geometry.Triangle.html +5 -5
  20. package/docs/classes/geometry.Vector.html +1 -1
  21. package/docs/classes/numeric.Numeric.html +5 -5
  22. package/docs/classes/shutingyard.Shutingyard.html +4 -4
  23. package/docs/enums/geometry.LinePropriety.html +1 -0
  24. package/docs/enums/shutingyard.ShutingyardMode.html +1 -1
  25. package/docs/enums/shutingyard.ShutingyardType.html +1 -1
  26. package/docs/interfaces/geometry.remarquableLines.html +1 -1
  27. package/docs/modules/algebra.html +1 -1
  28. package/docs/modules/coefficients.html +1 -1
  29. package/docs/modules/geometry.html +1 -1
  30. package/docs/modules/random.Random.html +1 -1
  31. package/docs/modules/random.html +1 -1
  32. package/docs/modules/shutingyard.html +1 -1
  33. package/esm/main.d.ts +41 -1
  34. package/esm/main.js +34 -20
  35. package/esm/main.js.map +1 -1
  36. package/esm/maths/algebra/equation.d.ts +63 -18
  37. package/esm/maths/algebra/equation.js +599 -503
  38. package/esm/maths/algebra/equation.js.map +1 -1
  39. package/esm/maths/algebra/linearSystem.d.ts +1 -1
  40. package/esm/maths/algebra/linearSystem.js +157 -104
  41. package/esm/maths/algebra/linearSystem.js.map +1 -1
  42. package/esm/maths/algebra/logicalset.d.ts +11 -0
  43. package/esm/maths/algebra/logicalset.js +18 -6
  44. package/esm/maths/algebra/logicalset.js.map +1 -1
  45. package/esm/maths/algebra/monom.d.ts +142 -1
  46. package/esm/maths/algebra/monom.js +633 -405
  47. package/esm/maths/algebra/monom.js.map +1 -1
  48. package/esm/maths/algebra/polynom.d.ts +52 -3
  49. package/esm/maths/algebra/polynom.js +1003 -720
  50. package/esm/maths/algebra/polynom.js.map +1 -1
  51. package/esm/maths/algebra/rational.d.ts +13 -1
  52. package/esm/maths/algebra/rational.js +98 -83
  53. package/esm/maths/algebra/rational.js.map +1 -1
  54. package/esm/maths/coefficients/fraction.d.ts +18 -0
  55. package/esm/maths/coefficients/fraction.js +390 -332
  56. package/esm/maths/coefficients/fraction.js.map +1 -1
  57. package/esm/maths/coefficients/nthroot.d.ts +3 -0
  58. package/esm/maths/coefficients/nthroot.js +48 -33
  59. package/esm/maths/coefficients/nthroot.js.map +1 -1
  60. package/esm/maths/expressions/numexp.js +13 -5
  61. package/esm/maths/expressions/numexp.js.map +1 -1
  62. package/esm/maths/expressions/polynomexp.bkp.d.ts +2 -2
  63. package/esm/maths/expressions/polynomexp.bkp.js +95 -95
  64. package/esm/maths/expressions/polynomexp.bkp.js.map +1 -1
  65. package/esm/maths/expressions/polynomexp.d.ts +2 -2
  66. package/esm/maths/expressions/polynomexp.js +27 -14
  67. package/esm/maths/expressions/polynomexp.js.map +1 -1
  68. package/esm/maths/geometry/circle.d.ts +20 -8
  69. package/esm/maths/geometry/circle.js +148 -50
  70. package/esm/maths/geometry/circle.js.map +1 -1
  71. package/esm/maths/geometry/line.d.ts +11 -4
  72. package/esm/maths/geometry/line.js +251 -193
  73. package/esm/maths/geometry/line.js.map +1 -1
  74. package/esm/maths/geometry/point.d.ts +13 -1
  75. package/esm/maths/geometry/point.js +124 -76
  76. package/esm/maths/geometry/point.js.map +1 -1
  77. package/esm/maths/geometry/triangle.d.ts +23 -1
  78. package/esm/maths/geometry/triangle.js +197 -158
  79. package/esm/maths/geometry/triangle.js.map +1 -1
  80. package/esm/maths/geometry/vector.d.ts +5 -1
  81. package/esm/maths/geometry/vector.js +139 -115
  82. package/esm/maths/geometry/vector.js.map +1 -1
  83. package/esm/maths/numeric.d.ts +17 -0
  84. package/esm/maths/numeric.js +40 -0
  85. package/esm/maths/numeric.js.map +1 -1
  86. package/esm/maths/{random/index.d.ts → randomization/random.d.ts} +3 -2
  87. package/esm/maths/{random/index.js → randomization/random.js} +6 -2
  88. package/esm/maths/randomization/random.js.map +1 -0
  89. package/esm/maths/{random → randomization}/randomCore.d.ts +0 -0
  90. package/esm/maths/randomization/randomCore.js +22 -0
  91. package/esm/maths/randomization/randomCore.js.map +1 -0
  92. package/esm/maths/{random → randomization}/rndFraction.d.ts +4 -1
  93. package/esm/maths/randomization/rndFraction.js +40 -0
  94. package/esm/maths/randomization/rndFraction.js.map +1 -0
  95. package/esm/maths/randomization/rndHelpers.d.ts +25 -0
  96. package/esm/maths/{random → randomization}/rndHelpers.js +20 -0
  97. package/esm/maths/randomization/rndHelpers.js.map +1 -0
  98. package/esm/maths/{random → randomization}/rndMonom.d.ts +4 -1
  99. package/esm/maths/randomization/rndMonom.js +53 -0
  100. package/esm/maths/randomization/rndMonom.js.map +1 -0
  101. package/esm/maths/{random → randomization}/rndPolynom.d.ts +4 -1
  102. package/esm/maths/randomization/rndPolynom.js +75 -0
  103. package/esm/maths/randomization/rndPolynom.js.map +1 -0
  104. package/esm/maths/{random → randomization}/rndTypes.d.ts +0 -0
  105. package/esm/maths/{random → randomization}/rndTypes.js +0 -0
  106. package/esm/maths/randomization/rndTypes.js.map +1 -0
  107. package/esm/maths/shutingyard.d.ts +21 -0
  108. package/esm/maths/shutingyard.js +86 -9
  109. package/esm/maths/shutingyard.js.map +1 -1
  110. package/package.json +2 -2
  111. package/public/index.html +47 -0
  112. package/src/main.ts +17 -15
  113. package/src/maths/algebra/equation.ts +144 -129
  114. package/src/maths/algebra/linearSystem.ts +2 -2
  115. package/src/maths/algebra/monom.ts +1 -1
  116. package/src/maths/algebra/polynom.ts +136 -136
  117. package/src/maths/algebra/rational.ts +1 -1
  118. package/src/maths/expressions/numexp.ts +1 -1
  119. package/src/maths/expressions/polynomexp.bkp.ts +2 -2
  120. package/src/maths/expressions/polynomexp.ts +2 -2
  121. package/src/maths/geometry/circle.ts +172 -77
  122. package/src/maths/geometry/line.ts +4 -3
  123. package/src/maths/geometry/point.ts +26 -3
  124. package/src/maths/geometry/triangle.ts +1 -1
  125. package/src/maths/geometry/vector.ts +1 -1
  126. package/src/maths/numeric.ts +15 -0
  127. package/src/maths/{random/index.ts → randomization/random.ts} +3 -2
  128. package/src/maths/{random → randomization}/randomCore.ts +0 -0
  129. package/src/maths/{random → randomization}/rndFraction.ts +2 -2
  130. package/src/maths/{random → randomization}/rndHelpers.ts +0 -0
  131. package/src/maths/{random → randomization}/rndMonom.ts +2 -2
  132. package/src/maths/{random → randomization}/rndPolynom.ts +3 -3
  133. package/src/maths/{random → randomization}/rndTypes.ts +0 -0
  134. package/tests/algebra/monom.test.ts +1 -1
  135. package/tests/algebra/polynom.test.ts +8 -9
  136. package/tests/geometry/circle.test.ts +33 -0
  137. package/tsconfig.json +2 -2
  138. package/webpack-production-min.config.js +26 -0
  139. package/webpack-production.config.js +1 -1
  140. package/dev/pi.js +0 -5392
  141. package/dev/pi.js.map +0 -1
  142. package/esm/maths/algebra/index.d.ts +0 -7
  143. package/esm/maths/algebra/index.js +0 -20
  144. package/esm/maths/algebra/index.js.map +0 -1
  145. package/esm/maths/coefficients/index.d.ts +0 -2
  146. package/esm/maths/coefficients/index.js +0 -15
  147. package/esm/maths/coefficients/index.js.map +0 -1
  148. package/esm/maths/geometry/index.d.ts +0 -5
  149. package/esm/maths/geometry/index.js +0 -18
  150. package/esm/maths/geometry/index.js.map +0 -1
  151. package/esm/maths/random/index.js.map +0 -1
  152. package/esm/maths/random/randomCore.js +0 -22
  153. package/esm/maths/random/randomCore.js.map +0 -1
  154. package/esm/maths/random/rndFraction.js +0 -37
  155. package/esm/maths/random/rndFraction.js.map +0 -1
  156. package/esm/maths/random/rndHelpers.d.ts +0 -8
  157. package/esm/maths/random/rndHelpers.js.map +0 -1
  158. package/esm/maths/random/rndMonom.js +0 -46
  159. package/esm/maths/random/rndMonom.js.map +0 -1
  160. package/esm/maths/random/rndPolynom.js +0 -63
  161. package/esm/maths/random/rndPolynom.js.map +0 -1
  162. package/esm/maths/random/rndTypes.js.map +0 -1
  163. package/src/maths/algebra/index.ts +0 -7
  164. package/src/maths/coefficients/index.ts +0 -2
  165. package/src/maths/geometry/index.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.0.33",
3
+ "version": "0.0.36",
4
4
  "description": "A math library for teacher :)",
5
5
  "scripts": {
6
6
  "test": "mocha -r ts-node/register 'tests/**/*.test.ts'",
7
7
  "dev": "webpack --watch --config webpack.config.js",
8
- "production": "webpack --config webpack-production.config.js && tsc --build",
8
+ "production": "webpack --config webpack-production.config.js && webpack --config webpack-production-min.config.js && tsc --build",
9
9
  "docs": "typedoc"
10
10
  },
11
11
  "keywords": [
package/public/index.html CHANGED
@@ -38,7 +38,54 @@
38
38
  <div x-html="d"></div>
39
39
  <div x-html="i"></div>
40
40
  </div>
41
+
42
+ <div x-data="triplets">
43
+ <template x-for="(item, index) of tripletsPytha" :key="index">
44
+ <div x-text="item.join(',')"></div>
45
+ </template>
46
+ </div>
41
47
  <script>
48
+ function triplets() {
49
+ let triplets = []
50
+ let n = 9, v
51
+
52
+ for(let u = 2; u<=n; u++){
53
+ v = ( u%2===0 )?1:2
54
+ while(v < u){
55
+ if(Pi.Numeric.gcd(u, v)===1){
56
+ triplets.push([
57
+ u, v,
58
+ u**2-v**2,
59
+ 2*u*v,
60
+ u**2+v**2
61
+ ])
62
+ }
63
+ v = v + 2
64
+ }
65
+ }
66
+
67
+ let target = 13
68
+ // Filtrer les triplets pour n'avoir que les valeurs 15.
69
+ triplets = triplets.filter(x=>x[x.length-1]===target)
70
+
71
+
72
+
73
+ // méthode inverse, à partir du triplet.
74
+ triplets = []
75
+ for(let u = 0; u <= target; u++){
76
+ for(let v = 0; v <=target; v++){
77
+ if(u**2+v**2===target**2){
78
+ triplets.push([u, v, target])
79
+ }
80
+ }
81
+ }
82
+
83
+ return {
84
+ tripletsPytha: triplets
85
+ }
86
+ }
87
+
88
+
42
89
  // Should be
43
90
  function examplePolynomExpSimple () {
44
91
  const F1 = new Pi.PolynomExpFactor('x^2-4x+7', -1),
package/src/main.ts CHANGED
@@ -1,23 +1,24 @@
1
1
  import {Numeric} from "./maths/numeric";
2
2
  import {NumExp} from "./maths/expressions/numexp";
3
3
  import {Shutingyard} from "./maths/shutingyard";
4
- import {Random} from "./maths/random";
5
- import {Fraction, Nthroot} from "./maths/coefficients";
6
- import {
7
- Monom,
8
- Polynom,
9
- Equation,
10
- LinearSystem,
11
- Rational,
12
- Logicalset,
13
- PolynomExpFactor,
14
- PolynomExpProduct
15
- } from "./maths/algebra";
16
- import {Line, Circle, Triangle, Point, Vector} from "./maths/geometry";
4
+ import {Random} from "./maths/randomization/random";
5
+ import {Fraction} from "./maths/coefficients/fraction";
6
+ import {Nthroot} from "./maths/coefficients/nthroot";
7
+ import {Monom} from "./maths/algebra/monom";
8
+ import {Polynom} from "./maths/algebra/polynom";
9
+ import {Equation} from "./maths/algebra/equation";
10
+ import {LinearSystem} from "./maths/algebra/linearSystem";
11
+ import {Rational} from "./maths/algebra/rational";
12
+ import {Logicalset} from "./maths/algebra/logicalset";
13
+ import {PolynomExpFactor, PolynomExpProduct} from "./maths/expressions/polynomexp";
14
+ import {Vector} from "./maths/geometry/vector";
15
+ import {Line} from "./maths/geometry/line";
16
+ import {Triangle} from "./maths/geometry/triangle";
17
+ import {Circle} from "./maths/geometry/circle";
18
+ import {Point} from "./maths/geometry/point";
17
19
 
18
20
  // Expose as global
19
- // export let Pi = {
20
- (<any>window).Pi = {
21
+ export const Pi = {
21
22
  ShutingYard: Shutingyard,
22
23
  Numeric: Numeric,
23
24
  NumExp: NumExp,
@@ -40,3 +41,4 @@ import {Line, Circle, Triangle, Point, Vector} from "./maths/geometry";
40
41
  Circle: Circle
41
42
  }
42
43
  };
44
+ (<any>window).Pi = Pi
@@ -1,7 +1,8 @@
1
1
  import {Polynom} from "./polynom";
2
- import {Monom} from "./monom";
2
+ import {literalType, Monom} from "./monom";
3
3
  import {Numeric} from "../numeric";
4
- import {Fraction, Nthroot} from "../coefficients";
4
+ import {Fraction} from "../coefficients/fraction";
5
+ import {Nthroot} from "../coefficients/nthroot";
5
6
 
6
7
  /**
7
8
  * Equation is a class to manage equations...
@@ -13,13 +14,7 @@ interface ISolution {
13
14
  }
14
15
 
15
16
  export class Equation {
16
- private _left: Polynom; // Left part of the equation
17
- private _right: Polynom; // Right part of the equation
18
- private _sign: string; // Signe of the equation, by default =
19
-
20
17
  private _polynom: Polynom; // Used to solve the equation // TODO: remove the private value ?
21
- private _solutions: ISolution[]
22
-
23
18
  // Undetermined texSolutions.
24
19
  private _varnothing: string = '\\varnothing';
25
20
  private _real: string = '\\mathbb{R}';
@@ -36,21 +31,21 @@ export class Equation {
36
31
  this._sign = '=';
37
32
 
38
33
  if (equations.length === 1) {
39
- if(equations[0] instanceof Equation) {
34
+ if (equations[0] instanceof Equation) {
40
35
  return equations[0].clone();
41
- } else if(typeof equations[0] === 'string') {
36
+ } else if (typeof equations[0] === 'string') {
42
37
  this.parse(equations[0]);
43
38
  }
44
39
  } else if (equations.length === 2) {
45
- if(equations[0] instanceof Polynom){
40
+ if (equations[0] instanceof Polynom) {
46
41
  this.left = equations[0].clone()
47
- }else if(typeof equations[0] === 'string'){
42
+ } else if (typeof equations[0] === 'string') {
48
43
  this.left = new Polynom(equations[0])
49
44
  }
50
45
 
51
- if(equations[1] instanceof Polynom){
46
+ if (equations[1] instanceof Polynom) {
52
47
  this.right = equations[1].clone()
53
- }else if(typeof equations[1] === 'string'){
48
+ } else if (typeof equations[1] === 'string') {
54
49
  this.right = new Polynom(equations[1])
55
50
  }
56
51
  } else {
@@ -61,16 +56,51 @@ export class Equation {
61
56
  return this;
62
57
  }
63
58
 
64
- get isEquation() {
65
- return true;
59
+ private _left: Polynom; // Left part of the equation
60
+
61
+ get left(): Polynom {
62
+ return this._left;
63
+ }
64
+
65
+ set left(value: Polynom) {
66
+ this._left = value;
67
+ }
68
+
69
+ private _right: Polynom; // Right part of the equation
70
+
71
+ get right(): Polynom {
72
+ return this._right;
66
73
  }
67
74
 
68
75
  // ------------------------------------------
69
76
  // Getter and setter
77
+
78
+ set right(value: Polynom) {
79
+ this._right = value;
80
+ }
81
+
82
+ private _sign: string; // Signe of the equation, by default =
83
+
84
+ get sign(): string {
85
+ return this._sign;
86
+ }
87
+
88
+ set sign(value: string) {
89
+ // Set the sign value as formatted.
90
+ this._sign = this._formatSign(value);
91
+ }
92
+
93
+ private _solutions: ISolution[]
94
+
70
95
  // ------------------------------------------
71
96
  get solutions(): ISolution[] {
72
97
  return this._solutions
73
98
  }
99
+
100
+ get isEquation() {
101
+ return true;
102
+ }
103
+
74
104
  get solution(): string {
75
105
  if (this._solutions.length === 1
76
106
  &&
@@ -117,7 +147,6 @@ export class Equation {
117
147
  return `${this._left.display}${this.signAsTex}${this._right.display}`;
118
148
  }
119
149
 
120
-
121
150
  get raw(): string {
122
151
  return `${this._left.raw}${this.signAsTex}${this._right.raw}`;
123
152
  }
@@ -130,34 +159,23 @@ export class Equation {
130
159
  return this.variables.length;
131
160
  }
132
161
 
133
- get left(): Polynom {
134
- return this._left;
135
- }
136
-
137
- set left(value: Polynom) {
138
- this._left = value;
139
- }
140
162
 
141
- get right(): Polynom {
142
- return this._right;
143
- }
163
+ // ------------------------------------------
164
+ // Creation / parsing functions
144
165
 
145
- set right(value: Polynom) {
146
- this._right = value;
147
- }
166
+ // -----------------------------------------------
167
+ private _randomizeDefaults: { [key: string]: number | string | boolean } = {
168
+ degree: 2
169
+ };
148
170
 
149
- get sign(): string {
150
- return this._sign;
171
+ get randomizeDefaults(): { [key: string]: number | string | boolean } {
172
+ return this._randomizeDefaults;
151
173
  }
152
174
 
153
- set sign(value: string) {
154
- // Set the sign value as formatted.
155
- this._sign = this._formatSign(value);
175
+ set randomizeDefaults(value) {
176
+ this._randomizeDefaults = value;
156
177
  }
157
178
 
158
-
159
- // ------------------------------------------
160
- // Creation / parsing functions
161
179
  // ------------------------------------------
162
180
  parse = (equationString: string): Equation => {
163
181
  let pStr: string[], strSign: string | false;
@@ -175,77 +193,6 @@ export class Equation {
175
193
  return this.create(new Polynom(pStr[0]), new Polynom(pStr[1]), this._formatSign(strSign));
176
194
  };
177
195
 
178
- private _findSign = (equationString: string): string | false => {
179
- let strSign: string = '';
180
-
181
- if (equationString.includes('geq')) {
182
- return (equationString.includes('\\geq')) ? '\\geq' : 'geq';
183
- } else if (equationString.includes('leq')) {
184
- return (equationString.includes('\\leq')) ? '\\leq' : 'leq';
185
- } else if (equationString.includes('>=')) {
186
- return '>=';
187
- } else if (equationString.includes('=>')) {
188
- return '=>';
189
- } else if (equationString.includes('>')) {
190
- return '>';
191
- } else if (equationString.includes('<=')) {
192
- return '<=';
193
- } else if (equationString.includes('=<')) {
194
- return '=<';
195
- } else if (equationString.includes('<')) {
196
- return '<';
197
- } else if (equationString.includes('=')) {
198
- return '='
199
- }
200
- if (strSign === '') {
201
- console.log('Equation: parse string : sign not found');
202
- return false;
203
- }
204
- };
205
-
206
- private _formatSign = (signStr: string): string => {
207
- if (signStr === undefined) {
208
- return '=';
209
- }
210
-
211
- if (signStr.includes('geq')) {
212
- return '>=';
213
- } else if (signStr.includes('>=')) {
214
- return '>=';
215
- } else if (signStr.includes('=>')) {
216
- return '>=';
217
- } else if (signStr.includes('>')) {
218
- return '>';
219
- } else if (signStr.includes('leq')) {
220
- return '<=';
221
- } else if (signStr.includes('<=')) {
222
- return '<=';
223
- } else if (signStr.includes('=<')) {
224
- return '<=';
225
- } else if (signStr.includes('<')) {
226
- return '<';
227
- } else {
228
- return '='
229
- }
230
- };
231
-
232
- private _reverseSign = (): Equation => {
233
- if (this._sign === '=') {
234
- return this;
235
- }
236
-
237
- if (this._sign.includes('<')) {
238
- this._sign.replace('<', '>');
239
- return this;
240
- }
241
- if (this._sign.includes('>')) {
242
- this._sign.replace('>', '<');
243
- return this;
244
- }
245
-
246
- return this;
247
- };
248
-
249
196
  create = (left: Polynom, right: Polynom, sign?: string): Equation => {
250
197
  this._left = left;
251
198
  this._right = right;
@@ -259,26 +206,12 @@ export class Equation {
259
206
 
260
207
  // -----------------------------------------------
261
208
  // Equations generators and randomizers
262
- // -----------------------------------------------
263
- private _randomizeDefaults: { [key: string]: number | string | boolean } = {
264
- degree: 2
265
- };
266
- get randomizeDefaults(): { [key: string]: number | string | boolean } {
267
- return this._randomizeDefaults;
268
- }
269
-
270
- set randomizeDefaults(value) {
271
- this._randomizeDefaults = value;
272
- }
273
209
 
274
210
  randomize = (opts?: {}, sign?: string): Equation => {
275
211
  // TODO: Generate equations randomly, using config.
276
212
  return new Equation().create(new Polynom(), new Polynom(), sign);
277
213
  };
278
214
 
279
-
280
- // -----------------------------------------------
281
- // Equations operations
282
215
  // -----------------------------------------------
283
216
  /**
284
217
  * Reorder will move all monoms containing a letter on the left, all the other on the right.
@@ -288,6 +221,7 @@ export class Equation {
288
221
  this._right.zero()
289
222
  return this;
290
223
  }
224
+
291
225
  reorder = (allLeft?: boolean): Equation => {
292
226
  // Move all monoms of degree greater than 0 to the left.
293
227
  // and all zero degree monoms to the right.
@@ -321,6 +255,10 @@ export class Equation {
321
255
  return this;
322
256
  }
323
257
 
258
+
259
+ // -----------------------------------------------
260
+ // Equations operations
261
+
324
262
  /**
325
263
  * Reorder the polynom to have only one letter on the left, the rest on the right.
326
264
  * @param letter
@@ -415,10 +353,6 @@ export class Equation {
415
353
  }
416
354
  }
417
355
 
418
- // -----------------------------------------------
419
- // Equations helpers
420
- // -----------------------------------------------
421
-
422
356
  /**
423
357
  * Get the degree of the equation
424
358
  * @param letter
@@ -440,7 +374,9 @@ export class Equation {
440
374
  }
441
375
 
442
376
  // -----------------------------------------------
443
- // Equations solving algorithms
377
+ // Equations helpers
378
+ // -----------------------------------------------
379
+
444
380
  // -----------------------------------------------
445
381
  solve = (): Equation => {
446
382
  // Initialise the variables:
@@ -464,6 +400,84 @@ export class Equation {
464
400
  return this;
465
401
  };
466
402
 
403
+ test = (values: literalType): Boolean => {
404
+ return this.left.evaluate(values).isEqual(this.right.evaluate(values))
405
+ }
406
+
407
+ private _findSign = (equationString: string): string | false => {
408
+ let strSign: string = '';
409
+
410
+ if (equationString.includes('geq')) {
411
+ return (equationString.includes('\\geq')) ? '\\geq' : 'geq';
412
+ } else if (equationString.includes('leq')) {
413
+ return (equationString.includes('\\leq')) ? '\\leq' : 'leq';
414
+ } else if (equationString.includes('>=')) {
415
+ return '>=';
416
+ } else if (equationString.includes('=>')) {
417
+ return '=>';
418
+ } else if (equationString.includes('>')) {
419
+ return '>';
420
+ } else if (equationString.includes('<=')) {
421
+ return '<=';
422
+ } else if (equationString.includes('=<')) {
423
+ return '=<';
424
+ } else if (equationString.includes('<')) {
425
+ return '<';
426
+ } else if (equationString.includes('=')) {
427
+ return '='
428
+ }
429
+ if (strSign === '') {
430
+ console.log('Equation: parse string : sign not found');
431
+ return false;
432
+ }
433
+ };
434
+
435
+ // -----------------------------------------------
436
+ // Equations solving algorithms
437
+
438
+ private _formatSign = (signStr: string): string => {
439
+ if (signStr === undefined) {
440
+ return '=';
441
+ }
442
+
443
+ if (signStr.includes('geq')) {
444
+ return '>=';
445
+ } else if (signStr.includes('>=')) {
446
+ return '>=';
447
+ } else if (signStr.includes('=>')) {
448
+ return '>=';
449
+ } else if (signStr.includes('>')) {
450
+ return '>';
451
+ } else if (signStr.includes('leq')) {
452
+ return '<=';
453
+ } else if (signStr.includes('<=')) {
454
+ return '<=';
455
+ } else if (signStr.includes('=<')) {
456
+ return '<=';
457
+ } else if (signStr.includes('<')) {
458
+ return '<';
459
+ } else {
460
+ return '='
461
+ }
462
+ };
463
+
464
+ private _reverseSign = (): Equation => {
465
+ if (this._sign === '=') {
466
+ return this;
467
+ }
468
+
469
+ if (this._sign.includes('<')) {
470
+ this._sign.replace('<', '>');
471
+ return this;
472
+ }
473
+ if (this._sign.includes('>')) {
474
+ this._sign.replace('>', '<');
475
+ return this;
476
+ }
477
+
478
+ return this;
479
+ };
480
+
467
481
  private isGreater = (): boolean => {
468
482
  if (this._sign.indexOf('>') !== -1) {
469
483
  return true;
@@ -471,9 +485,11 @@ export class Equation {
471
485
  return this._sign.indexOf('geq') !== -1;
472
486
 
473
487
  };
488
+
474
489
  private isStrictEqual = (): boolean => {
475
490
  return this._sign === '=';
476
491
  };
492
+
477
493
  private isAlsoEqual = (): boolean => {
478
494
  if (this._sign.indexOf('=') !== -1) {
479
495
  return true;
@@ -752,5 +768,4 @@ export class Equation {
752
768
  this._solutions = [{tex: 'solve x - not yet handled', value: NaN, exact: false}]; // ESLint remove system :(
753
769
  return this._solutions;
754
770
  };
755
-
756
771
  }
@@ -1,8 +1,8 @@
1
- import {Fraction} from "../coefficients";
2
1
  import {Equation} from "./equation";
3
2
  import {Polynom} from "./polynom";
4
3
  import {Monom} from "./monom";
5
- import {Random} from "../random";
4
+ import {Random} from "../randomization/random";
5
+ import {Fraction} from "../coefficients/fraction";
6
6
 
7
7
  // TODO: Must check and rework
8
8
  export class LinearSystem {
@@ -1,10 +1,10 @@
1
1
  /***
2
2
  * Monom class
3
3
  */
4
- import {Fraction} from "../coefficients";
5
4
  import {Numeric} from "../numeric";
6
5
  import {Shutingyard, ShutingyardType, Token, tokenType} from "../shutingyard";
7
6
  import {log} from "util";
7
+ import {Fraction} from "../coefficients/fraction";
8
8
 
9
9
  export type literalType = {
10
10
  [Key: string]: Fraction