pimath 0.0.127 → 0.0.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/main.d.ts +39 -0
  2. package/{esm → dist}/maths/algebra/equation.d.ts +11 -10
  3. package/{esm → dist}/maths/algebra/linearSystem.d.ts +5 -4
  4. package/{esm → dist}/maths/algebra/monom.d.ts +5 -4
  5. package/{esm → dist}/maths/algebra/polynom.d.ts +11 -13
  6. package/{esm → dist}/maths/algebra/rational.d.ts +7 -9
  7. package/dist/maths/algebra/study/rationalStudy.d.ts +14 -0
  8. package/{esm → dist}/maths/algebra/study.d.ts +4 -7
  9. package/{esm → dist}/maths/geometry/circle.d.ts +9 -8
  10. package/{esm → dist}/maths/geometry/line.d.ts +17 -14
  11. package/{esm → dist}/maths/geometry/point.d.ts +11 -9
  12. package/{esm → dist}/maths/geometry/triangle.d.ts +4 -3
  13. package/{esm → dist}/maths/geometry/vector.d.ts +7 -10
  14. package/{esm → dist}/maths/randomization/random.d.ts +10 -7
  15. package/{esm → dist}/maths/randomization/rndFraction.d.ts +4 -3
  16. package/dist/maths/randomization/rndGeometryCircle.d.ts +13 -0
  17. package/{esm → dist}/maths/randomization/rndGeometryLine.d.ts +4 -3
  18. package/{esm → dist}/maths/randomization/rndGeometryPoint.d.ts +4 -3
  19. package/{esm → dist}/maths/randomization/rndMonom.d.ts +5 -4
  20. package/{esm → dist}/maths/randomization/rndPolynom.d.ts +5 -4
  21. package/{esm → dist}/maths/randomization/rndTypes.d.ts +7 -1
  22. package/dist/pimath.js +4239 -7819
  23. package/package.json +13 -7
  24. package/.eslintrc.js +0 -24
  25. package/.idea/$CACHE_FILE$ +0 -6
  26. package/.idea/PI.iml +0 -14
  27. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  28. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  29. package/.idea/misc.xml +0 -6
  30. package/.idea/modules.xml +0 -8
  31. package/.idea/php.xml +0 -19
  32. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +0 -192
  33. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
  34. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +0 -4
  35. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +0 -2404
  36. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +0 -4
  37. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +0 -1362
  38. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +0 -4
  39. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +0 -90
  40. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +0 -4
  41. package/.idea/vcs.xml +0 -6
  42. package/dev/pimath.js +0 -7945
  43. package/dev/pimath.js.map +0 -1
  44. package/dist/pimath.js.map +0 -1
  45. package/dist/pimath.min.js +0 -2
  46. package/dist/pimath.min.js.map +0 -1
  47. package/docs/.nojekyll +0 -1
  48. package/docs/assets/highlight.css +0 -78
  49. package/docs/assets/main.js +0 -59
  50. package/docs/assets/navigation.js +0 -1
  51. package/docs/assets/search.js +0 -1
  52. package/docs/assets/style.css +0 -1383
  53. package/docs/classes/Logicalset.Logicalset.html +0 -217
  54. package/docs/classes/Polynom.Rational.html +0 -397
  55. package/docs/classes/Vector-1.Vector.html +0 -490
  56. package/docs/classes/Vector.Point.html +0 -337
  57. package/docs/classes/algebra_equation.Equation.html +0 -790
  58. package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -404
  59. package/docs/classes/algebra_monom.Monom.html +0 -962
  60. package/docs/classes/algebra_polynom.Polynom.html +0 -1275
  61. package/docs/classes/coefficients_fraction.Fraction.html +0 -934
  62. package/docs/classes/geometry_circle.Circle.html +0 -472
  63. package/docs/classes/geometry_line.Line.html +0 -774
  64. package/docs/classes/geometry_triangle.Triangle.html +0 -429
  65. package/docs/classes/numeric.Numeric.html +0 -265
  66. package/docs/classes/shutingyard.Shutingyard.html +0 -250
  67. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -83
  68. package/docs/enums/geometry_line.LinePropriety.html +0 -97
  69. package/docs/enums/shutingyard.ShutingyardMode.html +0 -97
  70. package/docs/enums/shutingyard.ShutingyardType.html +0 -111
  71. package/docs/index.html +0 -63
  72. package/docs/interfaces/algebra_equation.ISolution.html +0 -105
  73. package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -87
  74. package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -163
  75. package/docs/modules/Logicalset.html +0 -65
  76. package/docs/modules/Polynom.html +0 -65
  77. package/docs/modules/Vector-1.html +0 -65
  78. package/docs/modules/Vector.html +0 -65
  79. package/docs/modules/algebra_equation.html +0 -69
  80. package/docs/modules/algebra_linearSystem.html +0 -61
  81. package/docs/modules/algebra_monom.html +0 -65
  82. package/docs/modules/algebra_polynom.html +0 -69
  83. package/docs/modules/coefficients_fraction.html +0 -65
  84. package/docs/modules/geometry_circle.html +0 -61
  85. package/docs/modules/geometry_line.html +0 -65
  86. package/docs/modules/geometry_triangle.html +0 -65
  87. package/docs/modules/numeric.html +0 -61
  88. package/docs/modules/shutingyard.html +0 -75
  89. package/docs/types/algebra_monom.literalType.html +0 -61
  90. package/docs/types/algebra_polynom.PolynomParsingType.html +0 -56
  91. package/docs/types/coefficients_fraction.FractionParsingType.html +0 -56
  92. package/docs/types/shutingyard.Token.html +0 -63
  93. package/docs/types/shutingyard.tokenType.html +0 -68
  94. package/docs/variables/shutingyard.tokenConstant.html +0 -61
  95. package/esm/index.d.ts +0 -38
  96. package/esm/index.js +0 -44
  97. package/esm/index.js.map +0 -1
  98. package/esm/maths/algebra/equation.js +0 -797
  99. package/esm/maths/algebra/equation.js.map +0 -1
  100. package/esm/maths/algebra/linearSystem.js +0 -279
  101. package/esm/maths/algebra/linearSystem.js.map +0 -1
  102. package/esm/maths/algebra/logicalset.js +0 -158
  103. package/esm/maths/algebra/logicalset.js.map +0 -1
  104. package/esm/maths/algebra/monom.js +0 -909
  105. package/esm/maths/algebra/monom.js.map +0 -1
  106. package/esm/maths/algebra/polynom.js +0 -1305
  107. package/esm/maths/algebra/polynom.js.map +0 -1
  108. package/esm/maths/algebra/rational.js +0 -195
  109. package/esm/maths/algebra/rational.js.map +0 -1
  110. package/esm/maths/algebra/study/rationalStudy.d.ts +0 -28
  111. package/esm/maths/algebra/study/rationalStudy.js +0 -244
  112. package/esm/maths/algebra/study/rationalStudy.js.map +0 -1
  113. package/esm/maths/algebra/study.js +0 -380
  114. package/esm/maths/algebra/study.js.map +0 -1
  115. package/esm/maths/coefficients/fraction.js +0 -517
  116. package/esm/maths/coefficients/fraction.js.map +0 -1
  117. package/esm/maths/coefficients/nthRoot.js +0 -137
  118. package/esm/maths/coefficients/nthRoot.js.map +0 -1
  119. package/esm/maths/geometry/circle.js +0 -324
  120. package/esm/maths/geometry/circle.js.map +0 -1
  121. package/esm/maths/geometry/line.js +0 -485
  122. package/esm/maths/geometry/line.js.map +0 -1
  123. package/esm/maths/geometry/point.js +0 -167
  124. package/esm/maths/geometry/point.js.map +0 -1
  125. package/esm/maths/geometry/triangle.js +0 -276
  126. package/esm/maths/geometry/triangle.js.map +0 -1
  127. package/esm/maths/geometry/vector.js +0 -198
  128. package/esm/maths/geometry/vector.js.map +0 -1
  129. package/esm/maths/numeric.js +0 -136
  130. package/esm/maths/numeric.js.map +0 -1
  131. package/esm/maths/numexp.js +0 -186
  132. package/esm/maths/numexp.js.map +0 -1
  133. package/esm/maths/randomization/random.js +0 -79
  134. package/esm/maths/randomization/random.js.map +0 -1
  135. package/esm/maths/randomization/randomCore.js +0 -22
  136. package/esm/maths/randomization/randomCore.js.map +0 -1
  137. package/esm/maths/randomization/rndFraction.js +0 -44
  138. package/esm/maths/randomization/rndFraction.js.map +0 -1
  139. package/esm/maths/randomization/rndGeometryLine.js +0 -46
  140. package/esm/maths/randomization/rndGeometryLine.js.map +0 -1
  141. package/esm/maths/randomization/rndGeometryPoint.js +0 -61
  142. package/esm/maths/randomization/rndGeometryPoint.js.map +0 -1
  143. package/esm/maths/randomization/rndHelpers.js +0 -98
  144. package/esm/maths/randomization/rndHelpers.js.map +0 -1
  145. package/esm/maths/randomization/rndMonom.js +0 -53
  146. package/esm/maths/randomization/rndMonom.js.map +0 -1
  147. package/esm/maths/randomization/rndPolynom.js +0 -75
  148. package/esm/maths/randomization/rndPolynom.js.map +0 -1
  149. package/esm/maths/randomization/rndTypes.js +0 -3
  150. package/esm/maths/randomization/rndTypes.js.map +0 -1
  151. package/esm/maths/shutingyard.js +0 -443
  152. package/esm/maths/shutingyard.js.map +0 -1
  153. package/public/demo.css +0 -3
  154. package/public/index.html +0 -283
  155. package/public/matrices.html +0 -100
  156. package/public/playground.html +0 -168
  157. package/src/index.ts +0 -42
  158. package/src/maths/algebra/equation.ts +0 -897
  159. package/src/maths/algebra/linearSystem.ts +0 -370
  160. package/src/maths/algebra/logicalset.ts +0 -183
  161. package/src/maths/algebra/monom.ts +0 -1028
  162. package/src/maths/algebra/polynom.ts +0 -1537
  163. package/src/maths/algebra/rational.ts +0 -240
  164. package/src/maths/algebra/study/rationalStudy.ts +0 -287
  165. package/src/maths/algebra/study.ts +0 -506
  166. package/src/maths/coefficients/fraction.ts +0 -593
  167. package/src/maths/coefficients/nthRoot.ts +0 -148
  168. package/src/maths/geometry/circle.ts +0 -382
  169. package/src/maths/geometry/line.ts +0 -604
  170. package/src/maths/geometry/point.ts +0 -215
  171. package/src/maths/geometry/triangle.ts +0 -368
  172. package/src/maths/geometry/vector.ts +0 -242
  173. package/src/maths/numeric.ts +0 -162
  174. package/src/maths/numexp.ts +0 -184
  175. package/src/maths/randomization/random.ts +0 -80
  176. package/src/maths/randomization/randomCore.ts +0 -19
  177. package/src/maths/randomization/rndFraction.ts +0 -47
  178. package/src/maths/randomization/rndGeometryCircle.ts +0 -50
  179. package/src/maths/randomization/rndGeometryLine.ts +0 -53
  180. package/src/maths/randomization/rndGeometryPoint.ts +0 -69
  181. package/src/maths/randomization/rndHelpers.ts +0 -107
  182. package/src/maths/randomization/rndMonom.ts +0 -57
  183. package/src/maths/randomization/rndPolynom.ts +0 -90
  184. package/src/maths/randomization/rndTypes.ts +0 -43
  185. package/src/maths/shutingyard.ts +0 -496
  186. package/tests/algebra/equation.test.ts +0 -64
  187. package/tests/algebra/linear.test.ts +0 -58
  188. package/tests/algebra/monom.test.ts +0 -78
  189. package/tests/algebra/polynom.test.ts +0 -343
  190. package/tests/algebra/rationnal.test.ts +0 -64
  191. package/tests/algebra/study.test.ts +0 -48
  192. package/tests/coefficients/fraction.test.ts +0 -131
  193. package/tests/custom.test.ts +0 -33
  194. package/tests/geometry/circle.test.ts +0 -404
  195. package/tests/geometry/line.test.ts +0 -36
  196. package/tests/numeric.test.ts +0 -43
  197. package/tests/numexp.test.ts +0 -89
  198. package/tests/shutingyard.test.ts +0 -58
  199. package/tsconfig.json +0 -41
  200. package/tsconfig.testing.json +0 -28
  201. package/typedoc.katex.js +0 -11
  202. package/webpack-production-min.config.js +0 -26
  203. package/webpack-production.config.js +0 -26
  204. package/webpack.config.js +0 -26
  205. package/{esm → dist}/maths/algebra/logicalset.d.ts +6 -6
  206. package/{esm → dist}/maths/coefficients/fraction.d.ts +0 -0
  207. package/{esm → dist}/maths/coefficients/nthRoot.d.ts +0 -0
  208. package/{esm → dist}/maths/numeric.d.ts +0 -0
  209. package/{esm → dist}/maths/numexp.d.ts +3 -3
  210. /package/{esm → dist}/maths/randomization/randomCore.d.ts +0 -0
  211. /package/{esm → dist}/maths/randomization/rndHelpers.d.ts +0 -0
  212. /package/{esm → dist}/maths/shutingyard.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
