pimath 0.0.64 → 0.0.67

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 (113) hide show
  1. package/.eslintrc.js +23 -23
  2. package/dist/pi.js +236 -56
  3. package/dist/pi.js.map +1 -1
  4. package/dist/pi.min.js +1 -1
  5. package/dist/pi.min.js.map +1 -1
  6. package/docs/assets/highlight.css +78 -78
  7. package/docs/assets/main.js +52 -52
  8. package/docs/assets/style.css +1413 -1413
  9. package/docs/classes/Logicalset.Logicalset-1.html +4 -4
  10. package/docs/classes/Polynom.Rational.html +3 -3
  11. package/docs/classes/algebra_equation.Equation.html +25 -25
  12. package/docs/classes/algebra_monom.Monom.html +113 -113
  13. package/docs/classes/algebra_polynom.Polynom.html +29 -29
  14. package/docs/classes/coefficients_fraction.Fraction.html +18 -18
  15. package/docs/classes/coefficients_nthroot.NthRoot.html +2 -2
  16. package/docs/classes/geometry_circle.Circle.html +2 -2
  17. package/docs/classes/geometry_line.Line.html +2 -2
  18. package/docs/classes/geometry_triangle.Triangle.html +16 -16
  19. package/docs/classes/numeric.Numeric.html +13 -13
  20. package/docs/classes/shutingyard.Shutingyard.html +17 -17
  21. package/docs/index.html +10 -10
  22. package/docs/interfaces/algebra_equation.ISolution.html +2 -2
  23. package/docs/modules/Logicalset.html +2 -2
  24. package/docs/modules/Polynom.html +2 -2
  25. package/docs/modules/Vector.html +2 -2
  26. package/esm/maths/algebra/equation.js +2 -2
  27. package/esm/maths/algebra/equation.js.map +1 -1
  28. package/esm/maths/algebra/polynom.d.ts +4 -5
  29. package/esm/maths/algebra/polynom.js +2 -2
  30. package/esm/maths/algebra/polynom.js.map +1 -1
  31. package/esm/maths/algebra/rational.d.ts +8 -10
  32. package/esm/maths/algebra/rational.js +9 -5
  33. package/esm/maths/algebra/study/rationalStudy.d.ts +1 -2
  34. package/esm/maths/algebra/study/rationalStudy.js +32 -20
  35. package/esm/maths/algebra/study/rationalStudy.js.map +1 -1
  36. package/esm/maths/algebra/study.d.ts +16 -24
  37. package/esm/maths/algebra/study.js +65 -24
  38. package/esm/maths/algebra/study.js.map +1 -1
  39. package/esm/maths/coefficients/fraction.d.ts +8 -6
  40. package/esm/maths/coefficients/fraction.js +34 -17
  41. package/esm/maths/coefficients/fraction.js.map +1 -1
  42. package/esm/maths/expressions/expression.d.ts +21 -0
  43. package/esm/maths/expressions/expression.js +161 -0
  44. package/esm/maths/expressions/expression.js.map +1 -0
  45. package/esm/maths/expressions/expressionFactor.d.ts +29 -0
  46. package/esm/maths/expressions/expressionFactor.js +109 -0
  47. package/esm/maths/expressions/expressionFactor.js.map +1 -0
  48. package/esm/maths/expressions/expressionMember.d.ts +16 -0
  49. package/esm/maths/expressions/expressionMember.js +90 -0
  50. package/esm/maths/expressions/expressionMember.js.map +1 -0
  51. package/esm/maths/expressions/expressionOperators.d.ts +8 -0
  52. package/esm/maths/expressions/expressionOperators.js +42 -0
  53. package/esm/maths/expressions/expressionOperators.js.map +1 -0
  54. package/esm/maths/expressions/expressionParser.d.ts +12 -0
  55. package/esm/maths/expressions/expressionParser.js +219 -0
  56. package/esm/maths/expressions/expressionParser.js.map +1 -0
  57. package/esm/maths/expressions/factors/ExpFactor.d.ts +7 -0
  58. package/esm/maths/expressions/factors/ExpFactor.js +22 -0
  59. package/esm/maths/expressions/factors/ExpFactor.js.map +1 -0
  60. package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +13 -0
  61. package/esm/maths/expressions/factors/ExpFactorConstant.js +49 -0
  62. package/esm/maths/expressions/factors/ExpFactorConstant.js.map +1 -0
  63. package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +7 -0
  64. package/esm/maths/expressions/factors/ExpFactorExponential.js +18 -0
  65. package/esm/maths/expressions/factors/ExpFactorExponential.js.map +1 -0
  66. package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +13 -0
  67. package/esm/maths/expressions/factors/ExpFactorNumber.js +36 -0
  68. package/esm/maths/expressions/factors/ExpFactorNumber.js.map +1 -0
  69. package/esm/maths/expressions/factors/ExpFactorPower.d.ts +9 -0
  70. package/esm/maths/expressions/factors/ExpFactorPower.js +22 -0
  71. package/esm/maths/expressions/factors/ExpFactorPower.js.map +1 -0
  72. package/esm/maths/expressions/factors/ExpFactorSin.d.ts +7 -0
  73. package/esm/maths/expressions/factors/ExpFactorSin.js +22 -0
  74. package/esm/maths/expressions/factors/ExpFactorSin.js.map +1 -0
  75. package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +19 -0
  76. package/esm/maths/expressions/factors/ExpFactorTrigo.js +40 -0
  77. package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +1 -0
  78. package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +12 -0
  79. package/esm/maths/expressions/factors/ExpFactorVariable.js +33 -0
  80. package/esm/maths/expressions/factors/ExpFactorVariable.js.map +1 -0
  81. package/esm/maths/expressions/internals.d.ts +12 -0
  82. package/esm/maths/expressions/internals.js +29 -0
  83. package/esm/maths/expressions/internals.js.map +1 -0
  84. package/esm/maths/shutingyard.d.ts +4 -1
  85. package/esm/maths/shutingyard.js +137 -21
  86. package/esm/maths/shutingyard.js.map +1 -1
  87. package/graph.svg +1033 -0
  88. package/package.json +1 -1
  89. package/src/maths/algebra/equation.ts +2 -2
  90. package/src/maths/algebra/polynom.ts +1 -0
  91. package/src/maths/algebra/study/rationalStudy.ts +26 -12
  92. package/src/maths/algebra/study.ts +48 -5
  93. package/src/maths/coefficients/fraction.ts +111 -86
  94. package/src/maths/expressions/expression.ts +191 -0
  95. package/src/maths/expressions/expressionFactor.ts +138 -0
  96. package/src/maths/expressions/expressionMember.ts +114 -0
  97. package/src/maths/expressions/expressionOperators.ts +49 -0
  98. package/src/maths/expressions/expressionParser.ts +249 -0
  99. package/src/maths/expressions/factors/ExpFactor.ts +26 -0
  100. package/src/maths/expressions/factors/ExpFactorConstant.ts +56 -0
  101. package/src/maths/expressions/factors/ExpFactorExponential.ts +19 -0
  102. package/src/maths/expressions/factors/ExpFactorNumber.ts +44 -0
  103. package/src/maths/expressions/factors/ExpFactorPower.ts +24 -0
  104. package/src/maths/expressions/factors/ExpFactorTrigo.ts +44 -0
  105. package/src/maths/expressions/factors/ExpFactorVariable.ts +40 -0
  106. package/src/maths/expressions/internals.ts +14 -0
  107. package/src/maths/shutingyard.ts +156 -26
  108. package/tests/algebra/study.test.ts +29 -4
  109. package/tests/coefficients/fraction.test.ts +17 -0
  110. package/tests/expressions/expressions.test.ts +124 -0
  111. package/tests/shutingyard.test.ts +22 -0
  112. package/.idea/shelf/Uncommitted_changes_before_Update_at_17_04_2022_12_40_[Changes]/shelved.patch +0 -21
  113. package/.idea/shelf/Uncommitted_changes_before_Update_at_17_04_2022_12_40__Changes_.xml +0 -4
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * Polynom module contains everything necessary to handle polynoms.*
3
3
  */
