pimath 0.0.12 → 0.0.16

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 (100) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +1 -1
  2. package/dev/index.html +9 -7
  3. package/dev/pi.js +364 -229
  4. package/dev/pi.js.map +1 -1
  5. package/dist/pi.js +1 -1
  6. package/dist/pi.js.map +1 -1
  7. package/docs/assets/highlight.css +7 -0
  8. package/docs/assets/search.js +1 -1
  9. package/docs/classes/algebra.Algebra.Equation.html +26 -0
  10. package/docs/classes/algebra.Algebra.LinearSystem.html +1 -0
  11. package/docs/classes/algebra.Algebra.LogicalSet.html +3 -0
  12. package/docs/classes/algebra.Algebra.Monom.html +111 -0
  13. package/docs/classes/algebra.Algebra.Polynom.html +36 -0
  14. package/docs/classes/algebra.Algebra.Rational.html +2 -0
  15. package/docs/classes/algebra.Equation.html +28 -0
  16. package/docs/classes/algebra.LinearSystem.html +1 -0
  17. package/docs/classes/algebra.Logicalset.html +5 -0
  18. package/docs/classes/algebra.Monom.html +111 -0
  19. package/docs/classes/algebra.Polynom.html +43 -0
  20. package/docs/classes/algebra.Rational.html +4 -0
  21. package/docs/classes/coefficients.Fraction.html +15 -0
  22. package/docs/classes/coefficients.Nthroot.html +1 -0
  23. package/docs/classes/geometry.Circle.html +1 -0
  24. package/docs/classes/geometry.Geometry.Circle.html +1 -0
  25. package/docs/classes/geometry.Geometry.Line.html +1 -0
  26. package/docs/classes/geometry.Geometry.Point.html +1 -0
  27. package/docs/classes/geometry.Geometry.Triangle.html +9 -0
  28. package/docs/classes/geometry.Geometry.Vector.html +1 -0
  29. package/docs/classes/geometry.Line.html +1 -0
  30. package/docs/classes/geometry.Point.html +1 -0
  31. package/docs/classes/geometry.Triangle.html +17 -0
  32. package/docs/classes/geometry.Vector.html +1 -0
  33. package/docs/classes/{Numeric.html → numeric.Numeric.html} +5 -5
  34. package/docs/classes/shutingyard.Shutingyard.html +19 -0
  35. package/docs/index.html +2 -2
  36. package/docs/interfaces/geometry.remarquableLines.html +1 -0
  37. package/docs/modules/algebra.Algebra.html +1 -0
  38. package/docs/modules/algebra.html +1 -0
  39. package/docs/modules/coefficients.html +1 -0
  40. package/docs/modules/geometry.Geometry.html +1 -0
  41. package/docs/modules/geometry.html +1 -0
  42. package/docs/modules/numeric.html +1 -0
  43. package/docs/modules/random.Random.html +1 -0
  44. package/docs/modules/random.html +1 -0
  45. package/docs/modules/shutingyard.html +1 -0
  46. package/docs/modules.html +1 -1
  47. package/esm/main.js +1 -1
  48. package/esm/main.js.map +1 -1
  49. package/esm/maths/algebra/equation.js +2 -2
  50. package/esm/maths/algebra/equation.js.map +1 -1
  51. package/esm/maths/algebra/linearSystem.d.ts +1 -1
  52. package/esm/maths/algebra/linearSystem.js +2 -2
  53. package/esm/maths/algebra/linearSystem.js.map +1 -1
  54. package/esm/maths/algebra/logicalset.js.map +1 -1
  55. package/esm/maths/algebra/monom.js.map +1 -1
  56. package/esm/maths/algebra/polynom.d.ts +3 -1
  57. package/esm/maths/algebra/polynom.js +5 -2
  58. package/esm/maths/algebra/polynom.js.map +1 -1
  59. package/esm/maths/algebra/rational.js.map +1 -1
  60. package/esm/maths/geometry/triangle.d.ts +1 -2
  61. package/esm/maths/random/index.d.ts +13 -0
  62. package/esm/maths/random/index.js +28 -0
  63. package/esm/maths/random/index.js.map +1 -0
  64. package/esm/maths/random/rndMonom.js +1 -1
  65. package/esm/maths/random/rndMonom.js.map +1 -1
  66. package/esm/maths/random/rndPolynom.d.ts +1 -1
  67. package/esm/maths/random/rndPolynom.js +12 -3
  68. package/esm/maths/random/rndPolynom.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/main.ts +1 -1
  71. package/src/maths/algebra/equation.ts +20 -5
  72. package/src/maths/algebra/index.ts +1 -1
  73. package/src/maths/algebra/linearSystem.ts +265 -265
  74. package/src/maths/algebra/logicalset.ts +162 -150
  75. package/src/maths/algebra/monom.ts +631 -629
  76. package/src/maths/algebra/polynom.ts +1144 -1141
  77. package/src/maths/algebra/rational.ts +110 -99
  78. package/src/maths/geometry/index.ts +1 -1
  79. package/src/maths/geometry/triangle.ts +1 -1
  80. package/src/maths/random/{random.ts → index.ts} +4 -17
  81. package/src/maths/random/rndMonom.ts +1 -1
  82. package/src/maths/random/rndPolynom.ts +16 -5
  83. package/tests/algebra/monom.test.ts +1 -1
  84. package/tsconfig.json +9 -2
  85. package/docs/classes/Circle.html +0 -1
  86. package/docs/classes/Equation.html +0 -19
  87. package/docs/classes/Fraction.html +0 -15
  88. package/docs/classes/Line.html +0 -1
  89. package/docs/classes/LinearSystem.html +0 -1
  90. package/docs/classes/Logicalset.html +0 -5
  91. package/docs/classes/Monom.html +0 -111
  92. package/docs/classes/Nthroot.html +0 -1
  93. package/docs/classes/Point.html +0 -1
  94. package/docs/classes/Polynom.html +0 -43
  95. package/docs/classes/Rational.html +0 -4
  96. package/docs/classes/Shutingyard.html +0 -19
  97. package/docs/classes/Triangle.html +0 -17
  98. package/docs/classes/Vector.html +0 -1
  99. package/docs/modules/Random.html +0 -1
  100. package/src/docs.ts +0 -7
