pimath 0.0.119 → 0.0.121

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 (173) hide show
  1. package/.eslintrc.js +23 -23
  2. package/.idea/PI.iml +7 -1
  3. package/dev/pimath.js +7929 -0
  4. package/dev/pimath.js.map +1 -0
  5. package/dist/{pi.js → pimath.js} +7612 -7829
  6. package/dist/pimath.js.map +1 -0
  7. package/dist/pimath.min.js +2 -0
  8. package/dist/pimath.min.js.map +1 -0
  9. package/docs/assets/main.js +3 -3
  10. package/docs/assets/search.js +1 -1
  11. package/docs/assets/style.css +450 -363
  12. package/docs/classes/Logicalset.Logicalset.html +119 -110
  13. package/docs/classes/Polynom.Rational.html +230 -227
  14. package/docs/classes/Vector-1.Vector.html +319 -273
  15. package/docs/classes/Vector.Point.html +189 -190
  16. package/docs/classes/algebra_equation.Equation.html +489 -446
  17. package/docs/classes/algebra_linearSystem.LinearSystem.html +228 -217
  18. package/docs/classes/algebra_monom.Monom.html +564 -507
  19. package/docs/classes/algebra_polynom.Polynom.html +774 -753
  20. package/docs/classes/coefficients_fraction.Fraction.html +573 -565
  21. package/docs/classes/geometry_circle.Circle.html +299 -299
  22. package/docs/classes/geometry_line.Line.html +511 -451
  23. package/docs/classes/geometry_triangle.Triangle.html +273 -264
  24. package/docs/classes/numeric.Numeric.html +138 -132
  25. package/docs/classes/shutingyard.Shutingyard.html +144 -133
  26. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +47 -46
  27. package/docs/enums/geometry_line.LinePropriety.html +58 -58
  28. package/docs/enums/shutingyard.ShutingyardMode.html +62 -58
  29. package/docs/enums/shutingyard.ShutingyardType.html +74 -70
  30. package/docs/index.html +31 -33
  31. package/docs/interfaces/algebra_equation.ISolution.html +61 -59
  32. package/docs/interfaces/algebra_polynom.IEuclidian.html +47 -46
  33. package/docs/interfaces/geometry_triangle.remarquableLines.html +74 -74
  34. package/docs/modules/Logicalset.html +33 -38
  35. package/docs/modules/Polynom.html +33 -38
  36. package/docs/modules/Vector-1.html +33 -38
  37. package/docs/modules/Vector.html +33 -38
  38. package/docs/modules/algebra_equation.html +35 -41
  39. package/docs/modules/algebra_linearSystem.html +31 -37
  40. package/docs/modules/algebra_monom.html +33 -39
  41. package/docs/modules/algebra_polynom.html +35 -41
  42. package/docs/modules/coefficients_fraction.html +33 -39
  43. package/docs/modules/geometry_circle.html +31 -37
  44. package/docs/modules/geometry_line.html +33 -39
  45. package/docs/modules/geometry_triangle.html +33 -39
  46. package/docs/modules/numeric.html +31 -37
  47. package/docs/modules/shutingyard.html +41 -47
  48. package/docs/types/algebra_monom.literalType.html +33 -37
  49. package/docs/types/algebra_polynom.PolynomParsingType.html +33 -37
  50. package/docs/types/coefficients_fraction.FractionParsingType.html +32 -36
  51. package/docs/types/shutingyard.Token.html +38 -42
  52. package/docs/types/shutingyard.tokenType.html +40 -44
  53. package/docs/variables/shutingyard.tokenConstant.html +37 -41
  54. package/esm/index.d.ts +38 -41
  55. package/esm/index.js +43 -46
  56. package/esm/index.js.map +1 -1
  57. package/esm/maths/algebra/equation.d.ts +119 -117
  58. package/esm/maths/algebra/equation.js +796 -785
  59. package/esm/maths/algebra/equation.js.map +1 -1
  60. package/esm/maths/algebra/linearSystem.d.ts +39 -38
  61. package/esm/maths/algebra/linearSystem.js +278 -262
  62. package/esm/maths/algebra/linearSystem.js.map +1 -1
  63. package/esm/maths/algebra/logicalset.d.ts +28 -28
  64. package/esm/maths/algebra/logicalset.js +157 -157
  65. package/esm/maths/algebra/monom.d.ts +206 -206
  66. package/esm/maths/algebra/monom.js +908 -908
  67. package/esm/maths/algebra/monom.js.map +1 -1
  68. package/esm/maths/algebra/polynom.d.ts +157 -157
  69. package/esm/maths/algebra/polynom.js +1277 -1277
  70. package/esm/maths/algebra/rational.d.ts +45 -45
  71. package/esm/maths/algebra/rational.js +183 -183
  72. package/esm/maths/algebra/study/rationalStudy.d.ts +28 -28
  73. package/esm/maths/algebra/study/rationalStudy.js +243 -243
  74. package/esm/maths/algebra/study.d.ts +142 -142
  75. package/esm/maths/algebra/study.js +377 -377
  76. package/esm/maths/algebra/study.js.map +1 -1
  77. package/esm/maths/coefficients/fraction.d.ts +90 -90
  78. package/esm/maths/coefficients/fraction.js +516 -516
  79. package/esm/maths/coefficients/fraction.js.map +1 -1
  80. package/esm/maths/coefficients/nthRoot.d.ts +23 -23
  81. package/esm/maths/coefficients/nthRoot.js +136 -136
  82. package/esm/maths/geometry/circle.d.ts +45 -45
  83. package/esm/maths/geometry/circle.js +323 -323
  84. package/esm/maths/geometry/line.d.ts +99 -99
  85. package/esm/maths/geometry/line.js +481 -481
  86. package/esm/maths/geometry/line.js.map +1 -1
  87. package/esm/maths/geometry/point.d.ts +34 -34
  88. package/esm/maths/geometry/point.js +166 -166
  89. package/esm/maths/geometry/point.js.map +1 -1
  90. package/esm/maths/geometry/triangle.d.ts +85 -85
  91. package/esm/maths/geometry/triangle.js +268 -268
  92. package/esm/maths/geometry/vector.d.ts +41 -41
  93. package/esm/maths/geometry/vector.js +197 -197
  94. package/esm/maths/geometry/vector.js.map +1 -1
  95. package/esm/maths/numeric.d.ts +28 -28
  96. package/esm/maths/numeric.js +180 -169
  97. package/esm/maths/numeric.js.map +1 -1
  98. package/esm/maths/numexp.d.ts +19 -0
  99. package/esm/maths/numexp.js +186 -0
  100. package/esm/maths/numexp.js.map +1 -0
  101. package/esm/maths/randomization/random.d.ts +23 -23
  102. package/esm/maths/randomization/random.js +78 -78
  103. package/esm/maths/randomization/random.js.map +1 -1
  104. package/esm/maths/randomization/randomCore.d.ts +7 -7
  105. package/esm/maths/randomization/randomCore.js +21 -21
  106. package/esm/maths/randomization/rndFraction.d.ts +12 -12
  107. package/esm/maths/randomization/rndFraction.js +43 -43
  108. package/esm/maths/randomization/rndGeometryLine.d.ts +12 -12
  109. package/esm/maths/randomization/rndGeometryLine.js +45 -45
  110. package/esm/maths/randomization/rndGeometryPoint.d.ts +12 -12
  111. package/esm/maths/randomization/rndGeometryPoint.js +60 -60
  112. package/esm/maths/randomization/rndHelpers.d.ts +23 -23
  113. package/esm/maths/randomization/rndHelpers.js +76 -76
  114. package/esm/maths/randomization/rndMonom.d.ts +12 -12
  115. package/esm/maths/randomization/rndMonom.js +52 -52
  116. package/esm/maths/randomization/rndPolynom.d.ts +13 -13
  117. package/esm/maths/randomization/rndPolynom.js +74 -74
  118. package/esm/maths/randomization/rndTypes.d.ts +34 -34
  119. package/esm/maths/randomization/rndTypes.js +2 -2
  120. package/esm/maths/shutingyard.d.ts +59 -59
  121. package/esm/maths/shutingyard.js +442 -442
  122. package/esm/maths/shutingyard.js.map +1 -1
  123. package/package.json +11 -11
  124. package/public/index.html +50 -81
  125. package/public/playground.html +7 -8
  126. package/src/index.ts +2 -5
  127. package/src/maths/algebra/equation.ts +16 -0
  128. package/src/maths/algebra/linearSystem.ts +20 -0
  129. package/src/maths/algebra/study.ts +1 -1
  130. package/src/maths/numeric.ts +49 -48
  131. package/src/maths/{expressions/numexp.ts → numexp.ts} +2 -2
  132. package/tests/algebra/equation.test.ts +19 -5
  133. package/tests/algebra/linear.test.ts +3 -11
  134. package/tests/algebra/polynom.test.ts +7 -8
  135. package/tests/algebra/rationnal.test.ts +1 -1
  136. package/tests/algebra/study.test.ts +2 -9
  137. package/tests/coefficients/fraction.test.ts +8 -8
  138. package/tests/custom.test.ts +33 -37
  139. package/tests/numeric.test.ts +1 -2
  140. package/tests/numexp.test.ts +1 -5
  141. package/tests/shutingyard.test.ts +3 -3
  142. package/webpack-production-min.config.js +1 -1
  143. package/webpack-production.config.js +1 -1
  144. package/webpack.config.js +1 -1
  145. package/dist/pi.js.map +0 -1
  146. package/dist/pi.min.js +0 -2
  147. package/dist/pi.min.js.map +0 -1
  148. package/docs/classes/expressions_numexp.NumExp.html +0 -236
  149. package/docs/classes/expressions_polynomexp.PolynomExpFactor.html +0 -317
  150. package/docs/classes/expressions_polynomexp.PolynomExpProduct.html +0 -285
  151. package/docs/modules/expressions_numexp.html +0 -71
  152. package/docs/modules/expressions_polynomexp.html +0 -73
  153. package/docs/modules.html +0 -76
  154. package/graph.svg +0 -1033
  155. package/src/maths/expressions/ExpressionTree.ts +0 -172
  156. package/src/maths/expressions/expression.ts +0 -286
  157. package/src/maths/expressions/expressionFactor.ts +0 -190
  158. package/src/maths/expressions/expressionMember.ts +0 -233
  159. package/src/maths/expressions/expressionOperators.ts +0 -49
  160. package/src/maths/expressions/expressionParser.ts +0 -295
  161. package/src/maths/expressions/factors/ExpFactor.ts +0 -39
  162. package/src/maths/expressions/factors/ExpFactorConstant.ts +0 -60
  163. package/src/maths/expressions/factors/ExpFactorExponential.ts +0 -26
  164. package/src/maths/expressions/factors/ExpFactorNumber.ts +0 -72
  165. package/src/maths/expressions/factors/ExpFactorPower.ts +0 -42
  166. package/src/maths/expressions/factors/ExpFactorTrigo.ts +0 -53
  167. package/src/maths/expressions/factors/ExpFactorVariable.ts +0 -45
  168. package/src/maths/expressions/internals.ts +0 -14
  169. package/src/maths/expressions/polynomexp.bkp.ts +0 -221
  170. package/src/maths/expressions/polynomexp.ts +0 -310
  171. package/tests/expressions/expressions.test.ts +0 -145
  172. package/tests/expressions/expressiontree.test.ts +0 -11
  173. package/tests/polynomexp.test.ts +0 -12
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumExp = void 0;
4
+ const shutingyard_1 = require("./shutingyard");
5
+ const fraction_1 = require("./coefficients/fraction");
6
+ class NumExp {
7
+ constructor(value, uniformize) {
8
+ this._expression = value;
9
+ try {
10
+ this._rpn = new shutingyard_1.Shutingyard(shutingyard_1.ShutingyardMode.NUMERIC).parse(value, uniformize || uniformize === undefined).rpn;
11
+ }
12
+ catch (e) {
13
+ this._rpn = null;
14
+ this._isValid = false;
15
+ }
16
+ }
17
+ get rpn() {
18
+ return this._rpn;
19
+ }
20
+ get isValid() {
21
+ if (this._isValid === undefined) {
22
+ try {
23
+ const v = this.evaluate({ x: 0 });
24
+ }
25
+ catch {
26
+ this._isValid = false;
27
+ }
28
+ }
29
+ return this._isValid;
30
+ }
31
+ set isValid(value) {
32
+ this._isValid = value;
33
+ }
34
+ get expression() {
35
+ return this._expression;
36
+ }
37
+ _extractDecimalPart(value) {
38
+ let decimal = value.toString();
39
+ if (!decimal.includes('.')) {
40
+ return '';
41
+ }
42
+ decimal = decimal.split('.')[1];
43
+ return decimal.substring(0, decimal.length - 2);
44
+ }
45
+ _numberCorrection(value) {
46
+ // Must modify the number if it's like:
47
+ // a: 3.0000000000000003
48
+ // b: 3.9999999999999994
49
+ // remove the last character
50
+ // check if around n last characters are either 0 or 9
51
+ // if it is, 'round' the number.
52
+ const epsilon = 0.00000000000001, number_of_digits = 6;
53
+ const decimal = this._extractDecimalPart(value);
54
+ if (decimal === '') {
55
+ return value;
56
+ }
57
+ const n9 = decimal.match(/9+$/g);
58
+ const n0 = decimal.match(/0+$/g);
59
+ if (n9 && n9[0].length >= number_of_digits) {
60
+ // New tested values.
61
+ const mod = this._extractDecimalPart(value + epsilon), mod0 = mod.match(/0+$/g);
62
+ if (mod0 && mod0[0].length >= number_of_digits) {
63
+ // The value can be changed. Remove all zeros!
64
+ return +((value + epsilon).toString().split(mod0[0])[0]);
65
+ }
66
+ }
67
+ if (n0 && n0[0].length >= number_of_digits) {
68
+ // New tested values.
69
+ const mod = this._extractDecimalPart(value - epsilon), mod9 = mod.match(/9+$/g);
70
+ if (mod9 && mod9[0].length >= number_of_digits) {
71
+ // The value can be changed. Remove all nines!
72
+ return +(value.toString().split(n0[0])[0]);
73
+ }
74
+ }
75
+ return value;
76
+ }
77
+ _addToStack(stack, value) {
78
+ stack.push(this._numberCorrection(value));
79
+ }
80
+ evaluate(values) {
81
+ const stack = [];
82
+ if (this._rpn === null) {
83
+ this._isValid = false;
84
+ return 0;
85
+ }
86
+ this.isValid = true;
87
+ for (const element of this._rpn) {
88
+ if (element.tokenType === shutingyard_1.ShutingyardType.COEFFICIENT) {
89
+ // May be a numeric value or a Fraction.
90
+ if (!isNaN(+element.token)) {
91
+ this._addToStack(stack, +element.token);
92
+ }
93
+ else {
94
+ this._addToStack(stack, new fraction_1.Fraction(element.token).value);
95
+ }
96
+ }
97
+ else if (element.tokenType === shutingyard_1.ShutingyardType.VARIABLE) {
98
+ if (values[element.token] !== undefined) {
99
+ this._addToStack(stack, +values[element.token]);
100
+ }
101
+ }
102
+ else if (element.tokenType === shutingyard_1.ShutingyardType.CONSTANT) {
103
+ this._addToStack(stack, shutingyard_1.tokenConstant[element.token]);
104
+ }
105
+ else if (element.tokenType === shutingyard_1.ShutingyardType.OPERATION) {
106
+ if (element.token === '*') {
107
+ const b = stack.pop(), a = stack.pop();
108
+ if (a === undefined || b === undefined) {
109
+ this.isValid = false;
110
+ }
111
+ this._addToStack(stack, a * b);
112
+ }
113
+ else if (element.token === '/') {
114
+ const b = stack.pop(), a = stack.pop();
115
+ if (a === undefined || b === undefined) {
116
+ this.isValid = false;
117
+ }
118
+ this._addToStack(stack, a / b);
119
+ }
120
+ else if (element.token === '+') {
121
+ const b = stack.pop(), a = stack.pop();
122
+ if (a === undefined || b === undefined) {
123
+ this.isValid = false;
124
+ }
125
+ this._addToStack(stack, (+a) + (+b));
126
+ }
127
+ else if (element.token === '-') {
128
+ const b = stack.pop(), a = stack.pop() || 0;
129
+ if (b === undefined) {
130
+ this.isValid = false;
131
+ }
132
+ this._addToStack(stack, a - b);
133
+ }
134
+ else if (element.token === '^') {
135
+ const b = stack.pop(), a = stack.pop();
136
+ if (a === undefined || b === undefined) {
137
+ this.isValid = false;
138
+ }
139
+ this._addToStack(stack, Math.pow(a, b));
140
+ }
141
+ }
142
+ else if (element.tokenType === shutingyard_1.ShutingyardType.FUNCTION) {
143
+ const a = stack.pop();
144
+ if (a === undefined) {
145
+ this.isValid = false;
146
+ }
147
+ if (element.token === 'sin') {
148
+ this._addToStack(stack, Math.sin(a));
149
+ }
150
+ else if (element.token === 'cos') {
151
+ this._addToStack(stack, Math.cos(a));
152
+ }
153
+ else if (element.token === 'tan') {
154
+ this._addToStack(stack, Math.tan(a));
155
+ }
156
+ else if (element.token === 'sqrt') {
157
+ this._addToStack(stack, Math.sqrt(a));
158
+ }
159
+ else if (element.token === 'nthrt') {
160
+ // TODO: support nthrt in num. exp.
161
+ let b = stack.pop();
162
+ if (a % 2 === 0 && b < 0) {
163
+ this._addToStack(stack, NaN);
164
+ }
165
+ else {
166
+ this._addToStack(stack, (b < 0 ? -1 : 1) * Math.pow(Math.abs(b), 1 / a));
167
+ }
168
+ }
169
+ else if (element.token === 'ln') {
170
+ this._addToStack(stack, Math.log(a));
171
+ }
172
+ else if (element.token === 'log') {
173
+ this._addToStack(stack, Math.log10(a));
174
+ }
175
+ }
176
+ }
177
+ if (stack.length === 1) {
178
+ return stack[0];
179
+ }
180
+ else {
181
+ throw `There was a problem parsing: ${this._expression}`;
182
+ }
183
+ }
184
+ }
185
+ exports.NumExp = NumExp;
186
+ //# sourceMappingURL=numexp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numexp.js","sourceRoot":"","sources":["../../src/maths/numexp.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
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";
8
- export declare namespace Random {
9
- function polynom(config?: randomPolynomConfig): Polynom;
10
- function monom(config?: randomMonomConfig): Monom;
11
- function fraction(config?: randomCoefficientConfig): Fraction;
12
- function number(from: number, to: number): number;
13
- function numberSym(max: number, allowZero?: boolean): number;
14
- function prime(max: number): number;
15
- function bool(percent?: number): boolean;
16
- function array(arr: any[], number?: number): any[];
17
- function item(arr: any[]): any;
18
- function shuffle(arr: any[]): any[];
19
- namespace Geometry {
20
- function line(config?: randomGeometryLineConfig): Line;
21
- function point(config?: randomGeometryPointConfig): Point;
22
- }
23
- }
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";
8
+ export declare namespace Random {
9
+ function polynom(config?: randomPolynomConfig): Polynom;
10
+ function monom(config?: randomMonomConfig): Monom;
11
+ function fraction(config?: randomCoefficientConfig): Fraction;
12
+ function number(from: number, to: number): number;
13
+ function numberSym(max: number, allowZero?: boolean): number;
14
+ function prime(max: number): number;
15
+ function bool(percent?: number): boolean;
16
+ function array(arr: any[], number?: number): any[];
17
+ function item(arr: any[]): any;
18
+ function shuffle(arr: any[]): any[];
19
+ namespace Geometry {
20
+ function line(config?: randomGeometryLineConfig): Line;
21
+ function point(config?: randomGeometryPointConfig): Point;
22
+ }
23
+ }
@@ -1,79 +1,79 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Random = void 0;
18
- const rndPolynom_1 = require("./rndPolynom");
19
- const rndMonom_1 = require("./rndMonom");
20
- const rndHelpers_1 = require("./rndHelpers");
21
- const rndFraction_1 = require("./rndFraction");
22
- const rndGeometryLine_1 = require("./rndGeometryLine");
23
- const rndGeometryPoint_1 = require("./rndGeometryPoint");
24
- __exportStar(require("./rndTypes"), exports);
25
- var Random;
26
- (function (Random) {
27
- function polynom(config) {
28
- return (new rndPolynom_1.rndPolynom(config)).generate();
29
- }
30
- Random.polynom = polynom;
31
- function monom(config) {
32
- return (new rndMonom_1.rndMonom(config)).generate();
33
- }
34
- Random.monom = monom;
35
- function fraction(config) {
36
- return (new rndFraction_1.rndFraction(config)).generate();
37
- }
38
- Random.fraction = fraction;
39
- function number(from, to) {
40
- return rndHelpers_1.rndHelpers.randomInt(from, to);
41
- }
42
- Random.number = number;
43
- function numberSym(max, allowZero) {
44
- return rndHelpers_1.rndHelpers.randomIntSym(max, allowZero);
45
- }
46
- Random.numberSym = numberSym;
47
- function prime(max) {
48
- return rndHelpers_1.rndHelpers.randomPrime(max);
49
- }
50
- Random.prime = prime;
51
- function bool(percent) {
52
- return rndHelpers_1.rndHelpers.randomBool(percent);
53
- }
54
- Random.bool = bool;
55
- function array(arr, number) {
56
- return rndHelpers_1.rndHelpers.randomArray(arr, number);
57
- }
58
- Random.array = array;
59
- function item(arr) {
60
- return rndHelpers_1.rndHelpers.randomItem(arr);
61
- }
62
- Random.item = item;
63
- function shuffle(arr) {
64
- return rndHelpers_1.rndHelpers.shuffleArray(arr);
65
- }
66
- Random.shuffle = shuffle;
67
- let Geometry;
68
- (function (Geometry) {
69
- function line(config) {
70
- return (new rndGeometryLine_1.rndGeometryLine(config).generate());
71
- }
72
- Geometry.line = line;
73
- function point(config) {
74
- return (new rndGeometryPoint_1.rndGeometryPoint(config).generate());
75
- }
76
- Geometry.point = point;
77
- })(Geometry = Random.Geometry || (Random.Geometry = {}));
78
- })(Random = exports.Random || (exports.Random = {}));
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Random = void 0;
18
+ const rndPolynom_1 = require("./rndPolynom");
19
+ const rndMonom_1 = require("./rndMonom");
20
+ const rndHelpers_1 = require("./rndHelpers");
21
+ const rndFraction_1 = require("./rndFraction");
22
+ const rndGeometryLine_1 = require("./rndGeometryLine");
23
+ const rndGeometryPoint_1 = require("./rndGeometryPoint");
24
+ __exportStar(require("./rndTypes"), exports);
25
+ var Random;
26
+ (function (Random) {
27
+ function polynom(config) {
28
+ return (new rndPolynom_1.rndPolynom(config)).generate();
29
+ }
30
+ Random.polynom = polynom;
31
+ function monom(config) {
32
+ return (new rndMonom_1.rndMonom(config)).generate();
33
+ }
34
+ Random.monom = monom;
35
+ function fraction(config) {
36
+ return (new rndFraction_1.rndFraction(config)).generate();
37
+ }
38
+ Random.fraction = fraction;
39
+ function number(from, to) {
40
+ return rndHelpers_1.rndHelpers.randomInt(from, to);
41
+ }
42
+ Random.number = number;
43
+ function numberSym(max, allowZero) {
44
+ return rndHelpers_1.rndHelpers.randomIntSym(max, allowZero);
45
+ }
46
+ Random.numberSym = numberSym;
47
+ function prime(max) {
48
+ return rndHelpers_1.rndHelpers.randomPrime(max);
49
+ }
50
+ Random.prime = prime;
51
+ function bool(percent) {
52
+ return rndHelpers_1.rndHelpers.randomBool(percent);
53
+ }
54
+ Random.bool = bool;
55
+ function array(arr, number) {
56
+ return rndHelpers_1.rndHelpers.randomArray(arr, number);
57
+ }
58
+ Random.array = array;
59
+ function item(arr) {
60
+ return rndHelpers_1.rndHelpers.randomItem(arr);
61
+ }
62
+ Random.item = item;
63
+ function shuffle(arr) {
64
+ return rndHelpers_1.rndHelpers.shuffleArray(arr);
65
+ }
66
+ Random.shuffle = shuffle;
67
+ let Geometry;
68
+ (function (Geometry) {
69
+ function line(config) {
70
+ return (new rndGeometryLine_1.rndGeometryLine(config).generate());
71
+ }
72
+ Geometry.line = line;
73
+ function point(config) {
74
+ return (new rndGeometryPoint_1.rndGeometryPoint(config).generate());
75
+ }
76
+ Geometry.point = point;
77
+ })(Geometry = Random.Geometry || (Random.Geometry = {}));
78
+ })(Random || (exports.Random = Random = {}));
79
79
  //# sourceMappingURL=random.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/maths/randomization/random.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,yCAAoC;AACpC,6CAAwC;AAQxC,+CAA0C;AAK1C,uDAAkD;AAElD,yDAAoD;AAEpD,6CAA0B;AAE1B,IAAiB,MAAM,CAmDtB;AAnDD,WAAiB,MAAM;IACnB,SAAgB,OAAO,CAAC,MAA4B;QAChD,OAAO,CAAC,IAAI,uBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,SAAgB,KAAK,CAAC,MAA0B;QAC5C,OAAO,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,QAAQ,CAAC,MAAgC;QACrD,OAAO,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC/C,CAAC;IAFe,eAAQ,WAEvB,CAAA;IAED,SAAgB,MAAM,CAAC,IAAY,EAAE,EAAU;QAC3C,OAAO,uBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAFe,aAAM,SAErB,CAAA;IAED,SAAgB,SAAS,CAAC,GAAW,EAAE,SAAmB;QACtD,OAAO,uBAAU,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAClD,CAAC;IAFe,gBAAS,YAExB,CAAA;IAED,SAAgB,KAAK,CAAC,GAAW;QAC7B,OAAO,uBAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,IAAI,CAAC,OAAgB;QACjC,OAAO,uBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAFe,WAAI,OAEnB,CAAA;IAED,SAAgB,KAAK,CAAC,GAAU,EAAE,MAAe;QAC7C,OAAO,uBAAU,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,IAAI,CAAC,GAAU;QAC3B,OAAO,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAFe,WAAI,OAEnB,CAAA;IAED,SAAgB,OAAO,CAAC,GAAU;QAC9B,OAAO,uBAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,IAAiB,QAAQ,CASxB;IATD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAAC,MAAiC;YAClD,OAAO,CAAC,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnD,CAAC;QAFe,aAAI,OAEnB,CAAA;QAED,SAAgB,KAAK,CAAC,MAAkC;YACpD,OAAO,CAAC,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpD,CAAC;QAFe,cAAK,QAEpB,CAAA;IAEL,CAAC,EATgB,QAAQ,GAAR,eAAQ,KAAR,eAAQ,QASxB;AACL,CAAC,EAnDgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAmDtB"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/maths/randomization/random.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,yCAAoC;AACpC,6CAAwC;AAQxC,+CAA0C;AAK1C,uDAAkD;AAElD,yDAAoD;AAEpD,6CAA0B;AAE1B,IAAiB,MAAM,CAmDtB;AAnDD,WAAiB,MAAM;IACnB,SAAgB,OAAO,CAAC,MAA4B;QAChD,OAAO,CAAC,IAAI,uBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,SAAgB,KAAK,CAAC,MAA0B;QAC5C,OAAO,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,QAAQ,CAAC,MAAgC;QACrD,OAAO,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC/C,CAAC;IAFe,eAAQ,WAEvB,CAAA;IAED,SAAgB,MAAM,CAAC,IAAY,EAAE,EAAU;QAC3C,OAAO,uBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAFe,aAAM,SAErB,CAAA;IAED,SAAgB,SAAS,CAAC,GAAW,EAAE,SAAmB;QACtD,OAAO,uBAAU,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAClD,CAAC;IAFe,gBAAS,YAExB,CAAA;IAED,SAAgB,KAAK,CAAC,GAAW;QAC7B,OAAO,uBAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,IAAI,CAAC,OAAgB;QACjC,OAAO,uBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAFe,WAAI,OAEnB,CAAA;IAED,SAAgB,KAAK,CAAC,GAAU,EAAE,MAAe;QAC7C,OAAO,uBAAU,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,IAAI,CAAC,GAAU;QAC3B,OAAO,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAFe,WAAI,OAEnB,CAAA;IAED,SAAgB,OAAO,CAAC,GAAU;QAC9B,OAAO,uBAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,IAAiB,QAAQ,CASxB;IATD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAAC,MAAiC;YAClD,OAAO,CAAC,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnD,CAAC;QAFe,aAAI,OAEnB,CAAA;QAED,SAAgB,KAAK,CAAC,MAAkC;YACpD,OAAO,CAAC,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpD,CAAC;QAFe,cAAK,QAEpB,CAAA;IAEL,CAAC,EATgB,QAAQ,GAAR,eAAQ,KAAR,eAAQ,QASxB;AACL,CAAC,EAnDgB,MAAM,sBAAN,MAAM,QAmDtB"}
