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
package/dist/main.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { Point } from './maths/geometry/point.ts';
2
+ import { Circle } from './maths/geometry/circle.ts';
3
+ import { Triangle } from './maths/geometry/triangle.ts';
4
+ import { Line } from './maths/geometry/line.ts';
5
+ import { Vector } from './maths/geometry/vector.ts';
6
+ import { Logicalset } from './maths/algebra/logicalset.ts';
7
+ import { Rational } from './maths/algebra/rational.ts';
8
+ import { LinearSystem } from './maths/algebra/linearSystem.ts';
9
+ import { Equation } from './maths/algebra/equation.ts';
10
+ import { Polynom } from './maths/algebra/polynom.ts';
11
+ import { Monom } from './maths/algebra/monom.ts';
12
+ import { NthRoot } from './maths/coefficients/nthRoot.ts';
13
+ import { Fraction } from './maths/coefficients/fraction.ts';
14
+ import { Random } from './maths/randomization/random.ts';
15
+ import { Shutingyard } from './maths/shutingyard.ts';
16
+ import { NumExp } from './maths/numexp.ts';
17
+ import { Numeric } from './maths/numeric.ts';
18
+
19
+ export declare const PiMath: {
20
+ ShutingYard: typeof Shutingyard;
21
+ Numeric: typeof Numeric;
22
+ NumExp: typeof NumExp;
23
+ Fraction: typeof Fraction;
24
+ Root: typeof NthRoot;
25
+ Monom: typeof Monom;
26
+ Polynom: typeof Polynom;
27
+ Equation: typeof Equation;
28
+ LinearSystem: typeof LinearSystem;
29
+ Rational: typeof Rational;
30
+ Logicalset: typeof Logicalset;
31
+ Random: typeof Random;
32
+ Geometry: {
33
+ Vector: typeof Vector;
34
+ Point: typeof Point;
35
+ Line: typeof Line;
36
+ Triangle: typeof Triangle;
37
+ Circle: typeof Circle;
38
+ };
39
+ };
@@ -1,6 +1,7 @@
1
- import { Polynom } from "./polynom";
2
- import { literalType } from "./monom";
3
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+ import { literalType } from './monom';
3
+ import { Polynom } from './polynom';
4
+
4
5
  /**
5
6
  * Equation is a class to manage equations...
6
7
  */