4
- import {literalType, Monom} from './monom';
5
- import {Token} from '../shutingyard';
6
- import {Fraction} from "../coefficients/fraction";
7
- import {ISolution} from "./equation";
8
-
4
+ import { literalType, Monom } from './monom';
5
+ import { Token } from '../shutingyard';
6
+ import { Fraction } from "../coefficients/fraction";
7
+ import { ISolution } from "./equation";
9
8
  export declare type PolynomParsingType = string | Polynom | number | Fraction | Monom;
10
9
  export interface IEuclidian {
11
10
  quotient: Polynom;
@@ -115,6 +115,7 @@ class Polynom {
115
115
  this._monoms = [];
116
116
  this._factors = [];
117
117
  this.mark_as_dirty();
118
+ // TODO: allow to enter a liste of Fraction (a, b, c, ...) to make a polynom ax^n + bx^(n-1) + cx^(n-2) + ...
118
119
  if (typeof inputStr === 'string') {
119
120
  return this._parseString(inputStr, ...values);
120
121
  }
@@ -600,8 +601,7 @@ class Polynom {
600
601
  P = result.quotient.clone();
601
602
  // filter all dividers that are no more suitable.
602
603
  allDividers = allDividers.filter(x => {
603
- let pX = P.monoms[0], pC = P.monoms[P.monoms.length - 1], dX = x.monoms[0],
604
- dC = x.monoms[x.monoms.length - 1];
604
+ let pX = P.monoms[0], pC = P.monoms[P.monoms.length - 1], dX = x.monoms[0], dC = x.monoms[x.monoms.length - 1];
605
605
  // Check last item (degree zero)
606
606
  if (!pC.isDivisible(dC)) {
607
607
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,16 @@
2
2
  * Rational polynom module contains everything necessary to handle rational polynoms.
3
3
  * @module Polynom
4
4
  */
5
- import {IEuclidian, Polynom} from "./polynom";
6
- import {Fraction} from "../coefficients/fraction";
7
- import {literalType} from "./monom";
8
- import {RationalStudy} from "./study/rationalStudy";
9
-
5
+ import { IEuclidian, Polynom } from "./polynom";
6
+ import { Fraction } from "../coefficients/fraction";
7
+ import { literalType } from "./monom";
8
+ import { RationalStudy } from "./study/rationalStudy";
10
9
  /**
11
10
  * Rational class can handle rational polynoms
12
11
  */
13
12
  export declare class Rational {
14
13
  private _denominator;
15
- euclidian: () => IEuclidian;
14
+ private _numerator;
16
15
  private _rawString;
17
16
  /**
18
17
  *
@@ -24,7 +23,7 @@ export declare class Rational {
24
23
  get denominator(): Polynom;
25
24
  get tex(): string;
26
25
  get texFactors(): string;
27
- study: () => RationalStudy;
26
+ get plotFunction(): string;
28
27
  clone: () => Rational;
29
28
  domain: () => string;
30
29
  amplify: (P: Polynom) => Rational;
@@ -34,9 +33,8 @@ export declare class Rational {
34
33
  opposed: () => Rational;
35
34
  add: (R: Rational) => Rational;
36
35
  subtract: (R: Rational) => Rational;
37
- private _numerator;
36
+ euclidian: () => IEuclidian;
38
37
  limits: (value: Fraction | number, offset?: string, letter?: string) => Fraction;
39
38
  evaluate: (values: literalType | Fraction | number) => Fraction;
40
-
41
- get plotFunction(): string;
39
+ study: () => RationalStudy;
42
40
  }
@@ -91,12 +91,13 @@ class Rational {
91
91
  // TODO : where and how is used limits ?
92
92
  this.limits = (value, offset, letter) => {
93
93
  if (value === Infinity || value === -Infinity) {
94
- let {quotient, reminder} = this._numerator.clone().euclidian(this._denominator);
94
+ let { quotient, reminder } = this._numerator.clone().euclidian(this._denominator);
95
95
  // quotient is positive => it will be infinite.
96
96
  if (quotient.degree(letter).isStrictlyPositive()) {
97
97
  return value === Infinity ? quotient.limitToInfinity(letter) : quotient.limitToNegativeInfinity(letter);
98
98
  // return quotient.monomByDegree(undefined, letter).coefficient.sign()===1?(new Fraction()).infinite():(new Fraction()).infinite().opposed()
99
- } else {
99
+ }
100
+ else {
100
101
  return quotient.monomByDegree(undefined, letter).coefficient;
101
102
  }
102
103
  }
@@ -138,14 +139,17 @@ class Rational {
138
139
  };
139
140
  if (numerator instanceof polynom_1.Polynom) {
140
141
  this._numerator = numerator.clone();
141
- } else if (typeof numerator === 'string') {
142
+ }
143
+ else if (typeof numerator === 'string') {
142
144
  this._numerator = new polynom_1.Polynom(numerator);
143
- } else {
145
+ }
146
+ else {
144
147
  this._numerator = new polynom_1.Polynom();
145
148
  }
146
149
  if (denominator instanceof polynom_1.Polynom) {
147
150
  this._denominator = denominator.clone();
148
- } else if (typeof denominator === 'string') {
151
+ }
152
+ else if (typeof denominator === 'string') {
149
153
  this._denominator = new polynom_1.Polynom(denominator);
150
154
  }
151
155
  else {
@@ -13,8 +13,7 @@
13
13
  * ddx : dérivée seconde
14
14
  * variations : variation table + tex output using tkz-tab
15
15
  */
16
- import {IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction} from "../study";
17
-
16
+ import { IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction } from "../study";
18
17
  export declare class RationalStudy extends Study {
19
18
  constructor(fx: StudyableFunction);
20
19
  makeZeroes(): IZero[];
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {value: true});
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RationalStudy = void 0;
4
4
  /**
5
5
  * The study class is a "function study" class that will get:
@@ -19,13 +19,13 @@ exports.RationalStudy = void 0;
19
19
  const study_1 = require("../study");
20
20
  const rational_1 = require("../rational");
21
21
  const fraction_1 = require("../../coefficients/fraction");
22
+ const polynom_1 = require("../polynom");
22
23
  class RationalStudy extends study_1.Study {
23
24
  constructor(fx) {
24
25
  super(fx);
25
26
  return this;
26
27
  }
27
28
  makeZeroes() {
28
- console.log('GETTING ZEROES');
29
29
  return this._getZeroes(this.fx);
30
30
  }
31
31
  ;
@@ -47,58 +47,67 @@ class RationalStudy extends study_1.Study {
47
47
  Ztype = study_1.ASYMPTOTE.HOLE;
48
48
  tex = `(${zero.tex};${reduced.evaluate(zero.exact).tex})`;
49
49
  }
50
- } else {
50
+ }
51
+ else {
51
52
  if (reduced.denominator.evaluate(zero.value).isNotZero()) {
52
53
  Ztype = study_1.ASYMPTOTE.HOLE;
53
54
  tex = `(${zero.tex};${reduced.evaluate(zero.value).tex})`;
54
55
  }
55
56
  }
56
57
  asymptotes.push({
58
+ fx: null,
57
59
  type: Ztype,
58
60
  tex: tex,
59
61
  zero: zero,
60
62
  limits: `\\lim_{x\\to${zero.tex} }\\ f(x) = \\pm\\infty`,
61
- deltaX: null
63
+ deltaX: null,
64
+ tableOfSign: null
62
65
  });
63
66
  });
64
67
  // Sloped asymptote
65
68
  let NDegree = this.fx.numerator.degree(), DDegree = this.fx.denominator.degree();
66
69
  if (NDegree.isEqual(DDegree)) {
67
- let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient).tex;
68
- let {reminder} = reduced.euclidian();
70
+ let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient), Htex = H.tex;
71
+ let { reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
69
72
  asymptotes.push({
73
+ fx: new polynom_1.Polynom(H),
70
74
  type: study_1.ASYMPTOTE.HORIZONTAL,
71
- tex: `y=${H}`,
75
+ tex: `y=${Htex}`,
72
76
  zero: null,
73
- limits: `\\lim_{x\\to\\infty}\\ f(x) = ${H}`,
74
- deltaX: new rational_1.Rational(reminder, reduced.denominator)
77
+ limits: `\\lim_{x\\to\\infty}\\ f(x) = ${Htex}`,
78
+ deltaX,
79
+ tableOfSign: this._getSigns(deltaX)
75
80
  });
76
- } else if (DDegree.greater(NDegree)) {
81
+ }
82
+ else if (DDegree.greater(NDegree)) {
77
83
  asymptotes.push({
84
+ fx: new polynom_1.Polynom('0'),
78
85
  type: study_1.ASYMPTOTE.HORIZONTAL,
79
86
  tex: `y=0`,
80
87
  zero: null,
81
88
  limits: `\\lim_{x\\to\\infty}\\ f(x) = ${0}`,
82
- deltaX: null
89
+ deltaX: null,
90
+ tableOfSign: null
83
91
  });
84
- } else if (NDegree.value - 1 === DDegree.value) {
92
+ }
93
+ else if (NDegree.value - 1 === DDegree.value) {
85
94
  // Calculate the slope
86
- let {quotient, reminder} = reduced.euclidian();
95
+ let { quotient, reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
87
96
  asymptotes.push({
97
+ fx: quotient.clone(),
88
98
  type: study_1.ASYMPTOTE.SLOPE,
89
99
  tex: `y=${quotient.tex}`,
90
100
  zero: null,
91
101
  limits: ``,
92
- deltaX: new rational_1.Rational(reminder, reduced.denominator)
102
+ deltaX: new rational_1.Rational(reminder, reduced.denominator),
103
+ tableOfSign: this._getSigns(deltaX)
93
104
  });
94
105
  }
95
106
  return asymptotes;
96
107
  }
97
108
  ;
98
109
  makeDerivative() {
99
- let dx = this.fx.clone().derivative(),
100
- tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
101
- console.log(tos.factors.length, tos.signs.length);
110
+ let dx = this.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
102
111
  let result = this.makeGrowsResult(tos);
103
112
  tos.signs.push(result.growsLine);
104
113
  tos.extremes = result.extremes;
@@ -107,8 +116,7 @@ class RationalStudy extends study_1.Study {
107
116
  ;
108
117
  makeVariation() {
109
118
  // Get the zeroes, make signs.
110
- let dx = this.derivative.fx.clone().derivative(),
111
- tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
119
+ let dx = this.derivative.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
112
120
  let result = this.makeVariationsResult(tos);
113
121
  tos.signs.push(result.varsLine);
114
122
  tos.extremes = result.extremes;
@@ -132,7 +140,8 @@ class RationalStudy extends study_1.Study {
132
140
  let idx = this.indexOfZero(zeroes, z);
133
141
  if (idx !== -1) {
134
142
  zeroes[idx].type = study_1.ZEROTYPE.DEFENCE;
135
- } else {
143
+ }
144
+ else {
136
145
  // Add the item
137
146
  zeroes.push({
138
147
  tex: z.tex,
@@ -150,6 +159,9 @@ class RationalStudy extends study_1.Study {
150
159
  _getSigns(fx, zeroes, typeOfTable) {
151
160
  // Factorize the rational
152
161
  let signs = [], factors = [];
162
+ if (zeroes === undefined) {
163
+ zeroes = this._getZeroes(fx);
164
+ }
153
165
  fx.numerator.factors.forEach(factor => {
154
166
  signs.push(this.makeOneLineForSigns(factor, zeroes, study_1.ZEROTYPE.ZERO));
155
167
  factors.push(factor.clone());
@@ -1 +1 @@
1
- {"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,9 @@
2
2
  * Rational polynom module contains everything necessary to handle rational polynoms.
3
3
  * @module Polynom
4
4
  */
5
- import {Rational} from "./rational";
6
- import {ISolution} from "./equation";
7
- import {Polynom} from "./polynom";
8
-
5
+ import { Rational } from "./rational";
6
+ import { ISolution } from "./equation";
7
+ import { Polynom } from "./polynom";
9
8
  export declare type StudyableFunction = Rational;
10
9
  export declare enum ZEROTYPE {
11
10
  ZERO = "z",
@@ -23,11 +22,13 @@ export declare enum ASYMPTOTE {
23
22
  HOLE = "hole"
24
23
  }
25
24
  export interface IAsymptote {
25
+ fx: Polynom;
26
26
  deltaX: StudyableFunction;
27
27
  limits: string;
28
28
  tex: string;
29
29
  type: ASYMPTOTE;
30
30
  zero: IZero;
31
+ tableOfSign: ITableOfSigns;
31
32
  }
32
33
  export declare enum FUNCTION_EXTREMA {
33
34
  MIN = "min",
@@ -58,9 +59,9 @@ export interface ITableOfSigns {
58
59
  tex: string;
59
60
  }
60
61
  export declare enum TABLE_OF_SIGNS {
61
- DEFAULT = 0,
62
- GROWS = 1,
63
- VARIATIONS = 2
62
+ SIGNS = "signs",
63
+ GROWS = "grows",
64
+ VARIATIONS = "variatins"
64
65
  }
65
66
  /**
66
67
  * The study class is a "function study" class that will get:
@@ -86,43 +87,34 @@ export declare class Study {
86
87
  private _zeroes;
87
88
  constructor(fx: StudyableFunction);
88
89
  get zeroes(): IZero[];
89
-
90
90
  get domain(): string;
91
-
92
91
  get signs(): ITableOfSigns;
93
-
94
92
  get asymptotes(): IAsymptote[];
95
-
96
93
  get derivative(): ITableOfSigns;
97
-
94
+ get texSigns(): string;
95
+ get texGrows(): string;
96
+ get texVariations(): string;
97
+ makeStudy: () => void;
98
+ indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
99
+ makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
100
+ makeSignsResult: (signs: (string[])[]) => string[];
98
101
  makeGrowsResult: (tos: ITableOfSigns) => {
99
102
  growsLine: string[];
100
103
  extremes: {
101
104
  [Key: string]: IExtrema;
102
105
  };
103
106
  };
104
-
105
- get texGrows(): string;
106
-
107
- get texVariations(): string;
108
-
109
- makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
110
- indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
111
- makeSignsResult: (signs: (string[])[]) => string[];
112
- makeStudy: () => void;
113
107
  makeVariationsResult: (tos: ITableOfSigns) => {
114
108
  varsLine: string[];
115
109
  extremes: {
116
110
  [Key: string]: IExtrema;
117
111
  };
118
112
  };
119
-
120
- get texSigns(): string;
121
-
122
113
  makeZeroes(): IZero[];
123
114
  makeSigns(): ITableOfSigns;
124
115
  makeAsymptotes(): IAsymptote[];
125
116
  makeDerivative(): ITableOfSigns;
126
117
  makeVariation(): ITableOfSigns;
127
118
  private _makeTexFromTableOfSigns;
119
+ drawCode: () => string;
128
120
  }