@@ -1,7 +1,7 @@
1
- export declare class randomCore {
2
- protected _config: Object;
3
- protected _defaultConfig: Object;
4
- mergeConfig: (config: Object, defaultConfig: Object) => Object;
5
- generate: () => unknown;
6
- config: (config: Object) => randomCore;
7
- }
1
+ export declare class randomCore {
2
+ protected _config: Object;
3
+ protected _defaultConfig: Object;
4
+ mergeConfig: (config: Object, defaultConfig: Object) => Object;
5
+ generate: () => unknown;
6
+ config: (config: Object) => randomCore;
7
+ }
@@ -1,22 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.randomCore = void 0;
4
- class randomCore {
5
- constructor() {
6
- this.mergeConfig = (config, defaultConfig) => {
7
- if (config !== undefined) {
8
- return { ...defaultConfig, ...config };
9
- }
10
- return defaultConfig;
11
- };
12
- this.generate = () => {
13
- return undefined;
14
- };
15
- this.config = (config) => {
16
- this._config = this.mergeConfig(config, this._defaultConfig);
17
- return this;
18
- };
19
- }
20
- }
21
- exports.randomCore = randomCore;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomCore = void 0;
4
+ class randomCore {
5
+ constructor() {
6
+ this.mergeConfig = (config, defaultConfig) => {
7
+ if (config !== undefined) {
8
+ return { ...defaultConfig, ...config };
9
+ }
10
+ return defaultConfig;
11
+ };
12
+ this.generate = () => {
13
+ return undefined;
14
+ };
15
+ this.config = (config) => {
16
+ this._config = this.mergeConfig(config, this._defaultConfig);
17
+ return this;
18
+ };
19
+ }
20
+ }
21
+ exports.randomCore = randomCore;
22
22
  //# sourceMappingURL=randomCore.js.map
