pimath 0.0.107 → 0.0.109
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.
- package/dist/pi.js +219 -175
- package/dist/pi.js.map +1 -1
- package/dist/pi.min.js +1 -1
- package/dist/pi.min.js.map +1 -1
- package/esm/maths/algebra/equation.js +12 -11
- package/esm/maths/algebra/equation.js.map +1 -1
- package/esm/maths/algebra/linearSystem.d.ts +9 -14
- package/esm/maths/algebra/linearSystem.js +142 -162
- package/esm/maths/algebra/linearSystem.js.map +1 -1
- package/esm/maths/geometry/vector.d.ts +3 -2
- package/esm/maths/geometry/vector.js +5 -2
- package/esm/maths/geometry/vector.js.map +1 -1
- package/esm/maths/randomization/random.d.ts +5 -1
- package/esm/maths/randomization/random.js +8 -0
- package/esm/maths/randomization/random.js.map +1 -1
- package/esm/maths/randomization/rndGeometryLine.d.ts +12 -0
- package/esm/maths/randomization/rndGeometryLine.js +46 -0
- package/esm/maths/randomization/rndGeometryLine.js.map +1 -0
- package/esm/maths/randomization/rndTypes.d.ts +8 -0
- package/package.json +1 -1
- package/src/maths/algebra/equation.ts +13 -11
- package/src/maths/algebra/linearSystem.ts +180 -190
- package/src/maths/geometry/vector.ts +8 -4
- package/src/maths/randomization/random.ts +9 -1
- package/src/maths/randomization/rndGeometryLine.ts +54 -0
- package/src/maths/randomization/rndTypes.ts +8 -1
- package/tests/algebra/linear.test.ts +4 -2
- package/tests/custom.test.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linearSystem.js","sourceRoot":"","sources":["../../../src/maths/algebra/linearSystem.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"linearSystem.js","sourceRoot":"","sources":["../../../src/maths/algebra/linearSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export declare class Vector {
|
|
|
8
8
|
private _y;
|
|
9
9
|
constructor(...values: unknown[]);
|
|
10
10
|
get x(): Fraction;
|
|
11
|
-
set x(value: Fraction);
|
|
11
|
+
set x(value: Fraction | number | string);
|
|
12
12
|
get y(): Fraction;
|
|
13
|
-
set y(value: Fraction);
|
|
13
|
+
set y(value: Fraction | number | string);
|
|
14
14
|
get normSquare(): Fraction;
|
|
15
15
|
get norm(): number;
|
|
16
16
|
get tex(): string;
|
|
@@ -27,6 +27,7 @@ export declare class Vector {
|
|
|
27
27
|
static scalarProduct: (v1: Vector, v2: Vector) => number;
|
|
28
28
|
normal: () => Vector;
|
|
29
29
|
isNormalTo: (v: Vector) => boolean;
|
|
30
|
+
get isNull(): boolean;
|
|
30
31
|
multiplyByScalar: (k: any) => Vector;
|
|
31
32
|
divideByScalar: (k: any) => Vector;
|
|
32
33
|
simplify: () => Vector;
|
|
@@ -152,13 +152,13 @@ class Vector {
|
|
|
152
152
|
return this._x;
|
|
153
153
|
}
|
|
154
154
|
set x(value) {
|
|
155
|
-
this._x = value;
|
|
155
|
+
this._x = new fraction_1.Fraction(value);
|
|
156
156
|
}
|
|
157
157
|
get y() {
|
|
158
158
|
return this._y;
|
|
159
159
|
}
|
|
160
160
|
set y(value) {
|
|
161
|
-
this._y = value;
|
|
161
|
+
this._y = new fraction_1.Fraction(value);
|
|
162
162
|
}
|
|
163
163
|
get normSquare() {
|
|
164
164
|
return this._x.clone().pow(2).add(this._y.clone().pow(2));
|
|
@@ -169,6 +169,9 @@ class Vector {
|
|
|
169
169
|
get tex() {
|
|
170
170
|
return `\\begin{pmatrix}${this._x.tex} \\\\\ ${this._y.tex} \\end{pmatrix}`;
|
|
171
171
|
}
|
|
172
|
+
get isNull() {
|
|
173
|
+
return this.x.isZero() && this.y.isZero();
|
|
174
|
+
}
|
|
172
175
|
}
|
|
173
176
|
exports.Vector = Vector;
|
|
174
177
|
Vector.scalarProduct = (v1, v2) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/maths/geometry/vector.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uDAAkD;AAClD,wCAAmC;AACnC,mCAA8B;AAE9B,MAAa,MAAM;IAIf,YAAY,GAAG,MAAiB;QAwChC,6CAA6C;QAC7C,+BAA+B;QAC/B,6CAA6C;QAE7C,UAAK,GAAG,CAAC,GAAG,MAAW,EAAU,EAAE;YAC/B,uFAAuF;YACvF,yCAAyC;YACzC,wBAAwB;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,IAAI,CAAC;aACf;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE;oBAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;iBAC3B;qBAAM;oBACH,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;iBACtC;aACJ;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpB,+CAA+C;gBAC/C,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,aAAK,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,aAAK,EAAE;oBAC1D,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBACnD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBACnD,OAAO,IAAI,CAAC;iBACf;gBAED,iCAAiC;gBACjC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,mBAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACpD,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;iBACpC;gBACD,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,mBAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACpD,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;iBACpC;gBAED,IACI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF;oBACG,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAChD,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBACnD;aACJ;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,UAAK,GAAG,GAAW,EAAE;YACjB,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;YAErB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;gBAClB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;gBAClB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;aACzB;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;QAED,UAAK,GAAG,GAAW,EAAE;YACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,SAAI,GAAG,GAAW,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,QAAG,GAAG,GAAW,EAAE;YACf,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAEO,iBAAY,GAAG,CAAC,KAAa,EAAU,EAAE;YAC7C,2CAA2C;YAC3C,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAExC,gCAAgC;YAChC,IAAI,CAAC,CAAC,GAAG,IAAI,mBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,mBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,6CAA6C;QAC7C,0BAA0B;QAC1B,6CAA6C;QAC7C,YAAO,GAAG,GAAW,EAAE;YACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,QAAG,GAAG,CAAC,CAAS,EAAU,EAAE;YACxB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,CAAS,EAAU,EAAE;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC,CAAA;QAED,4BAAuB,GAAG,CAAC,CAAS,EAAY,EAAE;YAC9C,mCAAmC;YACnC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAA;QAOD,WAAM,GAAG,GAAW,EAAE;YAClB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACrD,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,eAAU,GAAG,CAAC,CAAS,EAAW,EAAE;YAChC,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;QACnD,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/maths/geometry/vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { randomCoefficientConfig, randomMonomConfig, randomPolynomConfig } from "./rndTypes";
|
|
1
|
+
import { randomCoefficientConfig, randomGeometryLineConfig, randomMonomConfig, randomPolynomConfig } from "./rndTypes";
|
|
2
2
|
import { Polynom } from "../algebra/polynom";
|
|
3
3
|
import { Monom } from "../algebra/monom";
|
|
4
4
|
import { Fraction } from "../coefficients/fraction";
|
|
5
|
+
import { Line } from "../geometry/line";
|
|
5
6
|
export * from "./rndTypes";
|
|
6
7
|
export declare namespace Random {
|
|
7
8
|
function polynom(config?: randomPolynomConfig): Polynom;
|
|
@@ -14,4 +15,7 @@ export declare namespace Random {
|
|
|
14
15
|
function array(arr: any[], number?: number): any[];
|
|
15
16
|
function item(arr: any[]): any;
|
|
16
17
|
function shuffle(arr: any[]): any[];
|
|
18
|
+
namespace Geometry {
|
|
19
|
+
function line(config: randomGeometryLineConfig): Line;
|
|
20
|
+
}
|
|
17
21
|
}
|
|
@@ -19,6 +19,7 @@ const rndPolynom_1 = require("./rndPolynom");
|
|
|
19
19
|
const rndMonom_1 = require("./rndMonom");
|
|
20
20
|
const rndHelpers_1 = require("./rndHelpers");
|
|
21
21
|
const rndFraction_1 = require("./rndFraction");
|
|
22
|
+
const rndGeometryLine_1 = require("./rndGeometryLine");
|
|
22
23
|
__exportStar(require("./rndTypes"), exports);
|
|
23
24
|
var Random;
|
|
24
25
|
(function (Random) {
|
|
@@ -62,5 +63,12 @@ var Random;
|
|
|
62
63
|
return rndHelpers_1.rndHelpers.shuffleArray(arr);
|
|
63
64
|
}
|
|
64
65
|
Random.shuffle = shuffle;
|
|
66
|
+
let Geometry;
|
|
67
|
+
(function (Geometry) {
|
|
68
|
+
function line(config) {
|
|
69
|
+
return (new rndGeometryLine_1.rndGeometryLine(config).generate());
|
|
70
|
+
}
|
|
71
|
+
Geometry.line = line;
|
|
72
|
+
})(Geometry = Random.Geometry || (Random.Geometry = {}));
|
|
65
73
|
})(Random = exports.Random || (exports.Random = {}));
|
|
66
74
|
//# 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;AAExC,+CAA0C;AAK1C,6CAA0B;AAE1B,IAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/maths/randomization/random.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,yCAAoC;AACpC,6CAAwC;AAExC,+CAA0C;AAK1C,uDAAkD;AAElD,6CAA0B;AAE1B,IAAiB,MAAM,CA8CtB;AA9CD,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,CAIxB;IAJD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAAC,MAAgC;YACjD,OAAO,CAAC,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnD,CAAC;QAFe,aAAI,OAEnB,CAAA;IACL,CAAC,EAJgB,QAAQ,GAAR,eAAQ,KAAR,eAAQ,QAIxB;AACL,CAAC,EA9CgB,MAAM,GAAN,cAAM,KAAN,cAAM,QA8CtB"}
|
|
@@ -0,0 +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
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rndGeometryLine = void 0;
|
|
4
|
+
const randomCore_1 = require("./randomCore");
|
|
5
|
+
const random_1 = require("./random");
|
|
6
|
+
const line_1 = require("../geometry/line");
|
|
7
|
+
const vector_1 = require("../geometry/vector");
|
|
8
|
+
const point_1 = require("../geometry/point");
|
|
9
|
+
/**
|
|
10
|
+
* Create a random monom based on a based configuration
|
|
11
|
+
*/
|
|
12
|
+
class rndGeometryLine extends randomCore_1.randomCore {
|
|
13
|
+
constructor(userConfig) {
|
|
14
|
+
super();
|
|
15
|
+
this.generate = () => {
|
|
16
|
+
// The A point exists.
|
|
17
|
+
const d = new vector_1.Vector(random_1.Random.numberSym(10), random_1.Random.numberSym(10));
|
|
18
|
+
while (d.isNull) {
|
|
19
|
+
d.x = random_1.Random.numberSym(10);
|
|
20
|
+
d.y = random_1.Random.numberSym(10);
|
|
21
|
+
}
|
|
22
|
+
if (this._config.slope === 1) {
|
|
23
|
+
if (d.x.sign() !== d.y.sign()) {
|
|
24
|
+
d.y.opposed();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else if (this._config.slope === -1) {
|
|
28
|
+
if (d.x.sign() !== d.y.sign()) {
|
|
29
|
+
d.y.opposed();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return new line_1.Line(new point_1.Point(this._config.A.x, this._config.A.y), d);
|
|
33
|
+
};
|
|
34
|
+
this._defaultConfig = {
|
|
35
|
+
A: {
|
|
36
|
+
x: random_1.Random.numberSym(10),
|
|
37
|
+
y: random_1.Random.numberSym(10)
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
// TODO: Strange that it raise an error
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
this._config = this.mergeConfig(userConfig, this._defaultConfig);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.rndGeometryLine = rndGeometryLine;
|
|
46
|
+
//# sourceMappingURL=rndGeometryLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rndGeometryLine.js","sourceRoot":"","sources":["../../../src/maths/randomization/rndGeometryLine.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,qCAA0D;AAC1D,2CAAsC;AACtC,+CAA0C;AAE1C,6CAAwC;AAExC;;GAEG;AACH,MAAa,eAAgB,SAAQ,uBAAU;IAI3C,YAAY,UAAqC;QAC7C,KAAK,EAAE,CAAC;QAcZ,aAAQ,GAAG,GAAS,EAAE;YAClB,sBAAsB;YACtB,MAAM,CAAC,GAAG,IAAI,eAAM,CAChB,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACpB,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CACvB,CAAA;YAED,OAAM,CAAC,CAAC,MAAM,EAAC;gBACX,CAAC,CAAC,CAAC,GAAG,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC,CAAC,CAAC,GAAG,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;aAC7B;YAED,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,KAAG,CAAC,EAAC;gBACtB,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC;oBACvB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;iBAChB;aACJ;iBAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,KAAG,CAAC,CAAC,EAAC;gBAC7B,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC;oBACvB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;iBAChB;aACJ;YAED,OAAO,IAAI,WAAI,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAA;QAnCG,IAAI,CAAC,cAAc,GAAG;YAClB,CAAC,EAAE;gBACC,CAAC,EAAE,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvB,CAAC,EAAE,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC;aAC1B;SACJ,CAAA;QAED,uCAAuC;QACvC,aAAa;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC;CA0BJ;AA3CD,0CA2CC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fraction } from "../coefficients/fraction";
|
|
1
2
|
export type randomCoefficientConfig = {
|
|
2
3
|
negative?: boolean;
|
|
3
4
|
max?: number;
|
|
@@ -18,3 +19,10 @@ export type randomPolynomConfig = randomMonomConfig & {
|
|
|
18
19
|
numberOfMonoms?: number;
|
|
19
20
|
positive?: boolean;
|
|
20
21
|
};
|
|
22
|
+
export type randomGeometryLineConfig = {
|
|
23
|
+
A: {
|
|
24
|
+
x: number | Fraction;
|
|
25
|
+
y: number | Fraction;
|
|
26
|
+
};
|
|
27
|
+
slope?: Fraction | string | number;
|
|
28
|
+
};
|
package/package.json
CHANGED
|
@@ -237,18 +237,20 @@ export class Equation {
|
|
|
237
237
|
// and all zero degree monoms to the right.
|
|
238
238
|
this._left.subtract(this._right);
|
|
239
239
|
this._right.zero();
|
|
240
|
+
this._left.reorder()
|
|
241
|
+
|
|
242
|
+
// we eant all left (so equal zero) : it's done !
|
|
243
|
+
if (allLeft) return this
|
|
244
|
+
|
|
245
|
+
// Fetch all zero degree monoms.
|
|
246
|
+
this._left.monoms
|
|
247
|
+
.filter(m=>m.degree().isZero())
|
|
248
|
+
.forEach(m=> {
|
|
249
|
+
const move = m.clone()
|
|
250
|
+
this._left.subtract(move)
|
|
251
|
+
this._right.subtract(move)
|
|
252
|
+
})
|
|
240
253
|
|
|
241
|
-
if (allLeft) {
|
|
242
|
-
return this.moveLeft()
|
|
243
|
-
}
|
|
244
|
-
let mMove: Monom;
|
|
245
|
-
for (let m of this._left.monoms) {
|
|
246
|
-
if (m.degree().isZero()) {
|
|
247
|
-
mMove = m.clone();
|
|
248
|
-
this._left.subtract(mMove);
|
|
249
|
-
this._right.subtract(mMove);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
254
|
|
|
253
255
|
// Reorder the left and right polynoms
|
|
254
256
|
this._left.reorder();
|