@@ -1,195 +0,0 @@
1
- "use strict";
2
- /**
3
- * Rational polynom module contains everything necessary to handle rational polynoms.
4
- * @module Polynom
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.Rational = void 0;
8
- const polynom_1 = require("./polynom");
9
- const fraction_1 = require("../coefficients/fraction");
10
- const equation_1 = require("./equation");
11
- const rationalStudy_1 = require("./study/rationalStudy");
12
- /**
13
- * Rational class can handle rational polynoms
14
- */
15
- class Rational {
16
- /**
17
- *
18
- * @param numerator
19
- * @param denominator
20
- */
21
- constructor(numerator, denominator) {
22
- this.clone = () => {
23
- return new Rational(this._numerator.clone(), this._denominator.clone());
24
- };
25
- this.domain = () => {
26
- let zeroes = this._denominator.getZeroes();
27
- if (zeroes.length === 0 || zeroes[0].tex === equation_1.PARTICULAR_SOLUTION.real) {
28
- return equation_1.PARTICULAR_SOLUTION.varnothing;
29
- }
30
- else if (zeroes[0].tex === equation_1.PARTICULAR_SOLUTION.varnothing) {
31
- return equation_1.PARTICULAR_SOLUTION.real;
32
- }
33
- else {
34
- return '\\mathbb{R}\\setminus\\left\\{' +
35
- zeroes.map(x => x.tex).join(';') + '\\right\\}';
36
- }
37
- };
38
- this.amplify = (P) => {
39
- this._numerator.multiply(P);
40
- this._denominator.multiply(P);
41
- return this;
42
- };
43
- this.derivative = (letter) => {
44
- let N = this._numerator.clone(), D = this._denominator.clone(), dN = N.clone().derivative(letter), dD = D.clone().derivative(letter);
45
- this._numerator = dN.clone().multiply(D).subtract(N.clone().multiply(dD));
46
- this._denominator = D.clone().pow(2);
47
- return this;
48
- };
49
- this.factorize = (letter) => {
50
- this._numerator.factorize(letter);
51
- this._denominator.factorize(letter);
52
- return this;
53
- };
54
- this.simplify = (P) => {
55
- let NumeratorEuclidien = this._numerator.euclidian(P);
56
- if (!NumeratorEuclidien.reminder.isZero()) {
57
- return this;
58
- }
59
- let DenominatorEuclidien = this._denominator.euclidian(P);
60
- if (!DenominatorEuclidien.reminder.isZero()) {
61
- return this;
62
- }
63
- this._numerator = NumeratorEuclidien.quotient;
64
- this._denominator = DenominatorEuclidien.quotient;
65
- return this;
66
- };
67
- this.reduce = () => {
68
- this._numerator.factorize();
69
- for (let f of this._numerator.factors) {
70
- if (f.degree().isZero()) {
71
- // Do the simplify only if the factor can divide the denominator
72
- if (this._denominator.commonMonom().coefficient.clone().divide(f.monomByDegree().coefficient).isNatural()) {
73
- this.simplify(f);
74
- }
75
- }
76
- else {
77
- this.simplify(f);
78
- }
79
- }
80
- return this;
81
- };
82
- this.opposed = () => {
83
- this._numerator.opposed();
84
- return this;
85
- };
86
- this.add = (R) => {
87
- // 1. Make sure both rational are at the same denominator
88
- // 2. Add the numerators.
89
- // 3. Simplify
90
- // Store the adding denominator
91
- let denominator = this._denominator.clone();
92
- // Amplif the main rational polynom by the adding denominator
93
- this.amplify(R._denominator);
94
- // Add to the numerator the adding value...
95
- this._numerator.add(R._numerator.clone().multiply(denominator));
96
- return this;
97
- };
98
- this.subtract = (R) => {
99
- return this.add(R.clone().opposed());
100
- };
101
- this.euclidian = () => {
102
- return this._numerator.euclidian(this._denominator);
103
- };
104
- // TODO : where and how is used limits ?
105
- this.limits = (value, offset, letter) => {
106
- if (value === Infinity || value === -Infinity) {
107
- let { quotient, reminder } = this._numerator.clone().euclidian(this._denominator);
108
- // quotient is positive => it will be infinite.
109
- if (quotient.degree(letter).isStrictlyPositive()) {
110
- return value === Infinity ? quotient.limitToInfinity(letter) : quotient.limitToNegativeInfinity(letter);
111
- // return quotient.monomByDegree(undefined, letter).coefficient.sign()===1?(new Fraction()).infinite():(new Fraction()).infinite().opposed()
112
- }
113
- else {
114
- return quotient.monomByDegree(undefined, letter).coefficient;
115
- }
116
- }
117
- else {
118
- let evalValues = {}, evalValuesOffset = {}, theLimit, theSign, FR = this.clone().reduce();
119
- evalValues[letter === undefined ? 'x' : letter] = new fraction_1.Fraction(value);
120
- if (offset !== 'above' && offset !== 'below') {
121
- theLimit = FR._numerator.evaluate(evalValues)
122
- .divide(FR._denominator.evaluate(evalValues));
123
- return theLimit.isInfinity() ? theLimit.abs() : theLimit;
124
- }
125
- else {
126
- if (offset === 'above') {
127
- evalValuesOffset[letter === undefined ? 'x' : letter] = (new fraction_1.Fraction(value)).add(0.000001);
128
- }
129
- else if (offset === 'below') {
130
- evalValuesOffset[letter === undefined ? 'x' : letter] = (new fraction_1.Fraction(value)).subtract(0.000001);
131
- }
132
- theLimit = FR._numerator.evaluate(evalValues)
133
- .divide(FR._denominator.evaluate(evalValues));
134
- theSign = FR._numerator.evaluate(evalValuesOffset)
135
- .divide(FR._denominator.evaluate(evalValuesOffset)).sign();
136
- if (theLimit.isInfinity()) {
137
- return theSign === 1 ? theLimit.abs() : theLimit.abs().opposed();
138
- }
139
- else {
140
- return theLimit;
141
- }
142
- }
143
- }
144
- };
145
- this.evaluate = (values) => {
146
- const r = new fraction_1.Fraction().zero();
147
- let N = this._numerator.evaluate(values), D = this._denominator.evaluate(values);
148
- return N.divide(D);
149
- };
150
- this.evaluateAsNumeric = (values) => {
151
- return this._numerator.evaluateAsNumeric(values) / this._denominator.evaluateAsNumeric(values);
152
- };
153
- this.study = (config) => {
154
- return new rationalStudy_1.RationalStudy(this, config);
155
- };
156
- if (numerator instanceof polynom_1.Polynom) {
157
- this._numerator = numerator.clone();
158
- }
159
- else if (typeof numerator === 'string') {
160
- this._numerator = new polynom_1.Polynom(numerator);
161
- }
162
- else {
163
- this._numerator = new polynom_1.Polynom();
164
- }
165
- if (denominator instanceof polynom_1.Polynom) {
166
- this._denominator = denominator.clone();
167
- }
168
- else if (typeof denominator === 'string') {
169
- this._denominator = new polynom_1.Polynom(denominator);
170
- }
171
- else {
172
- this._denominator = new polynom_1.Polynom();
173
- }
174
- }
175
- get numerator() {
176
- return this._numerator;
177
- }
178
- get denominator() {
179
- return this._denominator;
180
- }
181
- get tex() {
182
- return `\\frac{ ${this._numerator.tex} }{ ${this._denominator.tex} }`;
183
- }
184
- get display() {
185
- return `(${this._numerator.display})/(${this._denominator.display})`;
186
- }
187
- get texFactors() {
188
- return `\\frac{ ${this._numerator.texFactors} }{ ${this._denominator.texFactors} }`;
189
- }
190
- get plotFunction() {
191
- return `(${this._numerator.plotFunction})/(${this._denominator.plotFunction})`;
192
- }
193
- }
194
- exports.Rational = Rational;
195
- //# sourceMappingURL=rational.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rational.js","sourceRoot":"","sources":["../../../src/maths/algebra/rational.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAA8C;AAC9C,uDAAkD;AAElD,yCAA+C;AAC/C,yDAAoD;AAGpD;;GAEG;AACH,MAAa,QAAQ;IAKjB;;;;OAIG;IACH,YAAY,SAA4B,EAAE,WAA8B;QA2CxE,UAAK,GAAG,GAAa,EAAE;YACnB,OAAO,IAAI,QAAQ,CACf,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAC5B,CAAA;QACL,CAAC,CAAA;QAED,WAAM,GAAG,GAAW,EAAE;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAE3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,8BAAmB,CAAC,IAAI,EAAE;gBACnE,OAAO,8BAAmB,CAAC,UAAU,CAAA;aACxC;iBAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,8BAAmB,CAAC,UAAU,EAAE;gBACzD,OAAO,8BAAmB,CAAC,IAAI,CAAA;aAClC;iBAAM;gBACH,OAAO,gCAAgC;oBACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAA;aACtD;QACL,CAAC,CAAA;QAED,YAAO,GAAG,CAAC,CAAU,EAAY,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE9B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,eAAU,GAAG,CAAC,MAAe,EAAY,EAAE;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAC3B,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAC7B,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EACjC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAErC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACzE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAEpC,OAAO,IAAI,CAAA;QACf,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,MAAe,EAAY,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACnC,OAAO,IAAI,CAAA;QACf,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,CAAU,EAAY,EAAE;YAChC,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACvC,OAAO,IAAI,CAAC;aACf;YAED,IAAI,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACzC,OAAO,IAAI,CAAC;aACf;YAED,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,WAAM,GAAG,GAAa,EAAE;YACpB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAEnC,IAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAC;oBACnB,gEAAgE;oBAChE,IAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,EAAC;wBACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;qBAAK;oBACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACpB;aACJ;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,YAAO,GAAG,GAAa,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,QAAG,GAAG,CAAC,CAAW,EAAY,EAAE;YAC5B,yDAAyD;YACzD,yBAAyB;YACzB,cAAc;YAEd,+BAA+B;YAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;YAE3C,6DAA6D;YAC7D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YAE5B,2CAA2C;YAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAEhE,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,CAAW,EAAY,EAAE;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,cAAS,GAAG,GAAe,EAAE;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvD,CAAC,CAAA;QAED,wCAAwC;QACxC,WAAM,GAAG,CAAC,KAAwB,EAAE,MAAe,EAAE,MAAe,EAAY,EAAE;YAC9E,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;gBAC3C,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAE/E,+CAA+C;gBAC/C,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,EAAE;oBAC9C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA;oBACvG,4IAA4I;iBAC/I;qBAAM;oBACH,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,WAAW,CAAA;iBAC/D;aACJ;iBAAM;gBACH,IAAI,UAAU,GAAgB,EAAE,EAC5B,gBAAgB,GAAgB,EAAE,EAClC,QAA2B,EAC3B,OAAe,EACf,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAA;gBAE9B,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAA;gBAErE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE;oBAC1C,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;yBACxC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;oBAEjD,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;iBAC3D;qBAAM;oBACH,IAAI,MAAM,KAAK,OAAO,EAAE;wBACpB,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;qBAC9F;yBAAM,IAAI,MAAM,KAAK,OAAO,EAAE;wBAC3B,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;qBACnG;oBAED,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;yBACxC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;oBACjD,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;yBAC7C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBAE9D,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;wBACvB,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;qBACnE;yBAAM;wBACH,OAAO,QAAQ,CAAA;qBAClB;iBACJ;aACJ;QACL,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,MAAuC,EAAY,EAAE;YAC7D,MAAM,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAEhC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EACpC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAE1C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,MAA0C,EAAU,EAAE;YACvE,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAClG,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,MAA0B,EAAiB,EAAE;YAClD,OAAO,IAAI,6BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,CAAC,CAAA;QApNG,IAAI,SAAS,YAAY,iBAAO,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;SACtC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAO,CAAC,SAAS,CAAC,CAAA;SAC3C;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAO,EAAE,CAAA;SAClC;QAED,IAAI,WAAW,YAAY,iBAAO,EAAE;YAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;SAC1C;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;SAC/C;aAAM;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAO,EAAE,CAAA;SACpC;IAEL,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED,IAAI,GAAG;QACH,OAAO,WAAW,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC;IACzE,CAAC;IAED,IAAI,UAAU;QACV,OAAO,WAAW,IAAI,CAAC,UAAU,CAAC,UAAU,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAA;IACvF,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,CAAA;IAClF,CAAC;CA6KJ;AAhOD,4BAgOC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * The study class is a "function study" class that will get:
3
- * fx : get the function
4
- * domain : string
5
- * zeroes : Object (tex, IZero)
6
- * signs : table of signs + tex output using tkz-tab
7
- * av : vertical asymptotic
8
- * ah : horizontal asymptotic
9
- * ao : obliques
10
- * deltaX : position relative
11
- * dx : derivative
12
- * grows : growing table + tex output using tkz-tab
13
- * ddx : dérivée seconde
14
- * variations : variation table + tex output using tkz-tab
15
- */
16
- import { ASYMPTOTE_POSITION, IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction, StudyConfig } from "../study";
17
- import { Rational } from "../rational";
18
- export declare class RationalStudy extends Study {
19
- constructor(fx: StudyableFunction, config?: StudyConfig | string);
20
- makeZeroes(): IZero[];
21
- makeSigns(): ITableOfSigns;
22
- makeAsymptotes(): IAsymptote[];
23
- _getHorizontalAsymptoteRelativePositon(deltaX: Rational, delta?: number): ASYMPTOTE_POSITION[];
24
- makeDerivative(): ITableOfSigns;
25
- makeVariation(): ITableOfSigns;
26
- private _getZeroes;
27
- private _getSigns;
28
- }
@@ -1,244 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RationalStudy = void 0;
4
- /**
5
- * The study class is a "function study" class that will get:
6
- * fx : get the function
7
- * domain : string
8
- * zeroes : Object (tex, IZero)
9
- * signs : table of signs + tex output using tkz-tab
10
- * av : vertical asymptotic
11
- * ah : horizontal asymptotic
12
- * ao : obliques
13
- * deltaX : position relative
14
- * dx : derivative
15
- * grows : growing table + tex output using tkz-tab
16
- * ddx : dérivée seconde
17
- * variations : variation table + tex output using tkz-tab
18
- */
19
- const study_1 = require("../study");
20
- const rational_1 = require("../rational");
21
- const fraction_1 = require("../../coefficients/fraction");
22
- const polynom_1 = require("../polynom");
23
- class RationalStudy extends study_1.Study {
24
- constructor(fx, config) {
25
- super(fx, config);
26
- return this;
27
- }
28
- makeZeroes() {
29
- return this._getZeroes(this.fx);
30
- }
31
- ;
32
- makeSigns() {
33
- return this._getSigns(this.fx, this.zeroes);
34
- }
35
- ;
36
- makeAsymptotes() {
37
- const reduced = this.fx.clone().reduce();
38
- // Vertical
39
- let asymptotes = [];
40
- this.zeroes.filter(x => x.type === study_1.ZEROTYPE.DEFENCE).forEach(zero => {
41
- // Check if it's a hole or an asymptote
42
- let Ztype = study_1.ASYMPTOTE.VERTICAL, tex = `x=${zero.tex}`, display = `x=${zero.display}`;
43
- // Check if it's a hole: the reduced polynom should not be null
44
- if (zero.exact instanceof fraction_1.Fraction) {
45
- if (reduced.denominator.evaluate(zero.exact).isNotZero()) {
46
- Ztype = study_1.ASYMPTOTE.HOLE;
47
- tex = `(${zero.tex};${reduced.evaluate(zero.exact).tex})`;
48
- display = `(${zero.display};${reduced.evaluate(zero.exact).display})`;
49
- }
50
- }
51
- else {
52
- if (reduced.denominator.evaluate(zero.value).isNotZero()) {
53
- Ztype = study_1.ASYMPTOTE.HOLE;
54
- tex = `(${zero.tex};${reduced.evaluate(zero.value).tex})`;
55
- display = `(${zero.display};${reduced.evaluate(zero.value).display})`;
56
- }
57
- }
58
- // Get the position before and after the asymptote.
59
- const delta = 0.000001;
60
- let before = this.fx.evaluateAsNumeric(zero.value - delta), after = this.fx.evaluateAsNumeric(zero.value + delta), position = [], pm = "";
61
- if (after < -10000) {
62
- position.push(study_1.ASYMPTOTE_POSITION.RB);
63
- pm += "m";
64
- }
65
- else if (after > 10000) {
66
- position.push(study_1.ASYMPTOTE_POSITION.RT);
67
- pm += "p";
68
- }
69
- if (before < -10000) {
70
- position.push(study_1.ASYMPTOTE_POSITION.LB);
71
- pm += "m";
72
- }
73
- else if (before > 10000) {
74
- position.push(study_1.ASYMPTOTE_POSITION.LT);
75
- pm += "p";
76
- }
77
- // Left and right are to infinity
78
- // TODO: handle the case were one side of the asymptote isn't infinity (not possible in rational study?!)
79
- if (pm === "pp") {
80
- pm = "+";
81
- }
82
- else if (pm === "mm") {
83
- pm = "-";
84
- }
85
- else {
86
- pm = `\\${pm}`;
87
- }
88
- asymptotes.push({
89
- fx: null,
90
- type: Ztype,
91
- tex,
92
- display,
93
- zero: zero,
94
- limits: `\\lim_{x\\to${zero.tex} }\\ f(x) = ${pm}\\infty`,
95
- deltaX: null,
96
- tableOfSign: null,
97
- position
98
- });
99
- });
100
- // Sloped asymptote
101
- let NDegree = this.fx.numerator.degree(), DDegree = this.fx.denominator.degree();
102
- if (NDegree.isEqual(DDegree)) {
103
- let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient), Htex = H.tex;
104
- let { reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
105
- // Determine the position above or below on the left / right of the asymptote.
106
- asymptotes.push({
107
- fx: new polynom_1.Polynom(H),
108
- type: study_1.ASYMPTOTE.HORIZONTAL,
109
- tex: `y=${Htex}`,
110
- display: `y=${H.display}`,
111
- zero: null,
112
- limits: `\\lim_{x\\to\\infty}\\ f(x) = ${Htex}`,
113
- deltaX,
114
- tableOfSign: this._getSigns(deltaX),
115
- position: this._getHorizontalAsymptoteRelativePositon(deltaX)
116
- });
117
- }
118
- else if (DDegree.greater(NDegree)) {
119
- asymptotes.push({
120
- fx: new polynom_1.Polynom('0'),
121
- type: study_1.ASYMPTOTE.HORIZONTAL,
122
- tex: `y=0`,
123
- display: `y=0`,
124
- zero: null,
125
- limits: `\\lim_{x\\to\\infty}\\ f(x) = ${0}`,
126
- deltaX: null,
127
- tableOfSign: null,
128
- position: this._getHorizontalAsymptoteRelativePositon(this.fx)
129
- });
130
- }
131
- else if (NDegree.value - 1 === DDegree.value) {
132
- // Calculate the slope
133
- let { quotient, reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
134
- asymptotes.push({
135
- fx: quotient.clone(),
136
- type: study_1.ASYMPTOTE.SLOPE,
137
- tex: `y=${quotient.tex}`,
138
- display: `y=${quotient.display}`,
139
- zero: null,
140
- limits: ``,
141
- deltaX: new rational_1.Rational(reminder, reduced.denominator),
142
- tableOfSign: this._getSigns(deltaX),
143
- position: this._getHorizontalAsymptoteRelativePositon(deltaX)
144
- });
145
- }
146
- return asymptotes;
147
- }
148
- ;
149
- _getHorizontalAsymptoteRelativePositon(deltaX, delta = 1000000) {
150
- let position = [], before = deltaX.evaluateAsNumeric(-delta), after = deltaX.evaluateAsNumeric(delta);
151
- if (before >= 0) {
152
- position.push(study_1.ASYMPTOTE_POSITION.LT);
153
- }
154
- else {
155
- position.push(study_1.ASYMPTOTE_POSITION.LB);
156
- }
157
- if (after >= 0) {
158
- position.push(study_1.ASYMPTOTE_POSITION.RT);
159
- }
160
- else {
161
- position.push(study_1.ASYMPTOTE_POSITION.RB);
162
- }
163
- return position;
164
- }
165
- makeDerivative() {
166
- let dx = this.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
167
- let result = this.makeGrowsResult(tos);
168
- tos.signs.push(result.growsLine);
169
- tos.extremes = result.extremes;
170
- return tos;
171
- }
172
- ;
173
- makeVariation() {
174
- // Get the zeroes, make signs.
175
- let dx = this.derivative.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
176
- let result = this.makeVariationsResult(tos);
177
- tos.signs.push(result.varsLine);
178
- tos.extremes = result.extremes;
179
- return tos;
180
- }
181
- ;
182
- _getZeroes(fx) {
183
- // All zeroes.
184
- let zeroes = [];
185
- fx.numerator.getZeroes().filter(x => !isNaN(x.value)).forEach(z => {
186
- // add the item
187
- zeroes.push({
188
- tex: z.tex,
189
- display: z.display,
190
- value: z.value,
191
- exact: z.exact,
192
- extrema: study_1.FUNCTION_EXTREMA.NOTHING,
193
- type: study_1.ZEROTYPE.ZERO
194
- });
195
- });
196
- fx.denominator.getZeroes().filter(x => !isNaN(x.value)).forEach(z => {
197
- let idx = this.indexOfZero(zeroes, z);
198
- if (idx !== -1) {
199
- zeroes[idx].type = study_1.ZEROTYPE.DEFENCE;
200
- }
201
- else {
202
- // Add the item
203
- zeroes.push({
204
- tex: z.tex,
205
- display: z.display,
206
- value: z.value,
207
- exact: z.exact,
208
- extrema: study_1.FUNCTION_EXTREMA.NOTHING,
209
- type: study_1.ZEROTYPE.DEFENCE
210
- });
211
- }
212
- });
213
- // sort all zeroes
214
- zeroes.sort((a, b) => a.value - b.value);
215
- return zeroes;
216
- }
217
- _getSigns(fx, zeroes, typeOfTable) {
218
- // Factorize the rational
219
- let signs = [], factors = [];
220
- if (zeroes === undefined) {
221
- zeroes = this._getZeroes(fx);
222
- }
223
- fx.numerator.factors.forEach(factor => {
224
- signs.push(this.makeOneLineForSigns(factor, zeroes, study_1.ZEROTYPE.ZERO));
225
- factors.push(factor.clone());
226
- });
227
- fx.denominator.factors.forEach(factor => {
228
- signs.push(this.makeOneLineForSigns(factor, zeroes, study_1.ZEROTYPE.DEFENCE));
229
- factors.push(factor.clone());
230
- });
231
- signs.push(this.makeSignsResult(signs));
232
- return {
233
- type: typeOfTable,
234
- fx,
235
- factors,
236
- zeroes,
237
- signs,
238
- extremes: {},
239
- tex: ''
240
- };
241
- }
242
- }
243
- exports.RationalStudy = RationalStudy;
244
- //# sourceMappingURL=rationalStudy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}