pimath 0.0.69 → 0.0.72
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/.idea/misc.xml +0 -5
- package/dist/pi.js +18 -1
- 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/polynom.js +1 -1
- package/esm/maths/algebra/polynom.js.map +1 -1
- package/esm/maths/coefficients/fraction.d.ts +2 -0
- package/esm/maths/coefficients/fraction.js +14 -0
- package/esm/maths/coefficients/fraction.js.map +1 -1
- package/esm/maths/expressions/expression.d.ts +6 -0
- package/esm/maths/expressions/expression.js +79 -1
- package/esm/maths/expressions/expression.js.map +1 -1
- package/esm/maths/expressions/expressionFactor.d.ts +8 -1
- package/esm/maths/expressions/expressionFactor.js +51 -4
- package/esm/maths/expressions/expressionFactor.js.map +1 -1
- package/esm/maths/expressions/expressionMember.d.ts +12 -1
- package/esm/maths/expressions/expressionMember.js +128 -19
- package/esm/maths/expressions/expressionMember.js.map +1 -1
- package/esm/maths/expressions/expressionParser.d.ts +2 -0
- package/esm/maths/expressions/expressionParser.js +74 -34
- package/esm/maths/expressions/expressionParser.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactor.d.ts +2 -2
- package/esm/maths/expressions/factors/ExpFactor.js +15 -3
- package/esm/maths/expressions/factors/ExpFactor.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +1 -0
- package/esm/maths/expressions/factors/ExpFactorConstant.js +3 -0
- package/esm/maths/expressions/factors/ExpFactorConstant.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +1 -0
- package/esm/maths/expressions/factors/ExpFactorExponential.js +4 -0
- package/esm/maths/expressions/factors/ExpFactorExponential.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +3 -2
- package/esm/maths/expressions/factors/ExpFactorNumber.js +23 -0
- package/esm/maths/expressions/factors/ExpFactorNumber.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorPower.d.ts +5 -1
- package/esm/maths/expressions/factors/ExpFactorPower.js +15 -2
- package/esm/maths/expressions/factors/ExpFactorPower.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +1 -0
- package/esm/maths/expressions/factors/ExpFactorTrigo.js +8 -0
- package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +1 -1
- package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +1 -0
- package/esm/maths/expressions/factors/ExpFactorVariable.js +3 -0
- package/esm/maths/expressions/factors/ExpFactorVariable.js.map +1 -1
- package/esm/maths/expressions/polynomexp.bkp.js +0 -1
- package/esm/maths/expressions/polynomexp.bkp.js.map +1 -1
- package/esm/maths/shutingyard.js +3 -0
- package/esm/maths/shutingyard.js.map +1 -1
- package/package.json +1 -1
- package/src/maths/algebra/polynom.ts +1 -1
- package/src/maths/coefficients/fraction.ts +17 -0
- package/src/maths/expressions/expression.ts +115 -20
- package/src/maths/expressions/expressionFactor.ts +59 -7
- package/src/maths/expressions/expressionMember.ts +141 -22
- package/src/maths/expressions/expressionParser.ts +79 -33
- package/src/maths/expressions/factors/ExpFactor.ts +19 -6
- package/src/maths/expressions/factors/ExpFactorConstant.ts +4 -0
- package/src/maths/expressions/factors/ExpFactorExponential.ts +7 -0
- package/src/maths/expressions/factors/ExpFactorNumber.ts +32 -4
- package/src/maths/expressions/factors/ExpFactorPower.ts +21 -3
- package/src/maths/expressions/factors/ExpFactorTrigo.ts +10 -1
- package/src/maths/expressions/factors/ExpFactorVariable.ts +5 -0
- package/src/maths/expressions/polynomexp.bkp.ts +0 -1
- package/src/maths/shutingyard.ts +4 -1
- package/tests/coefficients/fraction.test.ts +11 -0
- package/tests/expressions/expressions.test.ts +24 -3
- package/tests/geometry/circle.test.ts +6 -0
- package/esm/maths/expressions/factors/ExpFactorSin.d.ts +0 -7
- package/esm/maths/expressions/factors/ExpFactorSin.js +0 -22
- package/esm/maths/expressions/factors/ExpFactorSin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;
|
|
1
|
+
{"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;IAUhD,YAAY,OAAmB,EAAE,KAAiB,EAAE,MAAe,EAAE,IAAY;QAC7E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;IAC/B,CAAC;IAbD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,CAAC,KAAiB;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAQD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,GAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAI,IAAI,CAAA;QAE9E,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,OAAQ,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAQ,IAAI,CAAA;QAE1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E,CAAC;CACJ;AAtCD,wCAsCC"}
|
|
@@ -35,6 +35,14 @@ class ExpFactorTrigo extends internals_1.ExpressionFactor {
|
|
|
35
35
|
tex += `\\left( ${this.argument.tex} \\right)`;
|
|
36
36
|
return this.texRoot(tex);
|
|
37
37
|
}
|
|
38
|
+
makeDisplay(numberOfFactors, position) {
|
|
39
|
+
let display = `${this._trigo}`;
|
|
40
|
+
if (this.root > 1) {
|
|
41
|
+
display += `^( ${this.root} )`;
|
|
42
|
+
}
|
|
43
|
+
display += `( ${this.argument.display} )`;
|
|
44
|
+
return this.displayRoot(display);
|
|
45
|
+
}
|
|
38
46
|
}
|
|
39
47
|
exports.ExpFactorTrigo = ExpFactorTrigo;
|
|
40
48
|
//# sourceMappingURL=ExpFactorTrigo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorTrigo.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorTrigo.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,IAAY,aASX;AATD,WAAY,aAAa;IACrB,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;AACf,CAAC,EATW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QASxB;AACD,MAAa,cAAe,SAAQ,4BAAgB;
|
|
1
|
+
{"version":3,"file":"ExpFactorTrigo.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorTrigo.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,IAAY,aASX;AATD,WAAY,aAAa;IACrB,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;AACf,CAAC,EATW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QASxB;AACD,MAAa,cAAe,SAAQ,4BAAgB;IAEhD,YAAY,KAAa,EAAE,QAAoB,EAAE,KAAc,EAAE,IAAa;QAE1E,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAG,CAAE,CAAC,KAAK,IAAI,aAAa,CAAC,EAAC;YAC1B,MAAM,OAAQ,KAAM,yCAAyC,CAAA;SAChE;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,GAAG,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAA;SAC7B;QAED,GAAG,IAAG,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC9B,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,OAAO,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAA;SACjC;QAED,OAAO,IAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAA;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACJ;AAvCD,wCAuCC"}
|
|
@@ -6,6 +6,7 @@ export declare class ExpFactorVariable extends ExpressionFactor {
|
|
|
6
6
|
get variable(): string;
|
|
7
7
|
set variable(value: string);
|
|
8
8
|
makeTeX(): string;
|
|
9
|
+
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
9
10
|
derivative(variable: string): Expression;
|
|
10
11
|
integrate(variable: string): Expression;
|
|
11
12
|
hasVariable(variable?: string): boolean;
|
|
@@ -19,6 +19,9 @@ class ExpFactorVariable extends internals_1.ExpressionFactor {
|
|
|
19
19
|
makeTeX() {
|
|
20
20
|
return this.texPower(this.texRoot(this._variable));
|
|
21
21
|
}
|
|
22
|
+
makeDisplay(numberOfFactors, position) {
|
|
23
|
+
return this.displayPower(this.displayRoot(this._variable));
|
|
24
|
+
}
|
|
22
25
|
derivative(variable) {
|
|
23
26
|
return undefined;
|
|
24
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorVariable.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorVariable.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAEnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,gBAAgB,KAAK,wBAAwB,CAAA;SACtD;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAA;IACtC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"ExpFactorVariable.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorVariable.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAEnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,gBAAgB,KAAK,wBAAwB,CAAA;SACtD;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,CAAC;IAGD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAA;IACtC,CAAC;CACJ;AAzCD,8CAyCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polynomexp.bkp.js","sourceRoot":"","sources":["../../../src/maths/expressions/polynomexp.bkp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"polynomexp.bkp.js","sourceRoot":"","sources":["../../../src/maths/expressions/polynomexp.bkp.ts"],"names":[],"mappings":"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"}
|
package/esm/maths/shutingyard.js
CHANGED
|
@@ -171,6 +171,9 @@ class Shutingyard {
|
|
|
171
171
|
return [token, start + token.length, tokenType];
|
|
172
172
|
}
|
|
173
173
|
normalize(expr) {
|
|
174
|
+
if (expr.length === 1) {
|
|
175
|
+
return expr;
|
|
176
|
+
}
|
|
174
177
|
// Get the list of function token.
|
|
175
178
|
let fnToken = [], kToken = [];
|
|
176
179
|
for (let token in this._tokenConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -204,7 +204,7 @@ export class Polynom {
|
|
|
204
204
|
}
|
|
205
205
|
} else if (element.token === '^') {
|
|
206
206
|
if (b.degree().isStrictlyPositive()) {
|
|
207
|
-
console.error('Cannot elevate a polynom with another polynom !')
|
|
207
|
+
console.error('Cannot elevate a polynom with another polynom !', a.tex, b.tex)
|
|
208
208
|
} else {
|
|
209
209
|
if (b.monoms[0].coefficient.isRelative()) {
|
|
210
210
|
// Integer power
|
|
@@ -65,6 +65,10 @@ export class Fraction {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
get texWithSign():string {
|
|
69
|
+
return this.isPositive() ? `+${this.tex}` : this.tex;
|
|
70
|
+
}
|
|
71
|
+
|
|
68
72
|
get display(): string {
|
|
69
73
|
if (this.isExact()) {
|
|
70
74
|
if (this._denominator === 1) {
|
|
@@ -324,6 +328,19 @@ export class Fraction {
|
|
|
324
328
|
return this.reduce();
|
|
325
329
|
};
|
|
326
330
|
|
|
331
|
+
xMultiply = (...values: (Fraction | number)[]): Fraction => {
|
|
332
|
+
// Parse the value.
|
|
333
|
+
// If it's a fraction, return a clone of it
|
|
334
|
+
// If it's an integer, return the fraction F/1
|
|
335
|
+
for(let value of values){
|
|
336
|
+
let F = new Fraction(value)
|
|
337
|
+
this._numerator = this._numerator * F.numerator;
|
|
338
|
+
this._denominator = this._denominator * F.denominator;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
return this;
|
|
342
|
+
};
|
|
343
|
+
|
|
327
344
|
divide = (F: Fraction | number): Fraction => {
|
|
328
345
|
let Q = new Fraction(F);
|
|
329
346
|
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ExpFactor,
|
|
3
|
+
ExpFactorConstant,
|
|
4
|
+
ExpFactorNumber, ExpFactorPower,
|
|
5
|
+
ExpFactorVariable,
|
|
6
|
+
ExpressionFactor,
|
|
7
|
+
ExpressionMember
|
|
8
|
+
} from "./internals";
|
|
2
9
|
|
|
3
10
|
export type ExpressionMemberType = { member: ExpressionMember, sign: number }
|
|
4
11
|
|
|
@@ -12,7 +19,7 @@ export class Expression {
|
|
|
12
19
|
}
|
|
13
20
|
|
|
14
21
|
get tex(): string {
|
|
15
|
-
let tex:string = ""
|
|
22
|
+
let tex: string = ""
|
|
16
23
|
for (let item of this._members) {
|
|
17
24
|
|
|
18
25
|
try {
|
|
@@ -21,13 +28,30 @@ export class Expression {
|
|
|
21
28
|
} else {
|
|
22
29
|
tex += (item.sign === -1 ? "-" : "+") + item.member.tex
|
|
23
30
|
}
|
|
24
|
-
}catch{
|
|
31
|
+
} catch {
|
|
25
32
|
console.log('Error while generating the TeX code for ', item.constructor.name)
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
return tex
|
|
29
36
|
}
|
|
30
37
|
|
|
38
|
+
get display(): string {
|
|
39
|
+
let display: string = ""
|
|
40
|
+
for (let item of this._members) {
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
if (display === "") {
|
|
44
|
+
display = (item.sign === -1 ? "-" : "") + item.member.display
|
|
45
|
+
} else {
|
|
46
|
+
display += (item.sign === -1 ? "-" : "+") + item.member.display
|
|
47
|
+
}
|
|
48
|
+
} catch {
|
|
49
|
+
console.log('Error while generating the display code for ', item.constructor.name)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return display
|
|
53
|
+
}
|
|
54
|
+
|
|
31
55
|
get members(): ExpressionMemberType[] {
|
|
32
56
|
return this._members;
|
|
33
57
|
}
|
|
@@ -43,13 +67,12 @@ export class Expression {
|
|
|
43
67
|
member: item,
|
|
44
68
|
sign: 1
|
|
45
69
|
})
|
|
46
|
-
}else if (item instanceof ExpressionFactor){
|
|
70
|
+
} else if (item instanceof ExpressionFactor) {
|
|
47
71
|
this._members.push({
|
|
48
72
|
member: new ExpressionMember(item),
|
|
49
73
|
sign: 1
|
|
50
74
|
})
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
75
|
+
} else {
|
|
53
76
|
this._members.push(item)
|
|
54
77
|
}
|
|
55
78
|
}
|
|
@@ -102,6 +125,64 @@ export class Expression {
|
|
|
102
125
|
return this
|
|
103
126
|
}
|
|
104
127
|
|
|
128
|
+
variables(): string[] {
|
|
129
|
+
let values: string[] = [],
|
|
130
|
+
varFactor: ExpFactorVariable[]
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
values = this.getAllFactors().filter(x => x instanceof ExpFactorVariable).map(x => {
|
|
134
|
+
return x instanceof ExpFactorVariable ? x.variable : null
|
|
135
|
+
})
|
|
136
|
+
|
|
137
|
+
return [...new Set(values)]
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
isPolynom(): Boolean {
|
|
141
|
+
// Allow variable, number, factor, power, constant
|
|
142
|
+
let factors = this.getAllFactors()
|
|
143
|
+
|
|
144
|
+
for (let factor of factors) {
|
|
145
|
+
// No root
|
|
146
|
+
if (factor.root > 1) {
|
|
147
|
+
return false
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Allow power, as long as the power argument is numeric
|
|
151
|
+
if(factor instanceof ExpFactorPower){
|
|
152
|
+
if(!factor.powerArgument.isNumeric()){return false}
|
|
153
|
+
// TODO: the power must be an integer value.
|
|
154
|
+
|
|
155
|
+
if(!factor.powerArgument.isNumber()){return false}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Allow some type of factors.
|
|
159
|
+
if (!(
|
|
160
|
+
factor instanceof ExpFactor ||
|
|
161
|
+
factor instanceof ExpFactorConstant ||
|
|
162
|
+
factor instanceof ExpFactorNumber ||
|
|
163
|
+
factor instanceof ExpFactorVariable
|
|
164
|
+
)) {
|
|
165
|
+
return false
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return true
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
getAllFactors(): ExpressionFactor[] {
|
|
173
|
+
let EF: ExpressionFactor[] = []
|
|
174
|
+
|
|
175
|
+
for (let item of this._members) {
|
|
176
|
+
for (let factor of item.member.factors) {
|
|
177
|
+
EF.push(factor)
|
|
178
|
+
for(let expr of factor.getArguments()){
|
|
179
|
+
EF = EF.concat(...expr.getAllFactors())
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return EF
|
|
185
|
+
}
|
|
105
186
|
|
|
106
187
|
hasVariable(variable?: string): boolean {
|
|
107
188
|
|
|
@@ -136,30 +217,37 @@ export class Expression {
|
|
|
136
217
|
}
|
|
137
218
|
|
|
138
219
|
isNumeric(): boolean {
|
|
139
|
-
|
|
140
220
|
for (let item of this._members) {
|
|
141
221
|
if (!item.member.isNumeric()) {
|
|
142
222
|
return false
|
|
143
223
|
}
|
|
144
224
|
}
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
145
227
|
|
|
228
|
+
isNumber(): boolean {
|
|
229
|
+
if(this._members.length===1) {
|
|
230
|
+
if (this._members[0]?.member.factors[0] instanceof ExpFactorNumber) {
|
|
231
|
+
return this._members[0].member.factors[0].root === 1
|
|
232
|
+
}
|
|
233
|
+
}
|
|
146
234
|
|
|
147
|
-
return
|
|
235
|
+
return false
|
|
148
236
|
}
|
|
149
237
|
|
|
150
238
|
isSingle(): Boolean {
|
|
151
|
-
if(this.members.length>1){
|
|
239
|
+
if (this.members.length > 1) {
|
|
152
240
|
return false
|
|
153
|
-
}else if(this.members[0]?.member.factors.length>1){
|
|
241
|
+
} else if (this.members[0]?.member.factors.length > 1) {
|
|
154
242
|
return false
|
|
155
|
-
}else{
|
|
243
|
+
} else {
|
|
156
244
|
return true
|
|
157
245
|
}
|
|
158
246
|
|
|
159
247
|
}
|
|
160
248
|
|
|
161
249
|
isFactor(): Boolean {
|
|
162
|
-
return this.members.length===1
|
|
250
|
+
return this.members.length === 1
|
|
163
251
|
}
|
|
164
252
|
|
|
165
253
|
|
|
@@ -168,24 +256,31 @@ export class Expression {
|
|
|
168
256
|
indent = "",
|
|
169
257
|
dftIndent = "\t"
|
|
170
258
|
|
|
171
|
-
if(depth===undefined){
|
|
172
|
-
|
|
259
|
+
if (depth === undefined) {
|
|
260
|
+
depth = 0
|
|
261
|
+
}
|
|
262
|
+
for (let i = 0; i < depth; i++) {
|
|
173
263
|
indent += dftIndent
|
|
174
264
|
}
|
|
175
265
|
|
|
176
266
|
struct.push(`${indent}${this.constructor.name}: ${this.tex}`)
|
|
177
|
-
for(let item of this._members){
|
|
267
|
+
for (let item of this._members) {
|
|
178
268
|
struct.push(`${indent}${dftIndent}${item.member.constructor.name}: ${item.member.tex}`)
|
|
179
|
-
for(let factor of item.member.factors){
|
|
180
|
-
struct.push(`${indent}${dftIndent}${dftIndent}${factor.constructor.name}: ${factor.tex}`)
|
|
181
|
-
if(factor.argument!==null){
|
|
182
|
-
struct.push(factor.argument.structure(depth+3))
|
|
269
|
+
for (let factor of item.member.factors) {
|
|
270
|
+
struct.push(`${indent}${dftIndent}${dftIndent}${factor.constructor.name}: ${factor.tex} ; power: ${factor.power}; root: ${factor.root}`)
|
|
271
|
+
if (factor.argument !== null) {
|
|
272
|
+
struct.push(factor.argument.structure(depth + 3))
|
|
183
273
|
}
|
|
184
274
|
}
|
|
185
275
|
}
|
|
186
276
|
return struct.join('\n')
|
|
187
277
|
}
|
|
188
278
|
|
|
189
|
-
|
|
279
|
+
reduce():Expression {
|
|
280
|
+
for(let item of this.members){
|
|
281
|
+
item.member.reduce()
|
|
282
|
+
}
|
|
283
|
+
return this
|
|
284
|
+
}
|
|
190
285
|
}
|
|
191
286
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {Expression} from "./internals";
|
|
2
|
+
import {Numeric} from "../numeric";
|
|
2
3
|
|
|
3
4
|
export abstract class ExpressionFactor {
|
|
4
5
|
constructor(
|
|
@@ -30,6 +31,10 @@ export abstract class ExpressionFactor {
|
|
|
30
31
|
return this.makeTeX()
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
get display(): string {
|
|
35
|
+
return this.makeDisplay()
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
get power(): number {
|
|
34
39
|
return this._power;
|
|
35
40
|
}
|
|
@@ -62,10 +67,18 @@ export abstract class ExpressionFactor {
|
|
|
62
67
|
|
|
63
68
|
abstract makeTeX(numberOfFactors?: number, position?: number): string
|
|
64
69
|
|
|
70
|
+
abstract makeDisplay(numberOfFactors?: number, position?: number): string
|
|
71
|
+
|
|
65
72
|
abstract derivative(variable: string): Expression
|
|
66
73
|
|
|
67
74
|
abstract integrate(variable: string): Expression
|
|
68
75
|
|
|
76
|
+
getArguments(): Expression[] {
|
|
77
|
+
if (this._argument !== null){
|
|
78
|
+
return [this.argument]
|
|
79
|
+
}
|
|
80
|
+
return []
|
|
81
|
+
}
|
|
69
82
|
hasVariable(variable?: string): boolean {
|
|
70
83
|
|
|
71
84
|
if (variable === undefined) {
|
|
@@ -78,15 +91,13 @@ export abstract class ExpressionFactor {
|
|
|
78
91
|
}
|
|
79
92
|
|
|
80
93
|
return false
|
|
81
|
-
|
|
82
94
|
}
|
|
83
95
|
|
|
84
96
|
isNumeric(): boolean {
|
|
85
|
-
|
|
86
|
-
|
|
97
|
+
for(let expressionArgument of this.getArguments()){
|
|
98
|
+
if(!expressionArgument.isNumeric()){return false}
|
|
87
99
|
}
|
|
88
|
-
|
|
89
|
-
|
|
100
|
+
return true
|
|
90
101
|
}
|
|
91
102
|
|
|
92
103
|
hasRoot(): boolean {
|
|
@@ -106,6 +117,28 @@ export abstract class ExpressionFactor {
|
|
|
106
117
|
return this.texPower(this.texRoot(tex))
|
|
107
118
|
}
|
|
108
119
|
|
|
120
|
+
displayPowerAndRoot(display: string): string {
|
|
121
|
+
return this.displayPower(this.displayRoot(display))
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
displayPower(display: string):string {
|
|
125
|
+
if (this.hasPower(this.inline)) {
|
|
126
|
+
return `${display}^(${Math.abs(this.power)})`
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return display
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
displayRoot(display: string): string {
|
|
133
|
+
if (this.root === 2) {
|
|
134
|
+
return `sqrt( ${display} )`
|
|
135
|
+
} else if (this.root > 2) {
|
|
136
|
+
return `nthrt(${display},${this.root})`
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return display
|
|
140
|
+
}
|
|
141
|
+
|
|
109
142
|
texPower(tex: string): string {
|
|
110
143
|
if (this.hasPower(this.inline)) {
|
|
111
144
|
return `${tex}^{ ${Math.abs(this.power)} }`
|
|
@@ -114,8 +147,12 @@ export abstract class ExpressionFactor {
|
|
|
114
147
|
return tex
|
|
115
148
|
}
|
|
116
149
|
|
|
117
|
-
wrapWithParentheses(tex: string): string {
|
|
118
|
-
|
|
150
|
+
wrapWithParentheses(tex: string, asTex?: boolean): string {
|
|
151
|
+
if(asTex===undefined || asTex===true) {
|
|
152
|
+
return `\\left( ${tex} \\right)`
|
|
153
|
+
}else{
|
|
154
|
+
return `( ${tex} )`
|
|
155
|
+
}
|
|
119
156
|
}
|
|
120
157
|
|
|
121
158
|
texRoot(tex: string): string {
|
|
@@ -135,4 +172,19 @@ export abstract class ExpressionFactor {
|
|
|
135
172
|
|
|
136
173
|
return this._argument === 0
|
|
137
174
|
}
|
|
175
|
+
|
|
176
|
+
reduce(): ExpressionFactor {
|
|
177
|
+
let gcd = Numeric.gcd(this.root, this.power)
|
|
178
|
+
|
|
179
|
+
if(gcd>1){
|
|
180
|
+
this.root = this.root/gcd
|
|
181
|
+
this.power = this.power/gcd
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
for(let expressionArgument of this.getArguments()){
|
|
185
|
+
expressionArgument.reduce()
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return this
|
|
189
|
+
}
|
|
138
190
|
}
|