@@ -18,22 +19,23 @@ export declare class Equation {
18
19
  private _polynom;
19
20
  private _varnothing;
20
21
  private _real;
22
+ private _left;
23
+ private _right;
24
+ private _sign;
25
+ private _solutions;
26
+ private _randomizeDefaults;
21
27
  /**
22
28
  * Create an Equation using two polynoms.
23
29
  * Markdown *support* is cool
24
30
  * @param equations
25
31
  */
26
32
  constructor(...equations: unknown[]);
27
- private _left;
28
33
  get left(): Polynom;
29
34
  set left(value: Polynom);
30
- private _right;
31
35
  get right(): Polynom;
32
36
  set right(value: Polynom);
33
- private _sign;
34
37
  get sign(): string;
35
38
  set sign(value: string);
36
- private _solutions;
37
39
  get solutions(): ISolution[];
38
40
  get isEquation(): boolean;
39
41
  get solution(): string;
@@ -45,14 +47,14 @@ export declare class Equation {
45
47
  get raw(): string;
46
48
  get variables(): string[];
47
49
  get numberOfVars(): number;
48
- hasVariable: (letter: string) => boolean;
49
- private _randomizeDefaults;
50
50
  get randomizeDefaults(): {
51
51
  [key: string]: number | string | boolean;
52
52
  };
53
53
  set randomizeDefaults(value: {
54
54
  [key: string]: number | string | boolean;
55
55
  });
56
+ static makeSolutionsUnique(solutions: ISolution[], sorted?: boolean): ISolution[];
57
+ hasVariable: (letter: string) => boolean;
56
58
  parse: (equationString: string) => Equation;
57
59
  create: (left: Polynom, right: Polynom, sign?: string) => Equation;
58
60
  clone: () => Equation;
@@ -103,7 +105,6 @@ export declare class Equation {
103
105
  isMultiVariable: () => boolean;
104
106
  letters: () => string[];
105
107
  solve: () => Equation;
106
- static makeSolutionsUnique(solutions: ISolution[], sorted?: boolean): ISolution[];
107
108
  test: (values: literalType) => Boolean;
108
109
  isSameAs: (equ: Equation) => Boolean;
109
110
  isLinearTo: (equ: Equation) => Boolean;
@@ -1,5 +1,6 @@
1
- import { Equation } from "./equation";
2
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+ import { Equation } from './equation';
3
+
3
4
  export declare class LinearSystem {
4
5
  private _equations;
5
6
  private _letters;
@@ -15,14 +16,14 @@ export declare class LinearSystem {
15
16
  get tex(): string;
16
17
  get solution(): string;
17
18
  get solutionAsDisplay(): string;
18
- buildTex: (equations: Equation[], operators?: (string[])[]) => string;
19
- stepTex: (letter: string) => string;
20
19
  get resolutionSteps(): {
21
20
  [p: string]: {
22
21
  equations: Equation[];
23
22
  operations: string[][];
24
23
  }[];
25
24
  };
25
+ buildTex: (equations: Equation[], operators?: (string[])[]) => string;
26
+ stepTex: (letter: string) => string;
26
27
  parse: (...equations: (string | Equation)[]) => LinearSystem;
27
28
  clone: () => LinearSystem;
28
29
  reorder: () => LinearSystem;
@@ -1,9 +1,12 @@
1
- import { Token } from "../shutingyard";
2
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+ import { Token } from '../shutingyard.ts';
3
+
3
4
  export type literalType = {
4
5
  [Key: string]: Fraction;
5
6
  };
6
7
  export declare class Monom {
8
+ private _coefficient;
9
+ private _literal;
7
10
  /**
8
11
  * Create a Monom
9
12
  * Defined as \\(k \\cdot x^{n}\\), where \\( k,n \in \\mathbb{Q}\\).
@@ -11,7 +14,6 @@ export declare class Monom {
11
14
  * @param value (optional) string The value that should be parse. Can be a Monom, a Fraction, a string or a number. If nothing is provided, it will return the trivial monom (0).
12
15
  */
13
16
  constructor(value?: unknown);
14
- private _coefficient;
15
17
  /**
16
18
  * Get the coefficient \\(k\\) of the Monom \\(k\\cdot x^{n}\\)
17
19
  * @returns {Fraction}
@@ -22,7 +24,6 @@ export declare class Monom {
22
24
  * @param {Fraction | number | string} F
23
25
  */
24
26
  set coefficient(F: Fraction | number | string);
25
- private _literal;
26
27
  /**
27
28
  * Get the literal part of \\(x^{n_1}y^{n_2}\\) as dictionary \\[\\begin{array}{ll}x&=n_1\\\\y&=n_2\\end{array}\\]
28
29
  * @returns {literalType}
@@ -1,10 +1,8 @@
1
- /**
2
- * Polynom module contains everything necessary to handle polynoms.*
3
- */
1
+ import { ISolution } from './equation';
2
+ import { Fraction } from '../coefficients/fraction';
3
+ import { Token } from '../shutingyard.ts';
4
4
  import { literalType, Monom } from './monom';
5
- import { Token } from '../shutingyard';
6
- import { Fraction } from "../coefficients/fraction";
7
- import { ISolution } from "./equation";
5
+
8
6
  export type PolynomParsingType = string | Polynom | number | Fraction | Monom;
9
7
  export interface IEuclidian {
10
8
  quotient: Polynom;
@@ -18,34 +16,34 @@ export interface IEuclidian {
18
16
  */
19
17
  export declare class Polynom {
20
18
  private _rawString;
19
+ private _dirty_factors;
20
+ private _dirty_zeroes;
21
+ private _euclidianCache;
22
+ private _factors;
23
+ private _monoms;
24
+ private _texString;
25
+ private _zeroes;
21
26
  /**
22
27
  *
23
28
  * @param {string} polynomString (optional) Default polynom to parse on class creation
24
29
  * @param values
25
30
  */
26
31
  constructor(polynomString?: PolynomParsingType, ...values: unknown[]);
27
- private _dirty_factors;
28
32
  get dirty_factors(): boolean;
29
33
  set dirty_factors(value: boolean);
30
- private _dirty_zeroes;
31
34
  get dirty_zeroes(): boolean;
32
35
  set dirty_zeroes(value: boolean);
33
- private _euclidianCache;
34
36
  get euclidianCache(): {
35
37
  [p: string]: IEuclidian;
36
38
  };
37
39
  set euclidianCache(value: {
38
40
  [p: string]: IEuclidian;
39
41
  });
40
- private _factors;
41
42
  get factors(): Polynom[];
42
43
  set factors(value: Polynom[]);
43
- private _monoms;
44
44
  get monoms(): Monom[];
45
45
  set monoms(M: Monom[]);
46
- private _texString;
47
46
  get texString(): string;
48
- private _zeroes;
49
47
  get zeroes(): ISolution[];
50
48
  get texFactors(): string;
51
49
  get displayFactors(): string;
@@ -1,12 +1,9 @@
1
- /**
2
- * Rational polynom module contains everything necessary to handle rational polynoms.
3
- * @module Polynom
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
- import { StudyConfig } from "./study";
1
+ import { StudyConfig } from './study';
2
+ import { RationalStudy } from './study/rationalStudy';
3
+ import { literalType } from './monom';
4
+ import { Fraction } from '../coefficients/fraction';
5
+ import { IEuclidian, Polynom } from './polynom';
6
+
10
7
  /**
11
8
  * Rational class can handle rational polynoms
12
9
  */
@@ -25,6 +22,7 @@ export declare class Rational {
25
22
  get tex(): string;
26
23
  get display(): string;
27
24
  get texFactors(): string;
25
+ get displayFactors(): string;
28
26
  get plotFunction(): string;
29
27
  clone: () => Rational;
30
28
  domain: () => string;
@@ -0,0 +1,14 @@
1
+ import { Rational } from '../rational';
2
+ import { ASYMPTOTE_POSITION, IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction, StudyConfig } from '../study';
3
+
4
+ export declare class RationalStudy extends Study {
5
+ constructor(fx: StudyableFunction, config?: StudyConfig | string);
6
+ makeZeroes(): IZero[];
7
+ makeSigns(): ITableOfSigns;
8
+ makeAsymptotes(): IAsymptote[];
9
+ _getHorizontalAsymptoteRelativePositon(deltaX: Rational, delta?: number): ASYMPTOTE_POSITION[];
10
+ makeDerivative(): ITableOfSigns;
11
+ makeVariation(): ITableOfSigns;
12
+ private _getZeroes;
13
+ private _getSigns;
14
+ }
@@ -1,10 +1,7 @@
1
- /**
2
- * Rational polynom module contains everything necessary to handle rational polynoms.
3
- * @module Polynom
4
- */
5
- import { Rational } from "./rational";
6
- import { ISolution } from "./equation";
7
- import { Polynom } from "./polynom";
1
+ import { Polynom } from './polynom';
2
+ import { ISolution } from './equation';
3
+ import { Rational } from './rational';
4
+
8
5
  export type StudyableFunction = Rational;
9
6
  export declare enum ZEROTYPE {
10
7
  ZERO = "z",
@@ -1,16 +1,17 @@
1
- import { Point } from "./point";
2
- import { Line } from "./line";
3
- import { Fraction } from "../coefficients/fraction";
4
- import { Equation } from "../algebra/equation";
1
+ import { Equation } from '../algebra/equation';
2
+ import { Fraction } from '../coefficients/fraction';
3
+ import { Line } from './line';
4
+ import { Point } from './point';
5
+
5
6
  export declare class Circle {
6
- constructor(...values: unknown[]);
7
7
  private _center;
8
- get center(): Point;
9
8
  private _squareRadius;
10
- get squareRadius(): Fraction;
11
9
  private _cartesian;
12
- get cartesian(): Equation;
13
10
  private _exists;
11
+ constructor(...values: unknown[]);
12
+ get center(): Point;
13
+ get squareRadius(): Fraction;
14
+ get cartesian(): Equation;
14
15
  get exists(): boolean;
15
16
  get radius(): {
16
17
  tex: string;
@@ -1,10 +1,8 @@
1
- /**
2
- * This class works for 2d line in a plane.
3
- */
4
- import { Vector } from "./vector";
5
- import { Point } from "./point";
6
- import { Fraction } from "../coefficients/fraction";
7
- import { Equation } from "../algebra/equation";
1
+ import { Equation } from '../algebra/equation';
2
+ import { Fraction } from '../coefficients/fraction';
3
+ import { Point } from './point';
4
+ import { Vector } from './vector';
5
+
8
6
  export declare enum LinePropriety {
9
7
  None = 0,
10
8
  Parallel = "parallel",
@@ -17,25 +15,30 @@ export declare class Line {
17
15
  private _referencePropriety;
18
16
  private _referenceLine;
19
17
  private _reduceBeforeDisplay;
20
- constructor(...values: unknown[]);
21
18
  private _a;
19
+ private _b;
20
+ private _c;
21
+ private _OA;
22
+ private _d;
23
+ private _n;
24
+ private _exists;
25
+ /**
26
+ * Value can be a mix of:
27
+ *
28
+ * @param values
29
+ */
30
+ constructor(...values: unknown[]);
22
31
  get a(): Fraction;
23
32
  set a(value: Fraction);
24
- private _b;
25
33
  get b(): Fraction;
26
34
  set b(value: Fraction);
27
- private _c;
28
35
  get c(): Fraction;
29
36
  set c(value: Fraction);
30
- private _OA;
31
37
  get OA(): Point;
32
38
  set OA(value: Point);
33
- private _d;
34
39
  get d(): Vector;
35
40
  set d(value: Vector);
36
- private _n;
37
41
  get n(): Vector;
38
- private _exists;
39
42
  get exists(): boolean;
40
43
  get equation(): Equation;
41
44
  get system(): {
@@ -1,10 +1,7 @@
1
- /**
2
- * Vector module contains everything necessary to handle 2d or 3d vectors.
3
- * @module Vector
4
- */
5
- import { Line } from "./line";
6
- import { Vector } from "./vector";
7
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+ import { Vector } from './vector';
3
+ import { Line } from './line';
4
+
8
5
  export declare class Point {
9
6
  private _x;
10
7
  private _y;
@@ -17,18 +14,23 @@ export declare class Point {
17
14
  get tex(): string;
18
15
  get display(): string;
19
16
  get asVector(): Vector;
17
+ get key(): string;
18
+ static pmatrix: (a: any, b: any, c?: any) => string;
20
19
  parse: (...values: unknown[]) => Point;
21
20
  clone: () => Point;
22
21
  zero: () => Point;
23
22
  origin: () => Point;
24
23
  middleOf: (P1: Point, P2: Point) => Point;
24
+ translate: (value: {
25
+ x: number | Fraction;
26
+ y: number | Fraction;
27
+ }) => Point;
25
28
  texValues: (numberOfDigits: number) => string;
26
- static pmatrix: (a: any, b: any, c?: any) => string;
27
29
  distanceTo: (item: Point | Line) => {
28
30
  value: number;
29
31
  fraction: Fraction;
30
32
  tex: string;
31
33
  };
32
- get key(): string;
33
34
  isInListOfPoints: (list: Point[]) => boolean;
35
+ isEqual: (pt: Point) => boolean;
34
36
  }
@@ -1,6 +1,7 @@
1
- import { Point } from "./point";
2
- import { Vector } from "./vector";
3
- import { Line } from "./line";
1
+ import { Line } from './line';
2
+ import { Vector } from './vector';
3
+ import { Point } from './point';
4
+
4
5
  export interface remarquableLines {
5
6
  'medians': {
6
7
  'A': Line;
@@ -1,9 +1,6 @@
1
- /**
2
- * Vector module contains everything necessary to handle 2d or 3d vectors.
3
- * @module Vector
4
- */
5
- import { Fraction } from "../coefficients/fraction";
6
- import { Point } from "./point";
1
+ import { Point } from './point';
2
+ import { Fraction } from '../coefficients/fraction';
3
+
7
4
  export declare class Vector {
8
5
  private _x;
9
6
  private _y;
@@ -16,26 +13,26 @@ export declare class Vector {
16
13
  get norm(): number;
17
14
  get tex(): string;
18
15
  get asPoint(): Point;
16
+ get isNull(): boolean;
17
+ static scalarProduct: (v1: Vector, v2: Vector) => Fraction;
18
+ static determinant: (v1: Vector, v2: Vector) => Fraction;
19
19
  parse: (...values: any) => Vector;
20
20
  clone: () => Vector;
21
21
  reset: () => Vector;
22
22
  zero: () => Vector;
23
23
  one: () => Vector;
24
- private _parseString;
25
24
  opposed: () => Vector;
26
25
  add: (V: Vector) => Vector;
27
26
  subtract: (V: Vector) => Vector;
28
27
  scalarProductWithVector: (V: Vector) => Fraction;
29
28
  determinantWithVector: (V: Vector) => Fraction;
30
- static scalarProduct: (v1: Vector, v2: Vector) => Fraction;
31
- static determinant: (v1: Vector, v2: Vector) => Fraction;
32
29
  normal: () => Vector;
33
30
  isColinearTo: (v: Vector) => boolean;
34
31
  isNormalTo: (v: Vector) => boolean;
35
- get isNull(): boolean;
36
32
  multiplyByScalar: (k: any) => Vector;
37
33
  divideByScalar: (k: any) => Vector;
38
34
  simplify: () => Vector;
39
35
  simplifyDirection: () => Vector;
40
36
  angleWith: (V: Vector, sharp?: Boolean, radian?: Boolean) => number;
37
+ private _parseString;
41
38
  }
@@ -1,10 +1,12 @@
1
- import { randomCoefficientConfig, randomGeometryLineConfig, randomGeometryPointConfig, randomMonomConfig, randomPolynomConfig } from "./rndTypes";
2
- import { Polynom } from "../algebra/polynom";
3
- import { Monom } from "../algebra/monom";
4
- import { Fraction } from "../coefficients/fraction";
5
- import { Line } from "../geometry/line";
6
- import { Point } from "../geometry/point";
7
- export * from "./rndTypes";
1
+ import { Circle } from '../geometry/circle';
2
+ import { Point } from '../geometry/point';
3
+ import { Line } from '../geometry/line';
4
+ import { Fraction } from '../coefficients/fraction';
5
+ import { Monom } from '../algebra/monom';
6
+ import { Polynom } from '../algebra/polynom';
7
+ import { randomCoefficientConfig, randomGeometryCircleConfig, randomGeometryLineConfig, randomGeometryPointConfig, randomMonomConfig, randomPolynomConfig } from './rndTypes';
8
+
9
+ export * from './rndTypes';
8
10
  export declare namespace Random {
9
11
  function polynom(config?: randomPolynomConfig): Polynom;
10
12
  function monom(config?: randomMonomConfig): Monom;
@@ -19,5 +21,6 @@ export declare namespace Random {
19
21
  namespace Geometry {
20
22
  function line(config?: randomGeometryLineConfig): Line;
21
23
  function point(config?: randomGeometryPointConfig): Point;
24
+ function circle(config?: randomGeometryCircleConfig): Circle;
22
25
  }
23
26
  }
@@ -1,6 +1,7 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomCoefficientConfig } from "./rndTypes";
3
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+ import { randomCoefficientConfig } from './rndTypes';
3
+ import { randomCore } from './randomCore';
4
+
4
5
  /**
5
6
  * Create a random monom based on a based configuration
6
7
  */
@@ -0,0 +1,13 @@
1
+ import { Circle } from '../geometry/circle';
2
+ import { randomGeometryCircleConfig } from './random';
3
+ import { randomCore } from './randomCore';
4
+
5
+ /**
6
+ * Create a random monom based on a based configuration
7
+ */
8
+ export declare class rndGeometryCircle extends randomCore {
9
+ protected _config: randomGeometryCircleConfig;
10
+ protected _defaultConfig: randomGeometryCircleConfig;
11
+ generate: () => Circle;
12
+ constructor(userConfig?: randomGeometryCircleConfig);
13
+ }
@@ -1,6 +1,7 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomGeometryLineConfig } from "./random";
3
- import { Line } from "../geometry/line";
1
+ import { Line } from '../geometry/line';
2
+ import { randomGeometryLineConfig } from './random';
3
+ import { randomCore } from './randomCore';
4
+
4
5
  /**
5
6
  * Create a random monom based on a based configuration
6
7
  */
@@ -1,6 +1,7 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomGeometryPointConfig } from "./random";
3
- import { Point } from "../geometry/point";
1
+ import { Point } from '../geometry/point';
2
+ import { randomGeometryPointConfig } from './random';
3
+ import { randomCore } from './randomCore';
4
+
4
5
  /**
5
6
  * Create a random monom based on a based configuration
6
7
  */
@@ -1,12 +1,13 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomMonomConfig } from "./rndTypes";
3
- import { Monom } from "../algebra/monom";
1
+ import { Monom } from '../algebra/monom';
2
+ import { randomMonomConfig } from './rndTypes';
3
+ import { randomCore } from './randomCore';
4
+
4
5
  /**
5
6
  * Create a random monom based on a based configuration
6
7
  */
7
8
  export declare class rndMonom extends randomCore {
8
9
  protected _config: randomMonomConfig;
9
10
  protected _defaultConfig: randomMonomConfig;
10
- constructor(userConfig?: randomMonomConfig);
11
11
  generate: () => Monom;
12
+ constructor(userConfig?: randomMonomConfig);
12
13
  }
@@ -1,13 +1,14 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomPolynomConfig } from "./rndTypes";
3
- import { Polynom } from "../algebra/polynom";
1
+ import { Polynom } from '../algebra/polynom';
2
+ import { randomPolynomConfig } from './rndTypes';
3
+ import { randomCore } from './randomCore';
4
+
4
5
  /**
5
6
  * Random polynoms
6
7
  */
7
8
  export declare class rndPolynom extends randomCore {
8
9
  protected _config: randomPolynomConfig;
9
10
  protected _defaultConfig: randomPolynomConfig;
10
- constructor(userConfig?: randomPolynomConfig);
11
11
  generate: () => Polynom;
12
+ constructor(userConfig?: randomPolynomConfig);
12
13
  factorable: () => Polynom;
13
14
  }
@@ -1,4 +1,5 @@
1
- import { Fraction } from "../coefficients/fraction";
1
+ import { Fraction } from '../coefficients/fraction';
2
+
2
3
  export type randomCoefficientConfig = {
3
4
  negative?: boolean;
4
5
  max?: number;
@@ -32,3 +33,8 @@ export type randomGeometryPointConfig = {
32
33
  fraction?: boolean;
33
34
  max?: number;
34
35
  };
36
+ export type randomGeometryCircleConfig = {
37
+ center?: randomGeometryPointConfig;
38
+ radius?: number;
39
+ pointsOnCircle?: number;
40
+ };