@@ -9,128 +9,139 @@ import {Fraction} from "../coefficients/fraction";
9
9
  /**
10
10
  * Rational class can handle rational polynoms
11
11
  */
12
- export class Rational {
13
- private _rawString: string;
14
- private _numerator: Polynom;
15
- private _denominator: Polynom;
16
-
17
- /**
18
- *
19
- * @param numerator
20
- * @param denominator
21
- */
22
- constructor(numerator?: Polynom, denominator?: Polynom) {
23
- this._numerator = numerator?numerator.clone():new Polynom();
24
- this._denominator = denominator?denominator.clone():new Polynom();
25
- }
12
+ export class Rational {
13
+ private _rawString: string;
14
+ private _numerator: Polynom;
15
+ private _denominator: Polynom;
16
+
17
+ /**
18
+ *
19
+ * @param numerator
20
+ * @param denominator
21
+ */
22
+ constructor(numerator?: Polynom, denominator?: Polynom) {
23
+ this._numerator = numerator ? numerator.clone() : new Polynom();
24
+ this._denominator = denominator ? denominator.clone() : new Polynom();
25
+ }
26
26
 
27
- clone = (): Rational => {
28
- this._numerator = this._numerator.clone()
29
- this._denominator = this._denominator.clone()
27
+ clone = (): Rational => {
28
+ this._numerator = this._numerator.clone()
29
+ this._denominator = this._denominator.clone()
30
30
 
31
- return this;
32
- }
31
+ return this;
32
+ }
33
33
 
34
- get tex(): string {
35
- return `\\dfrac{ ${this._numerator.tex} }{ ${this._denominator.tex} }`;
36
- }
34
+ get tex(): string {
35
+ return `\\dfrac{ ${this._numerator.tex} }{ ${this._denominator.tex} }`;
36
+ }
37
37
 
38
- get texFactors(): string {
39
- this._numerator.factorize()
40
- this._denominator.factorize()
38
+ get texFactors(): string {
39
+ this._numerator.factorize()
40
+ this._denominator.factorize()
41
41
 
42
- return `\\dfrac{ ${this._numerator.texFactors} }{ ${this._denominator.texFactors} }`
43
- }
42
+ return `\\dfrac{ ${this._numerator.texFactors} }{ ${this._denominator.texFactors} }`
43
+ }
44
44
 
45
- get numerator(): Polynom {
46
- return this._numerator
47
- }
48
- get denominator(): Polynom {
49
- return this._denominator
50
- }
45
+ get numerator(): Polynom {
46
+ return this._numerator
47
+ }
51
48
 
52
- domain = (): string => {
53
- let zeroes = this._denominator.getZeroes();
54
- if( zeroes.length===0 || zeroes[0]===false){
55
- return '\\mathbb{R}'
56
- }else if(zeroes[0]===true){
57
- return '\\varnothing'
58
- }else{
59
- return '\\mathbb{R}\\setminus\\left{'+
60
- zeroes.map(x=> {
61
- return (typeof x === 'boolean')?'':x.frac
62
- })
63
- .join(';')+'\\right}'
49
+ get denominator(): Polynom {
50
+ return this._denominator
64
51
  }
65
- }
66
52
 
67
- amplify = (P: Polynom): Rational => {
68
- this._numerator.multiply(P);
69
- this._denominator.multiply(P);
53
+ domain = (): string => {
54
+ let zeroes = this._denominator.getZeroes();
55
+ if (zeroes.length === 0 || zeroes[0] === false) {
56
+ return '\\mathbb{R}'
57
+ } else if (zeroes[0] === true) {
58
+ return '\\varnothing'
59
+ } else {
60
+ return '\\mathbb{R}\\setminus\\left{' +
61
+ zeroes.map(x => {
62
+ return (typeof x === 'boolean') ? '' : x.frac
63
+ })
64
+ .join(';') + '\\right}'
65
+ }
66
+ }
70
67
 
71
- return this;
72
- }
68
+ amplify = (P: Polynom): Rational => {
69
+ this._numerator.multiply(P);
70
+ this._denominator.multiply(P);
73
71
 
74
- simplify = (P: Polynom): Rational => {
75
- let NumeratorEuclidien = this._numerator.euclidian(P);
76
- if(!NumeratorEuclidien.reminder.isZero()){return this;}
72
+ return this;
73
+ }
77
74
 
78
- let DenominatorEuclidien = this._denominator.euclidian(P);
79
- if(!DenominatorEuclidien.reminder.isZero()){return this;}
75
+ simplify = (P: Polynom): Rational => {
76
+ let NumeratorEuclidien = this._numerator.euclidian(P);
77
+ if (!NumeratorEuclidien.reminder.isZero()) {
78
+ return this;
79
+ }
80
80
 
81
- this._numerator = NumeratorEuclidien.quotient;
82
- this._denominator = DenominatorEuclidien.quotient;
83
- return this;
84
- }
81
+ let DenominatorEuclidien = this._denominator.euclidian(P);
82
+ if (!DenominatorEuclidien.reminder.isZero()) {
83
+ return this;
84
+ }
85
85
 
86
- reduce = (): Rational => {
87
- console.log(this._numerator.tex)
88
- this._numerator.factorize();
89
- console.log(this._numerator.factors.map(x => x.tex))
90
- for(let f of this._numerator.factors){
91
- this.simplify(f);
86
+ this._numerator = NumeratorEuclidien.quotient;
87
+ this._denominator = DenominatorEuclidien.quotient;
88
+ return this;
92
89
  }
93
90
 
94
- return this;
95
- }
96
-
97
- opposed = (): Rational => {
98
- this._numerator.opposed();
99
- return this;
100
- }
101
- add = (R: Rational): Rational => {
102
- // 1. Make sure both rational are at the same denominator
103
- // 2. Add the numerators.
104
- // 3. Simplify
91
+ reduce = (): Rational => {
92
+ console.log(this._numerator.tex)
93
+ this._numerator.factorize();
94
+ console.log(this._numerator.factors.map(x => x.tex))
95
+ for (let f of this._numerator.factors) {
96
+ this.simplify(f);
97
+ }
105
98
 
106
- // Store the adding denominator
107
- let denominator = this._denominator.clone()
99
+ return this;
100
+ }
108
101
 
109
- // Amplif the main rational polynom by the adding denominator
110
- this.amplify(R._denominator)
102
+ opposed = (): Rational => {
103
+ this._numerator.opposed();
104
+ return this;
105
+ }
106
+ add = (R: Rational): Rational => {
107
+ // 1. Make sure both rational are at the same denominator
108
+ // 2. Add the numerators.
109
+ // 3. Simplify
111
110
 
112
- // Add to the numerator the adding value...
113
- this._numerator.add(R._numerator.clone().multiply(denominator));
111
+ // Store the adding denominator
112
+ let denominator = this._denominator.clone()
114
113
 
115
- return this;
116
- }
114
+ // Amplif the main rational polynom by the adding denominator
115
+ this.amplify(R._denominator)
117
116
 
118
- subtract = (R: Rational): Rational => {
119
- return this.add(R.clone().opposed())
120
- }
117
+ // Add to the numerator the adding value...
118
+ this._numerator.add(R._numerator.clone().multiply(denominator));
121
119
 
122
- limits = (value: Fraction|number, letter?: string):Fraction|number => {
123
- if(value===Infinity || value===-Infinity){
124
- let N = this._numerator.monomByDegree(this._numerator.degree(letter), letter),
125
- D = this._denominator.monomByDegree(this._denominator.degree(letter), letter)
120
+ return this;
121
+ }
126
122
 
127
- N.divide(D)
123
+ subtract = (R: Rational): Rational => {
124
+ return this.add(R.clone().opposed())
125
+ }
128
126
 
129
- if(N.degree(letter)>0){return N.coefficient.sign()*(Math.pow((value>0?1:-1),N.degree(letter)%2))===1?Infinity:-Infinity}
130
- if(N.degree(letter)===0){return N.coefficient}
131
- if(N.degree(letter)>0){return N.coefficient.sign()*(Math.pow(-1,N.degree(letter)%2))===1?0:-0}
132
- }else{
133
- return this._numerator.evaluate({letter: value}).divide(this._denominator.evaluate({letter: value}))
127
+ limits = (value: Fraction | number, letter?: string): Fraction | number => {
128
+ if (value === Infinity || value === -Infinity) {
129
+ let N = this._numerator.monomByDegree(this._numerator.degree(letter), letter),
130
+ D = this._denominator.monomByDegree(this._denominator.degree(letter), letter)
131
+
132
+ N.divide(D)
133
+
134
+ if (N.degree(letter) > 0) {
135
+ return N.coefficient.sign() * (Math.pow((value > 0 ? 1 : -1), N.degree(letter) % 2)) === 1 ? Infinity : -Infinity
136
+ }
137
+ if (N.degree(letter) === 0) {
138
+ return N.coefficient
139
+ }
140
+ if (N.degree(letter) > 0) {
141
+ return N.coefficient.sign() * (Math.pow(-1, N.degree(letter) % 2)) === 1 ? 0 : -0
142
+ }
143
+ } else {
144
+ return this._numerator.evaluate({letter: value}).divide(this._denominator.evaluate({letter: value}))
145
+ }
134
146
  }
135
147
  }
136
- }
@@ -2,4 +2,4 @@ export * from "./vector"
2
2
  export * from "./triangle"
3
3
  export * from "./point"
4
4
  export * from "./circle"
5
- export * from "./line"
5
+ export * from "./line"
@@ -4,7 +4,7 @@ import {Vector} from "./vector";
4
4
  import {Line} from "./line";
5
5
  import {Equation} from "../algebra/equation";
6
6
 
7
- interface remarquableLines {
7
+ export interface remarquableLines {
8
8
  'medians': {
9
9
  'A': Line,
10
10
  'B': Line,
@@ -2,27 +2,16 @@ import {rndPolynom} from "./rndPolynom";
2
2
  import {rndMonom} from "./rndMonom";
3
3
  import {rndHelpers} from "./rndHelpers";
4
4
  import {randomMonomConfig, randomPolynomConfig} from "./rndTypes";
5
- import {Monom} from "../algebra/monom";
6
- import {Polynom} from "../algebra/polynom";
7
-
8
- // export var Random = {
9
- // monom: rndMonom,
10
- // polynom: rndPolynom,
11
- // number: rndHelpers.randomInt,
12
- // numberSym: rndHelpers.randomIntSym,
13
- // bool: rndHelpers.randomBool,
14
- // array: rndHelpers.randomArray,
15
- // item: rndHelpers.randomItem,
16
- // shuffle: rndHelpers.shuffleArray
17
- // }
5
+ import {Monom, Polynom} from "../algebra";
18
6
 
7
+ export * from "./rndTypes"
19
8
  export namespace Random {
20
9
  export function polynom(config?: randomPolynomConfig): Polynom {
21
- return new rndPolynom(config).generate()
10
+ return (new rndPolynom(config)).generate()
22
11
  }
23
12
 
24
13
  export function monom(config?: randomMonomConfig): Monom {
25
- return new rndMonom(config).generate()
14
+ return (new rndMonom(config)).generate()
26
15
  }
27
16
 
28
17
  export function number(from:number, to:number):number { return rndHelpers.randomInt(from,to)}
@@ -31,6 +20,4 @@ export namespace Random {
31
20
  export function array(arr:any[], number?:number):any[] { return rndHelpers.randomArray(arr, number)}
32
21
  export function item(arr:any[]):any { return rndHelpers.randomItem(arr)}
33
22
  export function shuffle(arr:any[]):any { rndHelpers.shuffleArray(arr)}
34
-
35
-
36
23
  }
@@ -1,6 +1,6 @@
1
1
  import {randomCore} from "./randomCore";
2
2
  import {randomMonomConfig, randomPolynomConfig} from "./rndTypes";
3
- import {Random} from "./random";
3
+ import {Random} from "./index";
4
4
  import {Monom} from "../algebra/monom";
5
5
 
6
6
  /**
@@ -1,9 +1,9 @@
1
1
  import {randomCore} from "./randomCore";
2
2
  import {randomPolynomConfig} from "./rndTypes";
3
3
  import {rndMonom} from "./rndMonom";
4
- import {Random} from "./random";
5
- import {Polynom} from "../algebra/polynom";
6
- import {Monom} from "../algebra/monom";
4
+ import {Random} from "./index";
5
+ import {Polynom} from "../algebra";
6
+ import {Monom} from "../algebra";
7
7
 
8
8
  /**
9
9
  * Random polynoms
@@ -32,10 +32,13 @@ export class rndPolynom extends randomCore {
32
32
  }
33
33
 
34
34
  generate = (): Polynom => {
35
+ if(this._config.factorable && this._config.degree>1){
36
+ return this.factorable()
37
+ }
38
+
35
39
  // Create the polynom
36
40
  let P = new Polynom().empty(),
37
41
  M: Monom
38
-
39
42
  for (let i = this._config.degree; i >= 0; i--) {
40
43
  // Create monom of corresponding degree.
41
44
  M = new rndMonom({
@@ -63,7 +66,15 @@ export class rndPolynom extends randomCore {
63
66
  }
64
67
 
65
68
  factorable = (): Polynom => {
66
- let P = new Polynom()
69
+ let P = new Polynom().one()
70
+
71
+ let _factorableConfig = {...this._config}
72
+ _factorableConfig.degree = 1
73
+ _factorableConfig.factorable = false
74
+
75
+ for(let i=0; i<this._config.degree;i++){
76
+ P.multiply(Random.polynom(_factorableConfig))
77
+ }
67
78
 
68
79
  return P
69
80
  }
@@ -1,6 +1,6 @@
1
1
  import {expect} from 'chai';
2
2
  import {Monom} from "../../src/maths/algebra/monom";
3
- import {Random} from "../../src/maths/random/random";
3
+ import {Random} from "../../src/maths/random";
4
4
 
5
5
  describe('Monom derivate and integrate', () => { // the tests container
6
6
  it('derivate', () => { // the single test
package/tsconfig.json CHANGED
@@ -1,7 +1,14 @@
1
1
  {
2
2
  "typedocOptions": {
3
- "entryPoints": ["src/docs.ts"],
4
- "out": "docs",
3
+ "entryPoints": [
4
+ "src/maths/algebra/index.ts",
5
+ "src/maths/geometry/index.ts",
6
+ "src/maths/coefficients/index.ts",
7
+ "src/maths/random/index.ts",
8
+ "src/maths/numeric.ts",
9
+ "src/maths/shutingyard.ts"
10
+ ],
11
+ "out": "docs"
5
12
  },
6
13
  "compilerOptions": {
7
14
  "outDir": "./esm/",
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Circle | pimath</title><meta name="description" content="Documentation for pimath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">pimath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">pimath</a></li><li><a href="Circle.html">Circle</a></li></ul><h1>Class Circle</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Circle</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="Circle.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section tsd-is-private tsd-is-private-protected"><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_center" class="tsd-kind-icon">_center</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_exists" class="tsd-kind-icon">_exists</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_radius" class="tsd-kind-icon">_radius</a></li></ul></section><section class="tsd-index-section "><h3>Accessors</h3><ul class="tsd-index-list"><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="Circle.html#developed" class="tsd-kind-icon">developed</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="Circle.html#tex" class="tsd-kind-icon">tex</a></li></ul></section><section class="tsd-index-section tsd-is-private tsd-is-private-protected"><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="Circle.html#parse" class="tsd-kind-icon">parse</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Circle<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>values<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Circle.html" class="tsd-signature-type" data-tsd-kind="Class">Circle</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L11">maths/geometry/circle.ts:11</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>values: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Circle.html" class="tsd-signature-type" data-tsd-kind="Class">Circle</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_center" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _center</h3><div class="tsd-signature tsd-kind-icon">_center<span class="tsd-signature-symbol">:</span> <a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L8">maths/geometry/circle.ts:8</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_exists" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _exists</h3><div class="tsd-signature tsd-kind-icon">_exists<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L10">maths/geometry/circle.ts:10</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_radius" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _radius</h3><div class="tsd-signature tsd-kind-icon">_radius<span class="tsd-signature-symbol">:</span> <a href="Fraction.html" class="tsd-signature-type" data-tsd-kind="Class">Fraction</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L9">maths/geometry/circle.ts:9</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Accessors</h2><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"><a id="developed" class="tsd-anchor"></a><h3>developed</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> developed<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L39">maths/geometry/circle.ts:39</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"><a id="tex" class="tsd-anchor"></a><h3>tex</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> tex<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L24">maths/geometry/circle.ts:24</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected"><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private"><a id="parse" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> parse</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private"><li class="tsd-signature tsd-kind-icon">parse<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>values<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/2600084/src/maths/geometry/circle.ts#L17">maths/geometry/circle.ts:17</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>values: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Random.html">Random</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="Circle.html" class="tsd-kind-icon">Circle</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="Circle.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_center" class="tsd-kind-icon">_center</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_exists" class="tsd-kind-icon">_exists</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="Circle.html#_radius" class="tsd-kind-icon">_radius</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="Circle.html#developed" class="tsd-kind-icon">developed</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="Circle.html#tex" class="tsd-kind-icon">tex</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="Circle.html#parse" class="tsd-kind-icon">parse</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li><li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>