pimath 0.0.120 → 0.0.122

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 (175) hide show
  1. package/.idea/PI.iml +7 -1
  2. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +90 -0
  3. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]1/shelved.patch +107 -0
  4. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +4 -0
  5. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_1.xml +4 -0
  6. package/LICENSE.md +1 -1
  7. package/dev/pimath.js +7929 -0
  8. package/dev/pimath.js.map +1 -0
  9. package/dist/{pi.js → pimath.js} +7613 -7840
  10. package/dist/pimath.js.map +1 -0
  11. package/dist/pimath.min.js +2 -0
  12. package/dist/pimath.min.js.map +1 -0
  13. package/docs/assets/main.js +58 -58
  14. package/docs/assets/search.js +1 -1
  15. package/docs/assets/style.css +1367 -1280
  16. package/docs/classes/Logicalset.Logicalset.html +221 -212
  17. package/docs/classes/Polynom.Rational.html +391 -388
  18. package/docs/classes/Vector-1.Vector.html +494 -448
  19. package/docs/classes/Vector.Point.html +341 -342
  20. package/docs/classes/algebra_equation.Equation.html +796 -753
  21. package/docs/classes/algebra_linearSystem.LinearSystem.html +408 -397
  22. package/docs/classes/algebra_monom.Monom.html +967 -910
  23. package/docs/classes/algebra_polynom.Polynom.html +1281 -1260
  24. package/docs/classes/coefficients_fraction.Fraction.html +939 -931
  25. package/docs/classes/geometry_circle.Circle.html +476 -476
  26. package/docs/classes/geometry_line.Line.html +779 -719
  27. package/docs/classes/geometry_triangle.Triangle.html +429 -420
  28. package/docs/classes/numeric.Numeric.html +269 -263
  29. package/docs/classes/shutingyard.Shutingyard.html +259 -248
  30. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +89 -88
  31. package/docs/enums/geometry_line.LinePropriety.html +102 -102
  32. package/docs/enums/shutingyard.ShutingyardMode.html +106 -102
  33. package/docs/enums/shutingyard.ShutingyardType.html +120 -116
  34. package/docs/index.html +63 -65
  35. package/docs/interfaces/algebra_equation.ISolution.html +111 -109
  36. package/docs/interfaces/algebra_polynom.IEuclidian.html +93 -92
  37. package/docs/interfaces/geometry_triangle.remarquableLines.html +150 -150
  38. package/docs/modules/Logicalset.html +69 -74
  39. package/docs/modules/Polynom.html +69 -74
  40. package/docs/modules/Vector-1.html +69 -74
  41. package/docs/modules/Vector.html +69 -74
  42. package/docs/modules/algebra_equation.html +75 -81
  43. package/docs/modules/algebra_linearSystem.html +65 -71
  44. package/docs/modules/algebra_monom.html +70 -76
  45. package/docs/modules/algebra_polynom.html +75 -81
  46. package/docs/modules/coefficients_fraction.html +70 -76
  47. package/docs/modules/geometry_circle.html +65 -71
  48. package/docs/modules/geometry_line.html +70 -76
  49. package/docs/modules/geometry_triangle.html +70 -76
  50. package/docs/modules/numeric.html +65 -71
  51. package/docs/modules/shutingyard.html +84 -90
  52. package/docs/types/algebra_monom.literalType.html +66 -70
  53. package/docs/types/algebra_polynom.PolynomParsingType.html +62 -66
  54. package/docs/types/coefficients_fraction.FractionParsingType.html +61 -65
  55. package/docs/types/shutingyard.Token.html +72 -76
  56. package/docs/types/shutingyard.tokenType.html +77 -81
  57. package/docs/variables/shutingyard.tokenConstant.html +70 -74
  58. package/esm/index.d.ts +38 -41
  59. package/esm/index.js +43 -46
  60. package/esm/index.js.map +1 -1
  61. package/esm/maths/algebra/equation.d.ts +119 -117
  62. package/esm/maths/algebra/equation.js +796 -785
  63. package/esm/maths/algebra/equation.js.map +1 -1
  64. package/esm/maths/algebra/linearSystem.d.ts +39 -38
  65. package/esm/maths/algebra/linearSystem.js +278 -262
  66. package/esm/maths/algebra/linearSystem.js.map +1 -1
  67. package/esm/maths/algebra/logicalset.d.ts +28 -28
  68. package/esm/maths/algebra/logicalset.js +157 -157
  69. package/esm/maths/algebra/monom.d.ts +206 -206
  70. package/esm/maths/algebra/monom.js +908 -908
  71. package/esm/maths/algebra/monom.js.map +1 -1
  72. package/esm/maths/algebra/polynom.d.ts +157 -157
  73. package/esm/maths/algebra/polynom.js +1277 -1277
  74. package/esm/maths/algebra/rational.d.ts +45 -45
  75. package/esm/maths/algebra/rational.js +183 -183
  76. package/esm/maths/algebra/study/rationalStudy.d.ts +28 -28
  77. package/esm/maths/algebra/study/rationalStudy.js +243 -243
  78. package/esm/maths/algebra/study.d.ts +143 -142
  79. package/esm/maths/algebra/study.js +378 -377
  80. package/esm/maths/algebra/study.js.map +1 -1
  81. package/esm/maths/coefficients/fraction.d.ts +90 -90
  82. package/esm/maths/coefficients/fraction.js +516 -516
  83. package/esm/maths/coefficients/fraction.js.map +1 -1
  84. package/esm/maths/coefficients/nthRoot.d.ts +23 -23
  85. package/esm/maths/coefficients/nthRoot.js +136 -136
  86. package/esm/maths/geometry/circle.d.ts +45 -45
  87. package/esm/maths/geometry/circle.js +323 -323
  88. package/esm/maths/geometry/line.d.ts +99 -99
  89. package/esm/maths/geometry/line.js +481 -481
  90. package/esm/maths/geometry/line.js.map +1 -1
  91. package/esm/maths/geometry/point.d.ts +34 -34
  92. package/esm/maths/geometry/point.js +166 -166
  93. package/esm/maths/geometry/point.js.map +1 -1
  94. package/esm/maths/geometry/triangle.d.ts +85 -85
  95. package/esm/maths/geometry/triangle.js +268 -268
  96. package/esm/maths/geometry/vector.d.ts +41 -41
  97. package/esm/maths/geometry/vector.js +197 -197
  98. package/esm/maths/geometry/vector.js.map +1 -1
  99. package/esm/maths/numeric.d.ts +28 -28
  100. package/esm/maths/numeric.js +180 -180
  101. package/esm/maths/numexp.d.ts +19 -0
  102. package/esm/maths/numexp.js +186 -0
  103. package/esm/maths/numexp.js.map +1 -0
  104. package/esm/maths/randomization/random.d.ts +23 -23
  105. package/esm/maths/randomization/random.js +78 -78
  106. package/esm/maths/randomization/random.js.map +1 -1
  107. package/esm/maths/randomization/randomCore.d.ts +7 -7
  108. package/esm/maths/randomization/randomCore.js +21 -21
  109. package/esm/maths/randomization/rndFraction.d.ts +12 -12
  110. package/esm/maths/randomization/rndFraction.js +43 -43
  111. package/esm/maths/randomization/rndGeometryLine.d.ts +12 -12
  112. package/esm/maths/randomization/rndGeometryLine.js +45 -45
  113. package/esm/maths/randomization/rndGeometryPoint.d.ts +12 -12
  114. package/esm/maths/randomization/rndGeometryPoint.js +60 -60
  115. package/esm/maths/randomization/rndHelpers.d.ts +23 -23
  116. package/esm/maths/randomization/rndHelpers.js +76 -76
  117. package/esm/maths/randomization/rndMonom.d.ts +12 -12
  118. package/esm/maths/randomization/rndMonom.js +52 -52
  119. package/esm/maths/randomization/rndPolynom.d.ts +13 -13
  120. package/esm/maths/randomization/rndPolynom.js +74 -74
  121. package/esm/maths/randomization/rndTypes.d.ts +34 -34
  122. package/esm/maths/randomization/rndTypes.js +2 -2
  123. package/esm/maths/shutingyard.d.ts +59 -59
  124. package/esm/maths/shutingyard.js +442 -442
  125. package/esm/maths/shutingyard.js.map +1 -1
  126. package/package.json +11 -11
  127. package/public/index.html +50 -81
  128. package/public/playground.html +7 -8
  129. package/src/index.ts +1 -4
  130. package/src/maths/algebra/equation.ts +16 -0
  131. package/src/maths/algebra/linearSystem.ts +20 -0
  132. package/src/maths/algebra/study.ts +12 -10
  133. package/src/maths/{expressions/numexp.ts → numexp.ts} +2 -2
  134. package/tests/algebra/equation.test.ts +19 -5
  135. package/tests/algebra/linear.test.ts +3 -11
  136. package/tests/algebra/polynom.test.ts +7 -8
  137. package/tests/algebra/rationnal.test.ts +1 -1
  138. package/tests/algebra/study.test.ts +2 -9
  139. package/tests/coefficients/fraction.test.ts +8 -8
  140. package/tests/custom.test.ts +33 -37
  141. package/tests/numeric.test.ts +1 -2
  142. package/tests/numexp.test.ts +13 -5
  143. package/tests/shutingyard.test.ts +3 -3
  144. package/webpack-production-min.config.js +1 -1
  145. package/webpack-production.config.js +1 -1
  146. package/webpack.config.js +1 -1
  147. package/dist/pi.js.map +0 -1
  148. package/dist/pi.min.js +0 -2
  149. package/dist/pi.min.js.map +0 -1
  150. package/docs/classes/expressions_numexp.NumExp.html +0 -236
  151. package/docs/classes/expressions_polynomexp.PolynomExpFactor.html +0 -317
  152. package/docs/classes/expressions_polynomexp.PolynomExpProduct.html +0 -285
  153. package/docs/modules/expressions_numexp.html +0 -71
  154. package/docs/modules/expressions_polynomexp.html +0 -73
  155. package/docs/modules.html +0 -76
  156. package/graph.svg +0 -1033
  157. package/src/maths/expressions/ExpressionTree.ts +0 -172
  158. package/src/maths/expressions/expression.ts +0 -286
  159. package/src/maths/expressions/expressionFactor.ts +0 -190
  160. package/src/maths/expressions/expressionMember.ts +0 -233
  161. package/src/maths/expressions/expressionOperators.ts +0 -49
  162. package/src/maths/expressions/expressionParser.ts +0 -295
  163. package/src/maths/expressions/factors/ExpFactor.ts +0 -39
  164. package/src/maths/expressions/factors/ExpFactorConstant.ts +0 -60
  165. package/src/maths/expressions/factors/ExpFactorExponential.ts +0 -26
  166. package/src/maths/expressions/factors/ExpFactorNumber.ts +0 -72
  167. package/src/maths/expressions/factors/ExpFactorPower.ts +0 -42
  168. package/src/maths/expressions/factors/ExpFactorTrigo.ts +0 -53
  169. package/src/maths/expressions/factors/ExpFactorVariable.ts +0 -45
  170. package/src/maths/expressions/internals.ts +0 -14
  171. package/src/maths/expressions/polynomexp.bkp.ts +0 -221
  172. package/src/maths/expressions/polynomexp.ts +0 -310
  173. package/tests/expressions/expressions.test.ts +0 -145
  174. package/tests/expressions/expressiontree.test.ts +0 -11
  175. package/tests/polynomexp.test.ts +0 -12
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.0.120",
3
+ "version": "0.0.122",
4
4
  "description": "A math library for teacher :)",