@@ -1,12 +1,12 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomCoefficientConfig } from "./rndTypes";
3
- import { Fraction } from "../coefficients/fraction";
4
- /**
5
- * Create a random monom based on a based configuration
6
- */
7
- export declare class rndFraction extends randomCore {
8
- protected _config: randomCoefficientConfig;
9
- protected _defaultConfig: randomCoefficientConfig;
10
- constructor(userConfig?: randomCoefficientConfig);
11
- generate: () => Fraction;
12
- }
1
+ import { randomCore } from "./randomCore";
2
+ import { randomCoefficientConfig } from "./rndTypes";
3
+ import { Fraction } from "../coefficients/fraction";
4
+ /**
5
+ * Create a random monom based on a based configuration
6
+ */
7
+ export declare class rndFraction extends randomCore {
8
+ protected _config: randomCoefficientConfig;
9
+ protected _defaultConfig: randomCoefficientConfig;
10
+ constructor(userConfig?: randomCoefficientConfig);
11
+ generate: () => Fraction;
12
+ }
@@ -1,44 +1,44 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rndFraction = void 0;
4
- const randomCore_1 = require("./randomCore");
5
- const random_1 = require("./random");
6
- const fraction_1 = require("../coefficients/fraction");
7
- /**
8
- * Create a random monom based on a based configuration
9
- */
10
- class rndFraction extends randomCore_1.randomCore {
11
- constructor(userConfig) {
12
- super();
13
- this.generate = () => {
14
- let Q = new fraction_1.Fraction();
15
- if (this._config.negative) {
16
- Q.numerator = random_1.Random.numberSym(this._config.max, this._config.zero);
17
- }
18
- else {
19
- Q.numerator = random_1.Random.number(this._config.zero ? 0 : 1, this._config.max);
20
- }
21
- if (this._config.natural) {
22
- Q.denominator = 1;
23
- }
24
- else {
25
- let securityCount = 0;
26
- while (Q.isRelative() && securityCount < 10) {
27
- Q.denominator = random_1.Random.number(1, this._config.max);
28
- securityCount++;
29
- }
30
- }
31
- return this._config.reduced ? Q.reduce() : Q;
32
- };
33
- this._defaultConfig = {
34
- negative: true,
35
- max: 10,
36
- reduced: true,
37
- zero: true,
38
- natural: false
39
- };
40
- this._config = this.mergeConfig(userConfig, this._defaultConfig);
41
- }
42
- }
43
- exports.rndFraction = rndFraction;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rndFraction = void 0;
4
+ const randomCore_1 = require("./randomCore");
5
+ const random_1 = require("./random");
6
+ const fraction_1 = require("../coefficients/fraction");
7
+ /**
8
+ * Create a random monom based on a based configuration
9
+ */
10
+ class rndFraction extends randomCore_1.randomCore {
11
+ constructor(userConfig) {
12
+ super();
13
+ this.generate = () => {
14
+ let Q = new fraction_1.Fraction();
15
+ if (this._config.negative) {
16
+ Q.numerator = random_1.Random.numberSym(this._config.max, this._config.zero);
17
+ }
18
+ else {
19
+ Q.numerator = random_1.Random.number(this._config.zero ? 0 : 1, this._config.max);
20
+ }
21
+ if (this._config.natural) {
22
+ Q.denominator = 1;
23
+ }
24
+ else {
25
+ let securityCount = 0;
26
+ while (Q.isRelative() && securityCount < 10) {
27
+ Q.denominator = random_1.Random.number(1, this._config.max);
28
+ securityCount++;
29
+ }
30
+ }
31
+ return this._config.reduced ? Q.reduce() : Q;
32
+ };
33
+ this._defaultConfig = {
34
+ negative: true,
35
+ max: 10,
36
+ reduced: true,
37
+ zero: true,
38
+ natural: false
39
+ };
40
+ this._config = this.mergeConfig(userConfig, this._defaultConfig);
41
+ }
42
+ }
43
+ exports.rndFraction = rndFraction;
44
44
  //# sourceMappingURL=rndFraction.js.map
@@ -1,12 +1,12 @@
1
- import { randomCore } from "./randomCore";
2
- import { randomGeometryLineConfig } from "./random";
3
- import { Line } from "../geometry/line";
4
- /**
5
- * Create a random monom based on a based configuration
6
- */
7
- export declare class rndGeometryLine extends randomCore {
8
- protected _config: randomGeometryLineConfig;
9
- protected _defaultConfig: randomGeometryLineConfig;
10
- constructor(userConfig?: randomGeometryLineConfig);
11
- generate: () => Line;
12
- }
1
+ import { randomCore } from "./randomCore";
2
+ import { randomGeometryLineConfig } from "./random";
3
+ import { Line } from "../geometry/line";
4
+ /**
5
+ * Create a random monom based on a based configuration
6
+ */
7
+ export declare class rndGeometryLine extends randomCore {
8
+ protected _config: randomGeometryLineConfig;
9
+ protected _defaultConfig: randomGeometryLineConfig;
10
+ constructor(userConfig?: randomGeometryLineConfig);
11
+ generate: () => Line;
12
+ }