5
5
  "scripts": {
6
6
  "test": "mocha -r ts-node/register 'tests/**/*.test.ts'",
@@ -17,18 +17,18 @@
17
17
  "devDependencies": {
18
18
  "@types/chai": "*",
19
19
  "@types/mocha": "*",
20
- "@types/node": "^18.14.5",
21
- "@typescript-eslint/eslint-plugin": "^5.54.0",
22
- "@typescript-eslint/parser": "^5.54.0",
20
+ "@types/node": "^20.4.4",
21
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
22
+ "@typescript-eslint/parser": "^6.1.0",
23
23
  "chai": "*",
24
24
  "mocha": "*",
25
- "eslint": "^8.35.0",
26
- "ts-loader": "^9.4.2",
25
+ "eslint": "^8.45.0",
26
+ "ts-loader": "^9.4.4",
27
27
  "ts-node": "^10.9.1",
28
- "typedoc": "^0.23.26",
29
- "typescript": "4.9.5",
30
- "webpack": "^5.75.0",
31
- "webpack-bundle-analyzer": "^4.8.0",
32
- "webpack-cli": "^5.0.1"
28
+ "typedoc": "^0.24.8",
29
+ "typescript": "^5.1.6",
30
+ "webpack": "^5.88.2",
31
+ "webpack-bundle-analyzer": "^4.9.0",
32
+ "webpack-cli": "^5.1.4"
33
33
  }
34
34
  }
package/public/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
7
  <title>Getting Started</title>
8
8
 
9
- <script src="../dist/pi.js"></script>
9
+ <script src="../dev/pimath.js"></script>
10
10
 
11
11
  <!-- Alpine -->
12
12
  <script src="//unpkg.com/alpinejs" defer></script>
@@ -31,12 +31,10 @@
31
31
 
32
32
  <body>
33
33
 
34
- <div x-data="examplePolynomExpSimple()">
35
- <!-- <template x-for="(item, index) of output" :key="index">-->
36
- <!-- <div class="katex-left" x-html="`\\[${item}\\]`"></div>-->
37
- <!-- </template>-->
38
- <div x-html="d"></div>
39
- <div x-html="i"></div>
34
+ <div x-data="dev()">
35
+ <template x-for="(item, index) of output" :key="index">
36
+ <div class="katex-left" x-html="`\\[${item}\\]`"></div>
37
+ </template>
40
38
  </div>
41
39
 
42
40
  <div x-data="triplets">
@@ -52,7 +50,7 @@
52
50
  for (let u = 2; u <= n; u++) {
53
51
  v = (u % 2 === 0) ? 1 : 2
54
52
  while (v < u) {
55
- if (Pi.Numeric.gcd(u, v) === 1) {
53
+ if (PiMath.Numeric.gcd(u, v) === 1) {
56
54
  triplets.push([
57
55
  u, v,
58
56
  u ** 2 - v ** 2,
@@ -85,24 +83,8 @@
85
83
  }
86
84
 
87
85
 
88
- // Should be
89
- function examplePolynomExpSimple() {
90
- const F1 = new Pi.PolynomExpFactor('x^2-4x+7', -1),
91
- F2 = new Pi.PolynomExpFactor('8x-16', 1),
92
- PP = new Pi.PolynomExpProduct(F2, F1)
93
-
94
- const D = F1.derivative()
95
- D.reduce()
96
-
97
- console.log(PP.integrate())
98
- return {
99
- d: katex.renderToString('\\left(' + F1.tex + '\\right)\'=' + D.tex),
100
- i: katex.renderToString('\\displaystyle\\int\\ ' + PP.tex + '\\ \\text{d}x = ' + PP.integrate().tex)
101
- }
102
- }
103
-
104
86
  function example() {
105
- let P = new Pi.Polynom('3x^(2/3)-5x+5/3')
87
+ let P = new PiMath.Polynom('3x^(2/3)-5x+5/3')
106
88
 
107
89
  console.log(P.tex)
108
90
 
@@ -111,23 +93,11 @@
111
93
  }
112
94
  }
113
95
 
114
- // let ne = new Pi.NumExp('5/x*sin(x*x)')
115
- // const expr2 = new Pi.NumExp('-3*x^2-5')
116
- //
117
- // console.log(expr2.evaluate({x: -2}))
118
- //
119
- //
120
- // let ne = new Pi.NumExp('5/x*sqrt(x^2)')
121
- //
122
- // console.log(ne.rpn)
123
- // console.log(ne.evaluate({x: 0}))
124
-
125
96
  function dev() {
126
97
  let output = []
127
98
 
128
99
  ex1()
129
100
  // ex1()
130
- // console.log(ex1())
131
101
  output = [
132
102
  '\\text{exercice 1}',
133
103
  ...ex1(),
@@ -141,7 +111,6 @@
141
111
  '\\text{exercice 4}',
142
112
  ...ex4()]
143
113
 
144
- // console.log(ex1())
145
114
  return {
146
115
  output
147
116
  }
@@ -167,7 +136,7 @@
167
136
  texData.push(`\\text{série ${equ}}`)
168
137
  continue
169
138
  }
170
- C = new Pi.Geometry.Circle(equ)
139
+ C = new PiMath.Geometry.Circle(equ)
171
140
  if (C.exists) {
172
141
  texData.push(equ + '\\implies ' + C.tex + '\\implies C' + C.center.tex + ',\\ r=' + C.radius.tex)
173
142
  } else {
@@ -179,16 +148,16 @@
179
148
  }
180
149
 
181
150
  function ex2() {
182
- let Center1 = new Pi.Geometry.Point(4, -2),
183
- C1 = new Pi.Geometry.Circle(Center1, 10, true),
151
+ let Center1 = new PiMath.Geometry.Point(4, -2),
152
+ C1 = new PiMath.Geometry.Circle(Center1, 10, true),
184
153
  droites1 = [
185
154
  'x+3y-8=0',
186
155
  'x-6y+6=0',
187
156
  '2x+y-1=0',
188
157
  '3x-4y-36=0'
189
158
  ],
190
- Center2 = new Pi.Geometry.Point(8, 6),
191
- C2 = new Pi.Geometry.Circle(
159
+ Center2 = new PiMath.Geometry.Point(8, 6),
160
+ C2 = new PiMath.Geometry.Circle(
192
161
  Center2,
193
162
  40,
194
163
  true),
@@ -203,7 +172,7 @@
203
172
  out.push('\\text{série A}')
204
173
  out.push('(\\Gamma_1):' + C1.tex)
205
174
  for (let equ of droites1) {
206
- d = new Pi.Geometry.Line(equ)
175
+ d = new PiMath.Geometry.Line(equ)
207
176
  pr = C1.relativePosition(d)
208
177
 
209
178
  if (pr === 0) {
@@ -218,7 +187,7 @@
218
187
  out.push('\\text{série B}')
219
188
  out.push('(\\Gamma_2):' + C2.tex)
220
189
  for (let equ of droites2) {
221
- d = new Pi.Geometry.Line(equ)
190
+ d = new PiMath.Geometry.Line(equ)
222
191
  pr = C2.relativePosition(d)
223
192
  if (pr === 0) {
224
193
  out.push(d.tex.canonical + '\\implies \\delta = ' + d.distanceTo(C2.center).tex + '\\implies \\text{externe}')
@@ -233,35 +202,35 @@
233
202
  }
234
203
 
235
204
  function ex3() {
236
- let C = new Pi.Geometry.Circle(
237
- new Pi.Geometry.Point(-14, 18),
238
- new Pi.Geometry.Point(-2, 14),
239
- new Pi.Geometry.Point(-10, 22)
240
- ), T1 = new Pi.Geometry.Triangle(new Pi.Geometry.Point(-14, 18),
241
- new Pi.Geometry.Point(-2, 14),
242
- new Pi.Geometry.Point(-10, 22))
243
-
244
- let E = new Pi.Geometry.Circle(
245
- new Pi.Geometry.Point(4, 10),
246
- new Pi.Geometry.Point(5, 5),
247
- new Pi.Geometry.Point(9, 11)
248
- ), T2 = new Pi.Geometry.Triangle(
249
- new Pi.Geometry.Point(4, 10),
250
- new Pi.Geometry.Point(5, 5),
251
- new Pi.Geometry.Point(9, 11)
205
+ let C = new PiMath.Geometry.Circle(
206
+ new PiMath.Geometry.Point(-14, 18),
207
+ new PiMath.Geometry.Point(-2, 14),
208
+ new PiMath.Geometry.Point(-10, 22)
209
+ ), T1 = new PiMath.Geometry.Triangle(new PiMath.Geometry.Point(-14, 18),
210
+ new PiMath.Geometry.Point(-2, 14),
211
+ new PiMath.Geometry.Point(-10, 22))
212
+
213
+ let E = new PiMath.Geometry.Circle(
214
+ new PiMath.Geometry.Point(4, 10),
215
+ new PiMath.Geometry.Point(5, 5),
216
+ new PiMath.Geometry.Point(9, 11)
217
+ ), T2 = new PiMath.Geometry.Triangle(
218
+ new PiMath.Geometry.Point(4, 10),
219
+ new PiMath.Geometry.Point(5, 5),
220
+ new PiMath.Geometry.Point(9, 11)
252
221
  )
253
222
 
254
223
  return [
255
224
  '\\text{2 milieux, 2 normales, 2 médiatrices, 2 intersection, 1 rayon, 1 équation}',
256
225
  '\\text{série A}',
257
- (new Pi.Geometry.Point().middleOf(T2.A, T2.B)).tex + '\\quad (m_{AB}):\\ ' + T2.remarquables.mediators.AB.tex.canonical,
258
- (new Pi.Geometry.Point().middleOf(T2.A, T2.C)).tex + '\\quad (m_{AC}):\\ ' + T2.remarquables.mediators.AC.tex.canonical,
259
- (new Pi.Geometry.Point().middleOf(T2.C, T2.B)).tex + '\\quad (m_{BC}):\\ ' + T2.remarquables.mediators.BC.tex.canonical,
226
+ (new PiMath.Geometry.Point().middleOf(T2.A, T2.B)).tex + '\\quad (m_{AB}):\\ ' + T2.remarquables.mediators.AB.tex.canonical,
227
+ (new PiMath.Geometry.Point().middleOf(T2.A, T2.C)).tex + '\\quad (m_{AC}):\\ ' + T2.remarquables.mediators.AC.tex.canonical,
228
+ (new PiMath.Geometry.Point().middleOf(T2.C, T2.B)).tex + '\\quad (m_{BC}):\\ ' + T2.remarquables.mediators.BC.tex.canonical,
260
229
  E.tex,
261
230
  '\\text{série B}',
262
- (new Pi.Geometry.Point().middleOf(T1.A, T1.B)).tex + '\\quad (m_{AB}):\\ ' + T1.remarquables.mediators.AB.tex.canonical,
263
- (new Pi.Geometry.Point().middleOf(T1.A, T1.C)).tex + '\\quad (m_{AC}):\\ ' + T1.remarquables.mediators.AC.tex.canonical,
264
- (new Pi.Geometry.Point().middleOf(T1.C, T1.B)).tex + '\\quad (m_{BC}):\\ ' + T1.remarquables.mediators.BC.tex.canonical,
231
+ (new PiMath.Geometry.Point().middleOf(T1.A, T1.B)).tex + '\\quad (m_{AB}):\\ ' + T1.remarquables.mediators.AB.tex.canonical,
232
+ (new PiMath.Geometry.Point().middleOf(T1.A, T1.C)).tex + '\\quad (m_{AC}):\\ ' + T1.remarquables.mediators.AC.tex.canonical,
233
+ (new PiMath.Geometry.Point().middleOf(T1.C, T1.B)).tex + '\\quad (m_{BC}):\\ ' + T1.remarquables.mediators.BC.tex.canonical,
265
234
  C.tex,
266
235
 
267
236
  ]
@@ -269,28 +238,28 @@
269
238
 
270
239
  function ex4() {
271
240
  // A
272
- let A = new Pi.Geometry.Point(-6, -9),
273
- C = new Pi.Geometry.Circle('(x+3)^2+(y+5)^2=25'),
274
- Oy = C.cartesian.clone().replaceBy('x', new Pi.Polynom().zero()),
275
- Ox = C.cartesian.clone().replaceBy('y', new Pi.Polynom().zero()),
276
- t = new Pi.Geometry.Line(
241
+ let A = new PiMath.Geometry.Point(-6, -9),
242
+ C = new PiMath.Geometry.Circle('(x+3)^2+(y+5)^2=25'),
243
+ Oy = C.cartesian.clone().replaceBy('x', new PiMath.Polynom().zero()),
244
+ Ox = C.cartesian.clone().replaceBy('y', new PiMath.Polynom().zero()),
245
+ t = new PiMath.Geometry.Line(
277
246
  A,
278
- new Pi.Geometry.Vector(A, C.center),
279
- Pi.Geometry.Line.PERPENDICULAR
247
+ new PiMath.Geometry.Vector(A, C.center),
248
+ PiMath.Geometry.Line.PERPENDICULAR
280
249
  )
281
250
 
282
251
  Oy.solve()
283
252
  Ox.solve()
284
253
 
285
254
  // B
286
- let A1 = new Pi.Geometry.Point(-4, -14),
287
- C1 = new Pi.Geometry.Circle('(x-10)^2+(y+6)^2=100'),
288
- Oy1 = C1.cartesian.clone().replaceBy('x', new Pi.Polynom().zero()),
289
- Ox1 = C1.cartesian.clone().replaceBy('y', new Pi.Polynom().zero()),
290
- t1 = new Pi.Geometry.Line(
255
+ let A1 = new PiMath.Geometry.Point(-4, -14),
256
+ C1 = new PiMath.Geometry.Circle('(x-10)^2+(y+6)^2=100'),
257
+ Oy1 = C1.cartesian.clone().replaceBy('x', new PiMath.Polynom().zero()),
258
+ Ox1 = C1.cartesian.clone().replaceBy('y', new PiMath.Polynom().zero()),
259
+ t1 = new PiMath.Geometry.Line(
291
260
  A1,
292
- new Pi.Geometry.Vector(A1, C1.center),
293
- Pi.Geometry.Line.PERPENDICULAR
261
+ new PiMath.Geometry.Vector(A1, C1.center),
262
+ PiMath.Geometry.Line.PERPENDICULAR
294
263
  )
295
264
 
296
265
  Oy1.solve()
@@ -2,7 +2,7 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Getting Started</title>
5
- <script src="../dev/pi.js"></script>
5
+ <script src="../dev/pimath.js"></script>
6
6
 
7
7
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
8
8
 
@@ -15,13 +15,13 @@
15
15
  <div id="output"></div>
16
16
 
17
17
  <script>
18
- let A = new Pi.Geometry.Point(0,2),
19
- B = new Pi.Geometry.Point(2,3),
20
- C = new Pi.Geometry.Point(1/2, 4),
21
- D = new Pi.Geometry.Point(2, -1/2);
18
+ let A = new PiMath.Geometry.Point(0,2),
19
+ B = new PiMath.Geometry.Point(2,3),
20
+ C = new PiMath.Geometry.Point(1/2, 4),
21
+ D = new PiMath.Geometry.Point(2, -1/2);
22
22
 
23
- let L1 = new Pi.Geometry.Line(A, B).simplifyDirection(),
24
- L2 = new Pi.Geometry.Line(C, D).simplifyDirection();
23
+ let L1 = new PiMath.Geometry.Line(A, B).simplifyDirection(),
24
+ L2 = new PiMath.Geometry.Line(C, D).simplifyDirection();
25
25
 
26
26
  document.getElementById('output').innerHTML = `<p>\\( ${L1.tex.parametric} \\)</p>`;
27
27
  document.getElementById('output').innerHTML += `<p>\\( ${L2.tex.parametric} \\)</p>`;
@@ -35,7 +35,6 @@
35
35
  document.getElementById('output').innerHTML += `<p>Elles sont confondues</p>`
36
36
  }
37
37
 
38
- console.log('RENDERING MATH')
39
38
  renderMathInElement(document.getElementById('output'), {fleqn: true});
40
39
  /*let p;
41
40
  p = new Pi.Polynom('3x(6x+9)+6(6x+9)');
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import {Numeric} from "./maths/numeric";
2
- import {NumExp} from "./maths/expressions/numexp";
2
+ import {NumExp} from "./maths/numexp";
3
3
  import {Shutingyard} from "./maths/shutingyard";
4
4
  import {Random} from "./maths/randomization/random";
5
5
  import {Fraction} from "./maths/coefficients/fraction";
@@ -10,7 +10,6 @@ import {Equation} from "./maths/algebra/equation";
10
10
  import {LinearSystem} from "./maths/algebra/linearSystem";
11
11
  import {Rational} from "./maths/algebra/rational";
12
12
  import {Logicalset} from "./maths/algebra/logicalset";
13
- import {PolynomExpFactor, PolynomExpProduct} from "./maths/expressions/polynomexp";
14
13
  import {Vector} from "./maths/geometry/vector";
15
14
  import {Line} from "./maths/geometry/line";
16
15
  import {Triangle} from "./maths/geometry/triangle";
@@ -31,8 +30,6 @@ export const PiMath = {
31
30
  Rational: Rational,
32
31
  Logicalset: Logicalset,
33
32
  Random: Random,
34
- PolynomExpFactor: PolynomExpFactor,
35
- PolynomExpProduct: PolynomExpProduct,
36
33
  Geometry: {
37
34
  Vector: Vector,
38
35
  Point: Point,
@@ -437,6 +437,22 @@ export class Equation {
437
437
  return this.left.evaluate(values).isEqual(this.right.evaluate(values))
438
438
  }
439
439
 
440
+ isSameAs = (equ: Equation): Boolean => {
441
+ let p1 = equ.clone().moveLeft().left,
442
+ p2 = this.clone().moveLeft().left
443
+
444
+ // They are the same.
445
+ return p1.isEqual(p2) || p1.isOpposedAt(p2)
446
+ }
447
+ isLinearTo = (equ: Equation): Boolean => {
448
+ // Move all left.
449
+ let p1 = equ.clone().moveLeft().simplify().left,
450
+ p2 = this.clone().moveLeft().simplify().left
451
+
452
+ // They are the same.
453
+ return p1.isEqual(p2) || p1.isOpposedAt(p2)
454
+ }
455
+
440
456
  private _findSign = (equationString: string): string | false => {
441
457
  let strSign: string = '';
442
458
 
@@ -101,6 +101,26 @@ export class LinearSystem {
101
101
  return `\\left(${tex.join(';')}\\right)`;
102
102
  }
103
103
 
104
+ get solutionAsDisplay(): string {
105
+ let display: string[] = [];
106
+
107
+ if (this._solutions === undefined) {
108
+ this.solve();
109
+ }
110
+
111
+ for (let letter in this._solutions) {
112
+ if (this._solutions[letter].display === "RR") {
113
+ return `{(${this._letters.join(';')}) | ${this.equations[0].display} }`;
114
+ }
115
+ if (this._solutions[letter].display === "O/") {
116
+ return "O/"
117
+ }
118
+
119
+ display.push(this._solutions[letter].display);
120
+ }
121
+ return `(${display.join(';')})`;
122
+ }
123
+
104
124
  buildTex = (equations: Equation[], operators?: (string[])[]): string => {
105
125
  let equStr: string[],
106
126
  equArray: string[] = [],
@@ -8,7 +8,7 @@ import {ISolution} from "./equation";
8
8
  import {Polynom} from "./polynom";
9
9
  import {Fraction} from "../coefficients/fraction";
10
10
  import {Point} from "../geometry/point";
11
- import {NumExp} from "../expressions/numexp";
11
+ import {NumExp} from "../numexp";
12
12
 
13
13
  export type StudyableFunction = Rational
14
14
 
@@ -91,6 +91,7 @@ export interface StudyConfig {
91
91
  derivative?: boolean,
92
92
  domain?: boolean,
93
93
  name?: string,
94
+ variable?: string,
94
95
  signs?: boolean,
95
96
  variations?: boolean
96
97
  }
@@ -125,6 +126,7 @@ export class Study {
125
126
 
126
127
  this._config = {
127
128
  name :'f',
129
+ variable: 'x',
128
130
  domain :true,
129
131
  asymptotes :true,
130
132
  signs :true,
@@ -136,9 +138,11 @@ export class Study {
136
138
  if (typeof config === 'string') {
137
139
  const d = config.split(',')
138
140
  this._config = {}
139
- let n = d.filter(x=>x.includes('(x)'))
141
+ let n = d.filter(x=>x.includes('(') && x.includes(')'))
142
+
140
143
  if(n.length===1){
141
- this._config.name = n[0].split('(x)')[0]
144
+ this._config.name = n[0].split('(')[0]
145
+ this._config.variable = n[0].split('(')[1].split(')')[0]
142
146
  }
143
147
  this._config.domain = d.includes('d')
144
148
  this._config.asymptotes = d.includes('a')
@@ -150,18 +154,16 @@ export class Study {
150
154
  }
151
155
  }
152
156
 
153
- this._name = this._config?.name ?? 'f'
154
-
155
157
  this.makeStudy()
156
158
  return this
157
159
  }
158
160
 
159
161
  get name(): string {
160
- return this._name;
162
+ return this._config.name;
161
163
  }
162
164
 
163
165
  set name(value: string) {
164
- this._name = value;
166
+ this._config.name = value;
165
167
  }
166
168
 
167
169
  get config(): StudyConfig {
@@ -468,14 +470,14 @@ export class Study {
468
470
 
469
471
  private _makeTexFromTableOfSigns = (tos: ITableOfSigns): string => {
470
472
  let factors = tos.factors.map(x => `\\(${x.tex}\\)/1`),
471
- factorsFx = `\\(${this._name}(x)\\)/1.2`,
473
+ factorsFx = `\\(${this._config.name}(${this._config.variable})\\)/1.2`,
472
474
  zeroes = tos.zeroes
473
475
 
474
476
  // Add the last lines "label"
475
477
  if (tos.type === TABLE_OF_SIGNS.GROWS) {
476
- factorsFx = `\\(${this._name}'(x)\\)/1.2,\\(f(x)\\)/2`
478
+ factorsFx = `\\(${this._config.name}'(${this._config.variable})\\)/1.2,\\(f(x${this._config.variable})\\)/2`
477
479
  } else if (tos.type === TABLE_OF_SIGNS.VARIATIONS) {
478
- factorsFx = `\\(${this._name}''(x)\\)/1.2,\\(f(x)\\)/2`
480
+ factorsFx = `\\(${this._config.name}''(${this._config.variable})\\)/1.2,\\(f(${this._config.variable})\\)/2`
479
481
  }
480
482
 
481
483
  // Create the tikzPicture header
@@ -1,5 +1,5 @@
1
- import {Shutingyard, ShutingyardMode, ShutingyardType, tokenConstant} from "../shutingyard";
2
- import {Fraction} from "../coefficients/fraction";
1
+ import {Shutingyard, ShutingyardMode, ShutingyardType, tokenConstant} from "./shutingyard";
2
+ import {Fraction} from "./coefficients/fraction";
3
3
 
4
4
  export class NumExp {
5
5
  private _rpn: { token: string, tokenType: string }[]
@@ -1,8 +1,7 @@
1
1
  import {describe} from "mocha";
2
2
  import {expect} from "chai";
3
3
  import {Equation} from "../../src/maths/algebra/equation";
4
- import {PiMath} from "../../src";
5
- import exp = require("constants");
4
+
6
5
 
7
6
  describe('Equations tests', () => {
8
7
  it('should get the solutions', () => {
@@ -31,8 +30,8 @@ describe('Equations tests', () => {
31
30
  let E6 = new Equation('5x^2+7x-31', 0)
32
31
  E6.solve()
33
32
  expect(E6.solutions.map(x=>x.tex)).to.have.all.members([
34
- '\\frac{-7 - \\sqrt{669} }{ 10 }',
35
- '\\frac{-7 + \\sqrt{669} }{ 10 }'
33
+ '\\frac{ -7 - \\sqrt{669} }{ 10 }',
34
+ '\\frac{ -7 + \\sqrt{669} }{ 10 }'
36
35
  ] )
37
36
  })
38
37
 
@@ -45,6 +44,21 @@ describe('Equations tests', () => {
45
44
  it('should solve this equation please', function () {
46
45
  let P = new Equation("2/7(3x+5)=9-(3-x)/7")
47
46
  P.solve()
48
- console.log(P.solutions.map(x=>x.tex))
47
+
48
+ const sols = P.solutions.map(x => x.display)
49
+ expect(sols).to.be.length(1)
50
+ expect(sols[0]).to.be.equal('10')
49
51
  });
52
+
53
+ it('should detect if two equations are equal or linear', function () {
54
+ let P = new Equation('3x+2y=5'),
55
+ Q = new Equation('5-3x=2y'),
56
+ R = new Equation('6x+4y-10=0')
57
+
58
+ expect(P.isSameAs(P)).to.be.true
59
+ expect(P.isSameAs(Q)).to.be.true
60
+ expect(P.isSameAs(R)).to.be.false
61
+ expect(P.isLinearTo(Q)).to.be.true
62
+ expect(P.isLinearTo(R)).to.be.true
63
+ })
50
64
  })
@@ -2,7 +2,7 @@ import {describe} from "mocha";
2
2
  import {expect} from "chai";
3
3
  import {LinearSystem} from "../../src/maths/algebra/linearSystem";
4
4
  import {Polynom} from "../../src/maths/algebra/polynom";
5
- import exp = require("constants");
5
+
6
6
 
7
7
  describe('Linear systems tests', () => {
8
8
  it('should solve a 2x2 equations', () => {
@@ -22,7 +22,7 @@ describe('Linear systems tests', () => {
22
22
  )
23
23
 
24
24
  LS.solve()
25
- console.log(LS.solution)
25
+ expect(LS.solutionAsDisplay).to.be.equal("(1;0;5)")
26
26
  })
27
27
 
28
28
  it('should solve a 3x3 equations II ', () => {
@@ -33,22 +33,14 @@ describe('Linear systems tests', () => {
33
33
  )
34
34
 
35
35
  LS.solve()
36
- console.log(LS.solution)
37
36
  })
38
37
 
39
38
  it('should calculate the reduction', function () {
40
39
  let E1 = new Polynom('6x+21y-3z'),
41
40
  E2 = new Polynom('-6x+21y-3z')
42
41
 
43
- // Start from hre
44
- console.log('------------')
45
- console.log(E1.tex, E2.tex)
46
-
47
- console.log(E1.monoms.map(x => x.tex))
48
- console.log(E2.monoms.map(x => x.tex))
49
42
  E1.add(E2);
50
-
51
- console.log(E1.tex)
43
+ expect(E1.display).to.be.equal('42y-6z')
52
44
  });
53
45
 
54
46
  it('should use a reduced linear reducation', function () {
@@ -3,7 +3,6 @@ import {Random} from "../../src/maths/randomization/random";
3
3
  import {describe} from "mocha";
4
4
  import {Polynom} from "../../src/maths/algebra/polynom";
5
5
  import {Fraction} from "../../src/maths/coefficients/fraction";
6
- import exp = require("constants");
7
6
 
8
7
 
9
8
  describe('Polynom tests', () => {
@@ -153,17 +152,17 @@ describe('Polynom tests', () => {
153
152
  describe('Polynom parsing with rational power', () => {
154
153
  it('should parse with rational powers', () => {
155
154
  const P = new Polynom('3x^(2/3)-5x+5/3');
156
- expect(P.tex).to.be.equal('3x^{\\tfrac{ 2 }{ 3 }}-5x+\\frac{ 5 }{ 3 }')
155
+ expect(P.tex).to.be.equal('-5x+3x^{\\tfrac{ 2 }{ 3 }}+\\frac{ 5 }{ 3 }')
157
156
  })
158
157
  })
159
158
 
160
159
 
161
- describe("test simple", ()=>{
162
- it('should parce this one correctly', ()=>{
163
- const P = new Polynom('-(x+2)(x-1)(x-1)(5x+4)')
164
- const Q = new Polynom('(2+x)^2(1-x)^3')
165
- })
166
- })
160
+ // describe("test simple", ()=>{
161
+ // it('should parce this one correctly', ()=>{
162
+ // const P = new Polynom('-(x+2)(x-1)(x-1)(5x+4)')
163
+ // const Q = new Polynom('(2+x)^2(1-x)^3')
164
+ // })
165
+ // })
167
166
 
168
167
  // TODO: working with roots !
169
168
  // describe('WIP : working with roots', ()=>{