pimath 0.0.124 → 0.0.125
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/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +192 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +4 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +2404 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +4 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +1362 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +4 -0
- package/dist/pimath.js +27 -6
- package/dist/pimath.js.map +1 -1
- package/dist/pimath.min.js +1 -1
- package/dist/pimath.min.js.map +1 -1
- package/esm/maths/randomization/random.d.ts +1 -1
- package/esm/maths/randomization/random.js +2 -2
- package/esm/maths/randomization/random.js.map +1 -1
- package/esm/maths/randomization/rndHelpers.d.ts +1 -1
- package/esm/maths/randomization/rndHelpers.js +25 -4
- package/esm/maths/randomization/rndHelpers.js.map +1 -1
- package/package.json +1 -1
- package/src/maths/randomization/random.ts +2 -2
- package/src/maths/randomization/rndHelpers.ts +49 -18
- package/tests/geometry/circle.test.ts +125 -10
- package/tests/numexp.test.ts +10 -2
- package/dev/pimath.js +0 -7935
- package/dev/pimath.js.map +0 -1
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -78
- package/docs/assets/main.js +0 -58
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1367
- package/docs/classes/Logicalset.Logicalset.html +0 -221
- package/docs/classes/Polynom.Rational.html +0 -391
- package/docs/classes/Vector-1.Vector.html +0 -494
- package/docs/classes/Vector.Point.html +0 -341
- package/docs/classes/algebra_equation.Equation.html +0 -796
- package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -408
- package/docs/classes/algebra_monom.Monom.html +0 -967
- package/docs/classes/algebra_polynom.Polynom.html +0 -1281
- package/docs/classes/coefficients_fraction.Fraction.html +0 -939
- package/docs/classes/geometry_circle.Circle.html +0 -476
- package/docs/classes/geometry_line.Line.html +0 -779
- package/docs/classes/geometry_triangle.Triangle.html +0 -429
- package/docs/classes/numeric.Numeric.html +0 -269
- package/docs/classes/shutingyard.Shutingyard.html +0 -259
- package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -89
- package/docs/enums/geometry_line.LinePropriety.html +0 -102
- package/docs/enums/shutingyard.ShutingyardMode.html +0 -106
- package/docs/enums/shutingyard.ShutingyardType.html +0 -120
- package/docs/index.html +0 -63
- package/docs/interfaces/algebra_equation.ISolution.html +0 -111
- package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -93
- package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -150
- package/docs/modules/Logicalset.html +0 -69
- package/docs/modules/Polynom.html +0 -69
- package/docs/modules/Vector-1.html +0 -69
- package/docs/modules/Vector.html +0 -69
- package/docs/modules/algebra_equation.html +0 -75
- package/docs/modules/algebra_linearSystem.html +0 -65
- package/docs/modules/algebra_monom.html +0 -70
- package/docs/modules/algebra_polynom.html +0 -75
- package/docs/modules/coefficients_fraction.html +0 -70
- package/docs/modules/geometry_circle.html +0 -65
- package/docs/modules/geometry_line.html +0 -70
- package/docs/modules/geometry_triangle.html +0 -70
- package/docs/modules/numeric.html +0 -65
- package/docs/modules/shutingyard.html +0 -84
- package/docs/types/algebra_monom.literalType.html +0 -66
- package/docs/types/algebra_polynom.PolynomParsingType.html +0 -62
- package/docs/types/coefficients_fraction.FractionParsingType.html +0 -61
- package/docs/types/shutingyard.Token.html +0 -72
- package/docs/types/shutingyard.tokenType.html +0 -77
- package/docs/variables/shutingyard.tokenConstant.html +0 -70
- package/esm/maths/expressions/ExpressionTree.d.ts +0 -17
- package/esm/maths/expressions/ExpressionTree.js +0 -150
- package/esm/maths/expressions/ExpressionTree.js.map +0 -1
- package/esm/maths/expressions/expression.d.ts +0 -27
- package/esm/maths/expressions/expression.js +0 -239
- package/esm/maths/expressions/expression.js.map +0 -1
- package/esm/maths/expressions/expressionFactor.d.ts +0 -36
- package/esm/maths/expressions/expressionFactor.js +0 -156
- package/esm/maths/expressions/expressionFactor.js.map +0 -1
- package/esm/maths/expressions/expressionMember.d.ts +0 -27
- package/esm/maths/expressions/expressionMember.js +0 -199
- package/esm/maths/expressions/expressionMember.js.map +0 -1
- package/esm/maths/expressions/expressionOperators.d.ts +0 -8
- package/esm/maths/expressions/expressionOperators.js +0 -42
- package/esm/maths/expressions/expressionOperators.js.map +0 -1
- package/esm/maths/expressions/expressionParser.d.ts +0 -14
- package/esm/maths/expressions/expressionParser.js +0 -259
- package/esm/maths/expressions/expressionParser.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactor.d.ts +0 -7
- package/esm/maths/expressions/factors/ExpFactor.js +0 -34
- package/esm/maths/expressions/factors/ExpFactor.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +0 -14
- package/esm/maths/expressions/factors/ExpFactorConstant.js +0 -52
- package/esm/maths/expressions/factors/ExpFactorConstant.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +0 -8
- package/esm/maths/expressions/factors/ExpFactorExponential.js +0 -22
- package/esm/maths/expressions/factors/ExpFactorExponential.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +0 -14
- package/esm/maths/expressions/factors/ExpFactorNumber.js +0 -59
- package/esm/maths/expressions/factors/ExpFactorNumber.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorPower.d.ts +0 -13
- package/esm/maths/expressions/factors/ExpFactorPower.js +0 -35
- package/esm/maths/expressions/factors/ExpFactorPower.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +0 -20
- package/esm/maths/expressions/factors/ExpFactorTrigo.js +0 -48
- package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +0 -13
- package/esm/maths/expressions/factors/ExpFactorVariable.js +0 -36
- package/esm/maths/expressions/factors/ExpFactorVariable.js.map +0 -1
- package/esm/maths/expressions/internals.d.ts +0 -12
- package/esm/maths/expressions/internals.js +0 -29
- package/esm/maths/expressions/internals.js.map +0 -1
- package/esm/maths/expressions/numexp.d.ts +0 -19
- package/esm/maths/expressions/numexp.js +0 -186
- package/esm/maths/expressions/numexp.js.map +0 -1
- package/esm/maths/expressions/polynomexp.bkp.d.ts +0 -33
- package/esm/maths/expressions/polynomexp.bkp.js +0 -184
- package/esm/maths/expressions/polynomexp.bkp.js.map +0 -1
- package/esm/maths/expressions/polynomexp.d.ts +0 -52
- package/esm/maths/expressions/polynomexp.js +0 -246
- package/esm/maths/expressions/polynomexp.js.map +0 -1
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Expression } from "./expression";
|
|
2
|
-
export declare class expressionOperators {
|
|
3
|
-
static reduce(expr: Expression): Expression;
|
|
4
|
-
static add(...values: Expression[]): Expression;
|
|
5
|
-
static subtract(a: Expression, b: Expression): Expression;
|
|
6
|
-
static multiply(...values: Expression[]): Expression;
|
|
7
|
-
static divide(a: Expression, b: Expression): Expression;
|
|
8
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expressionOperators = void 0;
|
|
4
|
-
const expression_1 = require("./expression");
|
|
5
|
-
const ExpFactor_1 = require("./factors/ExpFactor");
|
|
6
|
-
const expressionMember_1 = require("./expressionMember");
|
|
7
|
-
class expressionOperators {
|
|
8
|
-
static reduce(expr) {
|
|
9
|
-
let output = new expression_1.Expression();
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
static add(...values) {
|
|
13
|
-
let output = new expression_1.Expression();
|
|
14
|
-
for (let expr of values) {
|
|
15
|
-
output.addMembers(...expr.members);
|
|
16
|
-
}
|
|
17
|
-
return output;
|
|
18
|
-
}
|
|
19
|
-
static subtract(a, b) {
|
|
20
|
-
let output = new expression_1.Expression();
|
|
21
|
-
output.add(a);
|
|
22
|
-
output.subtract(b);
|
|
23
|
-
return output;
|
|
24
|
-
}
|
|
25
|
-
static multiply(...values) {
|
|
26
|
-
let output = new expression_1.Expression(), member = new expressionMember_1.ExpressionMember();
|
|
27
|
-
for (let expr of values) {
|
|
28
|
-
member.add(new ExpFactor_1.ExpFactor(expr));
|
|
29
|
-
}
|
|
30
|
-
return output.add(member);
|
|
31
|
-
}
|
|
32
|
-
static divide(a, b) {
|
|
33
|
-
let output = new expression_1.Expression(), member = new expressionMember_1.ExpressionMember();
|
|
34
|
-
// Add the first element as factor
|
|
35
|
-
member.add(new ExpFactor_1.ExpFactor(a));
|
|
36
|
-
// Divide by the second element.
|
|
37
|
-
member.add(new ExpFactor_1.ExpFactor(b, -1));
|
|
38
|
-
return output.add(member);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.expressionOperators = expressionOperators;
|
|
42
|
-
//# sourceMappingURL=expressionOperators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expressionOperators.js","sourceRoot":"","sources":["../../../src/maths/expressions/expressionOperators.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,mDAA8C;AAC9C,yDAAoD;AAEpD,MAAa,mBAAmB;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAe;QACzB,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAE7B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAoB;QAC9B,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAC7B,KAAI,IAAI,IAAI,IAAI,MAAM,EAAC;YACnB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;SACrC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAa,EAAE,CAAa;QACxC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAA;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACb,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAClB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAoB;QACnC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,EACzB,MAAM,GAAG,IAAI,mCAAgB,EAAE,CAAA;QAEnC,KAAI,IAAI,IAAI,IAAI,MAAM,EAAC;YACnB,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAA;SAClC;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAa,EAAE,CAAa;QACtC,IAAI,MAAM,GAAG,IAAI,uBAAU,EAAE,EACzB,MAAM,GAAG,IAAI,mCAAgB,EAAE,CAAA;QAEnC,kCAAkC;QAClC,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,gCAAgC;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACJ;AA5CD,kDA4CC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Expression } from "./internals";
|
|
2
|
-
export declare class ExpressionParser {
|
|
3
|
-
private _expression;
|
|
4
|
-
constructor(value: string);
|
|
5
|
-
get expression(): Expression;
|
|
6
|
-
private parse;
|
|
7
|
-
private tokenOperationPlus;
|
|
8
|
-
private tokenOperationMultiply;
|
|
9
|
-
private tokenOperationDivide;
|
|
10
|
-
private tokenOperationPower;
|
|
11
|
-
private tokenOperationMinus;
|
|
12
|
-
private tokenOperationSqrt;
|
|
13
|
-
private tokenOperationRoot;
|
|
14
|
-
}
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpressionParser = void 0;
|
|
4
|
-
const internals_1 = require("./internals");
|
|
5
|
-
function dlog(...values) {
|
|
6
|
-
if (false) {
|
|
7
|
-
console.log(...values);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
class ExpressionParser {
|
|
11
|
-
constructor(value) {
|
|
12
|
-
this._expression = this.parse(value);
|
|
13
|
-
}
|
|
14
|
-
get expression() {
|
|
15
|
-
return this._expression;
|
|
16
|
-
}
|
|
17
|
-
parse(value) {
|
|
18
|
-
let expr, SY = new internals_1.Shutingyard(internals_1.ShutingyardMode.EXPRESSION).parse(value), rpn = SY.rpn, stack = [];
|
|
19
|
-
dlog(SY.rpn);
|
|
20
|
-
dlog(SY.normalize(value));
|
|
21
|
-
for (let item of rpn) {
|
|
22
|
-
dlog('BEFORE', item.token, stack.map(s => s.tex));
|
|
23
|
-
switch (item.tokenType) {
|
|
24
|
-
case internals_1.ShutingyardType.COEFFICIENT:
|
|
25
|
-
stack.push(new internals_1.ExpFactorNumber(+item.token));
|
|
26
|
-
break;
|
|
27
|
-
case internals_1.ShutingyardType.CONSTANT:
|
|
28
|
-
stack.push(new internals_1.ExpFactorConstant(item.token));
|
|
29
|
-
break;
|
|
30
|
-
case internals_1.ShutingyardType.VARIABLE:
|
|
31
|
-
stack.push(new internals_1.ExpFactorVariable(item.token));
|
|
32
|
-
break;
|
|
33
|
-
case internals_1.ShutingyardType.OPERATION:
|
|
34
|
-
// for an operation, the stack length should be two
|
|
35
|
-
if (stack.length >= 2) {
|
|
36
|
-
let b = stack.pop(), a = stack.pop();
|
|
37
|
-
// dlog('OPERATION A - B', stack.map(s=>s.tex))
|
|
38
|
-
switch (item.token) {
|
|
39
|
-
case "+":
|
|
40
|
-
stack.push(this.tokenOperationPlus(a, b));
|
|
41
|
-
break;
|
|
42
|
-
case "-":
|
|
43
|
-
stack.push(this.tokenOperationMinus(a, b));
|
|
44
|
-
break;
|
|
45
|
-
case "*":
|
|
46
|
-
stack.push(this.tokenOperationMultiply(a, b));
|
|
47
|
-
break;
|
|
48
|
-
case "/":
|
|
49
|
-
stack.push(this.tokenOperationDivide(a, b));
|
|
50
|
-
break;
|
|
51
|
-
case "^":
|
|
52
|
-
stack.push(this.tokenOperationPower(a, b));
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
// TODO: handle stack size of one when applying an operation
|
|
58
|
-
}
|
|
59
|
-
break;
|
|
60
|
-
case internals_1.ShutingyardType.FUNCTION:
|
|
61
|
-
let a = stack.pop();
|
|
62
|
-
if (item.token === 'sqrt') {
|
|
63
|
-
stack.push(this.tokenOperationSqrt(a));
|
|
64
|
-
}
|
|
65
|
-
else if (item.token === 'nthrt') {
|
|
66
|
-
stack.push(this.tokenOperationRoot(a, stack.pop()));
|
|
67
|
-
}
|
|
68
|
-
else if (item.token in internals_1.TRIGONOMETRIC) {
|
|
69
|
-
if (!(a instanceof internals_1.Expression)) {
|
|
70
|
-
a = new internals_1.Expression(a);
|
|
71
|
-
}
|
|
72
|
-
stack.push(new internals_1.ExpFactorTrigo(item.token, a));
|
|
73
|
-
}
|
|
74
|
-
break;
|
|
75
|
-
default:
|
|
76
|
-
throw ('Something went wrong while parsing ' + value + ' at ' + item.token);
|
|
77
|
-
}
|
|
78
|
-
dlog('AFTER', item.token, stack.map(s => s.tex));
|
|
79
|
-
dlog('----------');
|
|
80
|
-
}
|
|
81
|
-
// Build the output expression.
|
|
82
|
-
let output = new internals_1.Expression();
|
|
83
|
-
for (let item of stack) {
|
|
84
|
-
if (item instanceof internals_1.Expression) {
|
|
85
|
-
output.addMembers(...item.members);
|
|
86
|
-
}
|
|
87
|
-
else if (item instanceof internals_1.ExpressionMember) {
|
|
88
|
-
output.addMembers(item);
|
|
89
|
-
}
|
|
90
|
-
else if (item instanceof internals_1.ExpressionFactor) {
|
|
91
|
-
output.addMembers(item);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return output;
|
|
95
|
-
// TODO: in the stack, there might be an Expression, ExpressionMember or an ExpressionFactor.
|
|
96
|
-
// @ts-ignore
|
|
97
|
-
// return new Expression(...stack.map(
|
|
98
|
-
// item=>{
|
|
99
|
-
// return item instanceof ExpressionFactor ? new ExpressionMember(item) : item;
|
|
100
|
-
// }
|
|
101
|
-
// ))
|
|
102
|
-
}
|
|
103
|
-
tokenOperationPlus(a, b) {
|
|
104
|
-
if (a instanceof internals_1.ExpressionMember || a instanceof internals_1.ExpressionFactor) {
|
|
105
|
-
a = new internals_1.Expression(a);
|
|
106
|
-
}
|
|
107
|
-
return a.add(b);
|
|
108
|
-
}
|
|
109
|
-
tokenOperationMultiply(a, b) {
|
|
110
|
-
let EM = new internals_1.ExpressionMember();
|
|
111
|
-
if (a instanceof internals_1.Expression) {
|
|
112
|
-
EM.addFactors(new internals_1.ExpFactor(a));
|
|
113
|
-
// a = new ExpFactor(a)
|
|
114
|
-
}
|
|
115
|
-
else if (a instanceof internals_1.ExpressionMember) {
|
|
116
|
-
// a.add()
|
|
117
|
-
EM.addFactors(...a.factors);
|
|
118
|
-
// a = new ExpFactor(new Expression(a))
|
|
119
|
-
}
|
|
120
|
-
else if (a instanceof internals_1.ExpressionFactor) {
|
|
121
|
-
// Do nothing
|
|
122
|
-
EM.addFactors(a);
|
|
123
|
-
}
|
|
124
|
-
if (b instanceof internals_1.Expression) {
|
|
125
|
-
// b = new ExpFactor(b)
|
|
126
|
-
EM.addFactors(new internals_1.ExpFactor(b));
|
|
127
|
-
}
|
|
128
|
-
else if (b instanceof internals_1.ExpressionMember) {
|
|
129
|
-
// b = new ExpFactor(new Expression(b))
|
|
130
|
-
EM.addFactors(...b.factors);
|
|
131
|
-
}
|
|
132
|
-
else if (b instanceof internals_1.ExpressionFactor) {
|
|
133
|
-
// Do nothing
|
|
134
|
-
EM.addFactors(b);
|
|
135
|
-
}
|
|
136
|
-
return EM;
|
|
137
|
-
}
|
|
138
|
-
tokenOperationDivide(a, b) {
|
|
139
|
-
let EM = new internals_1.ExpressionMember();
|
|
140
|
-
if (a instanceof internals_1.Expression) {
|
|
141
|
-
EM.addFactors(new internals_1.ExpFactor(a));
|
|
142
|
-
}
|
|
143
|
-
else if (a instanceof internals_1.ExpressionMember) {
|
|
144
|
-
EM.addFactors(...a.factors);
|
|
145
|
-
}
|
|
146
|
-
else if (a instanceof internals_1.ExpressionFactor) {
|
|
147
|
-
// Do nothing
|
|
148
|
-
EM.addFactors(a);
|
|
149
|
-
}
|
|
150
|
-
if (b instanceof internals_1.Expression) {
|
|
151
|
-
EM.addFactors(new internals_1.ExpFactor(b, -1));
|
|
152
|
-
}
|
|
153
|
-
else if (b instanceof internals_1.ExpressionMember) {
|
|
154
|
-
EM.addFactors(new internals_1.ExpFactor(new internals_1.Expression(b), -1));
|
|
155
|
-
}
|
|
156
|
-
else if (b instanceof internals_1.ExpressionFactor) {
|
|
157
|
-
// Do nothing
|
|
158
|
-
b.power = -b.power;
|
|
159
|
-
EM.addFactors(b);
|
|
160
|
-
}
|
|
161
|
-
return EM;
|
|
162
|
-
}
|
|
163
|
-
tokenOperationPower(a, b) {
|
|
164
|
-
if (a instanceof internals_1.Expression) {
|
|
165
|
-
// Do nothing
|
|
166
|
-
}
|
|
167
|
-
else if (a instanceof internals_1.ExpressionMember) {
|
|
168
|
-
a = new internals_1.Expression(a);
|
|
169
|
-
}
|
|
170
|
-
else if (a instanceof internals_1.ExpressionFactor) {
|
|
171
|
-
// Make a new factor of itself
|
|
172
|
-
console.log(a);
|
|
173
|
-
if (a.power === 1 && b instanceof internals_1.ExpFactorNumber) {
|
|
174
|
-
a.power = b.value;
|
|
175
|
-
return a;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
a = new internals_1.Expression(new internals_1.ExpressionMember(a));
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
// b can be :
|
|
182
|
-
// number 3
|
|
183
|
-
// any other expression
|
|
184
|
-
//
|
|
185
|
-
if (b instanceof internals_1.Expression) {
|
|
186
|
-
// Do nothing
|
|
187
|
-
}
|
|
188
|
-
else if (b instanceof internals_1.ExpressionMember) {
|
|
189
|
-
b = new internals_1.Expression(b);
|
|
190
|
-
}
|
|
191
|
-
else if (b instanceof internals_1.ExpFactorNumber) {
|
|
192
|
-
return new internals_1.ExpFactor(a, b.value);
|
|
193
|
-
}
|
|
194
|
-
else if (b instanceof internals_1.ExpressionFactor) {
|
|
195
|
-
b = new internals_1.Expression(new internals_1.ExpressionMember(b));
|
|
196
|
-
}
|
|
197
|
-
return new internals_1.ExpFactorPower(a, b);
|
|
198
|
-
}
|
|
199
|
-
tokenOperationMinus(a, b) {
|
|
200
|
-
if (a instanceof internals_1.ExpressionMember) {
|
|
201
|
-
a = new internals_1.Expression(a);
|
|
202
|
-
}
|
|
203
|
-
else if (a instanceof internals_1.ExpressionFactor) {
|
|
204
|
-
a = new internals_1.Expression(new internals_1.ExpressionMember(a));
|
|
205
|
-
}
|
|
206
|
-
if (b instanceof internals_1.ExpressionMember) {
|
|
207
|
-
b = new internals_1.Expression(b);
|
|
208
|
-
}
|
|
209
|
-
else if (b instanceof internals_1.ExpressionFactor) {
|
|
210
|
-
b = new internals_1.Expression(new internals_1.ExpressionMember(b));
|
|
211
|
-
}
|
|
212
|
-
return a.subtract(b);
|
|
213
|
-
}
|
|
214
|
-
tokenOperationSqrt(a) {
|
|
215
|
-
// Transform the argument to expression
|
|
216
|
-
if (a instanceof internals_1.Expression) {
|
|
217
|
-
return new internals_1.ExpFactor(a, 1, 2);
|
|
218
|
-
}
|
|
219
|
-
else if (a instanceof internals_1.ExpressionMember) {
|
|
220
|
-
if (a.factors.length === 1 && !a.factors[0].hasPower()) {
|
|
221
|
-
a.factors[0].root = 2;
|
|
222
|
-
return a.factors[0];
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
return new internals_1.ExpFactor(new internals_1.Expression(a), 1, 2);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
else if (a instanceof internals_1.ExpressionFactor) {
|
|
229
|
-
if (!a.hasPower()) {
|
|
230
|
-
a.root = 2;
|
|
231
|
-
return a;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
return new internals_1.ExpFactor(new internals_1.Expression(a), 1, 2);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
// Fallback
|
|
238
|
-
return a;
|
|
239
|
-
}
|
|
240
|
-
tokenOperationRoot(a, b) {
|
|
241
|
-
// a is the power
|
|
242
|
-
// b is the argument
|
|
243
|
-
// Transform the argument to expression
|
|
244
|
-
if (!(b instanceof internals_1.Expression)) {
|
|
245
|
-
b = new internals_1.Expression(b);
|
|
246
|
-
}
|
|
247
|
-
// the "a" value is the nth root. It must be a number
|
|
248
|
-
let n = 2;
|
|
249
|
-
if (a instanceof internals_1.ExpFactorNumber) {
|
|
250
|
-
n = a.number;
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
throw "The nth root value must be a number, not " + a.tex;
|
|
254
|
-
}
|
|
255
|
-
return new internals_1.ExpFactor(b, 1, n);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
exports.ExpressionParser = ExpressionParser;
|
|
259
|
-
//# sourceMappingURL=expressionParser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expressionParser.js","sourceRoot":"","sources":["../../../src/maths/expressions/expressionParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Expression, ExpressionFactor } from "../internals";
|
|
2
|
-
export declare class ExpFactor extends ExpressionFactor {
|
|
3
|
-
derivative(variable: string): Expression;
|
|
4
|
-
integrate(variable: string): Expression;
|
|
5
|
-
makeTeX(numberOfFactors?: number, position?: number): string;
|
|
6
|
-
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
7
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpFactor = void 0;
|
|
4
|
-
const internals_1 = require("../internals");
|
|
5
|
-
class ExpFactor extends internals_1.ExpressionFactor {
|
|
6
|
-
derivative(variable) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
integrate(variable) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
makeTeX(numberOfFactors, position) {
|
|
13
|
-
// TODO: no need to wrap if it's single ?
|
|
14
|
-
if (this.hasRoot() || this.hasPower()) {
|
|
15
|
-
return this.texPower(this.texRoot(this.argument.tex
|
|
16
|
-
// this.wrapWithParentheses(this.argument.tex)
|
|
17
|
-
));
|
|
18
|
-
}
|
|
19
|
-
if (numberOfFactors === 1) {
|
|
20
|
-
return this.argument.tex;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
return this.argument.isFactor() ? this.argument.tex : this.wrapWithParentheses(this.argument.tex);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
makeDisplay(numberOfFactors, position) {
|
|
27
|
-
if (this.hasRoot() || this.hasPower()) {
|
|
28
|
-
return this.displayPower(this.texRoot(this.wrapWithParentheses(this.argument.display, false)));
|
|
29
|
-
}
|
|
30
|
-
return this.argument.isFactor() ? this.argument.display : this.wrapWithParentheses(this.argument.display);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.ExpFactor = ExpFactor;
|
|
34
|
-
//# sourceMappingURL=ExpFactor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactor.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactor.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAG1D,MAAa,SAAU,SAAQ,4BAAgB;IAE3C,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,eAAwB,EAAE,QAAiB;QAC/C,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG;YACjB,8CAA8C;aACjD,CAAC,CAAA;SACL;QAED,IAAI,eAAe,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;SAC3B;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;SACpG;IACL,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CACzD,CAAC,CAAA;SACL;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7G,CAAC;CACJ;AAnCD,8BAmCC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Expression } from "../internals";
|
|
2
|
-
import { ExpressionFactor } from "../internals";
|
|
3
|
-
export declare class ExpFactorConstant extends ExpressionFactor {
|
|
4
|
-
private _constant;
|
|
5
|
-
private _availableConstant;
|
|
6
|
-
constructor(value: string, power?: number, root?: number);
|
|
7
|
-
get value(): number;
|
|
8
|
-
get constant(): string;
|
|
9
|
-
makeTeX(): string;
|
|
10
|
-
derivative(variable: string): Expression;
|
|
11
|
-
integrate(variable: string): Expression;
|
|
12
|
-
hasVariable(variable?: string): boolean;
|
|
13
|
-
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
14
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpFactorConstant = void 0;
|
|
4
|
-
const internals_1 = require("../internals");
|
|
5
|
-
class ExpFactorConstant extends internals_1.ExpressionFactor {
|
|
6
|
-
constructor(value, power, root) {
|
|
7
|
-
if (typeof value !== "string") {
|
|
8
|
-
throw `The number ${value} is not a valid value.`;
|
|
9
|
-
}
|
|
10
|
-
super(null, power, root);
|
|
11
|
-
this._availableConstant = {
|
|
12
|
-
'pi': {
|
|
13
|
-
value: Math.PI,
|
|
14
|
-
tex: '\\pi'
|
|
15
|
-
},
|
|
16
|
-
'e': {
|
|
17
|
-
value: Math.E,
|
|
18
|
-
tex: '\\text{e}'
|
|
19
|
-
},
|
|
20
|
-
'phi': {
|
|
21
|
-
value: (1 + Math.sqrt(5)) / 2,
|
|
22
|
-
tex: '\\phi'
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
this._constant = value;
|
|
26
|
-
}
|
|
27
|
-
get value() {
|
|
28
|
-
// TODO: constant value
|
|
29
|
-
return Math.pow(0, this.root / this.root);
|
|
30
|
-
}
|
|
31
|
-
get constant() {
|
|
32
|
-
return this._constant;
|
|
33
|
-
}
|
|
34
|
-
makeTeX() {
|
|
35
|
-
let tex = this._availableConstant[this._constant].tex;
|
|
36
|
-
return this.texPower(this.texRoot(tex));
|
|
37
|
-
}
|
|
38
|
-
derivative(variable) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
integrate(variable) {
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
hasVariable(variable) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
makeDisplay(numberOfFactors, position) {
|
|
48
|
-
return this._constant;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.ExpFactorConstant = ExpFactorConstant;
|
|
52
|
-
//# sourceMappingURL=ExpFactorConstant.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorConstant.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorConstant.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAGnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,kBAAkB,GAAG;YACtB,IAAI,EAAE;gBACF,KAAK,EAAE,IAAI,CAAC,EAAE;gBACd,GAAG,EAAE,MAAM;aACd;YACD,GAAG,EAAE;gBACD,KAAK,EAAE,IAAI,CAAC,CAAC;gBACb,GAAG,EAAE,WAAW;aACnB;YACD,KAAK,EAAE;gBACH,KAAK,EAAE,CAAC,CAAC,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC;gBAC1B,GAAG,EAAE,OAAO;aACf;SACJ,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,uBAAuB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IACD,OAAO;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAA;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3C,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,KAAK,CAAA;IAChB,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAxDD,8CAwDC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Expression } from "../internals";
|
|
2
|
-
import { ExpressionFactor } from "../internals";
|
|
3
|
-
export declare class ExpFactorExponential extends ExpressionFactor {
|
|
4
|
-
derivative(variable: string): Expression;
|
|
5
|
-
integrate(variable: string): Expression;
|
|
6
|
-
makeTeX(): string;
|
|
7
|
-
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
8
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpFactorExponential = void 0;
|
|
4
|
-
const internals_1 = require("../internals");
|
|
5
|
-
class ExpFactorExponential extends internals_1.ExpressionFactor {
|
|
6
|
-
derivative(variable) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
integrate(variable) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
makeTeX() {
|
|
13
|
-
let tex = `\\text{e}^{ ${this.argument.tex} }`;
|
|
14
|
-
return this.texPowerAndRoot(tex);
|
|
15
|
-
}
|
|
16
|
-
makeDisplay(numberOfFactors, position) {
|
|
17
|
-
let display = `e^( ${this.argument.tex} )`;
|
|
18
|
-
return this.displayPowerAndRoot(display);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.ExpFactorExponential = ExpFactorExponential;
|
|
22
|
-
//# sourceMappingURL=ExpFactorExponential.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorExponential.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorExponential.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,oBAAqB,SAAQ,4BAAgB;IAEtD,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,eAAgB,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAExD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,OAAQ,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAEpD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;CAEJ;AAtBD,oDAsBC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Expression, ExpressionFactor } from "../internals";
|
|
2
|
-
export declare class ExpFactorNumber extends ExpressionFactor {
|
|
3
|
-
private _number;
|
|
4
|
-
constructor(value: number, power?: number, root?: number);
|
|
5
|
-
get value(): number;
|
|
6
|
-
get number(): number;
|
|
7
|
-
set number(value: number);
|
|
8
|
-
makeTeX(): string;
|
|
9
|
-
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
10
|
-
derivative(variable: string): Expression;
|
|
11
|
-
integrate(variable: string): Expression;
|
|
12
|
-
hasVariable(variable?: string): boolean;
|
|
13
|
-
reduce(): ExpressionFactor;
|
|
14
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpFactorNumber = void 0;
|
|
4
|
-
const internals_1 = require("../internals");
|
|
5
|
-
class ExpFactorNumber extends internals_1.ExpressionFactor {
|
|
6
|
-
constructor(value, power, root) {
|
|
7
|
-
super(null, power, root);
|
|
8
|
-
if (typeof value !== "number") {
|
|
9
|
-
throw `The number ${value} is not a valid value.`;
|
|
10
|
-
}
|
|
11
|
-
this._number = value;
|
|
12
|
-
}
|
|
13
|
-
get value() {
|
|
14
|
-
return Math.pow(this._number, this.root / this.root);
|
|
15
|
-
}
|
|
16
|
-
get number() {
|
|
17
|
-
return this._number;
|
|
18
|
-
}
|
|
19
|
-
set number(value) {
|
|
20
|
-
this._number = value;
|
|
21
|
-
}
|
|
22
|
-
makeTeX() {
|
|
23
|
-
return this.texPower(this.texRoot(this._number.toString()));
|
|
24
|
-
}
|
|
25
|
-
makeDisplay(numberOfFactors, position) {
|
|
26
|
-
return this.displayPower(this.displayRoot(this._number.toString()));
|
|
27
|
-
}
|
|
28
|
-
derivative(variable) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
integrate(variable) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
hasVariable(variable) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
reduce() {
|
|
38
|
-
// Reduce the power / root value
|
|
39
|
-
super.reduce();
|
|
40
|
-
if (this.power > 1) {
|
|
41
|
-
this.number = this.number ** this.power;
|
|
42
|
-
this.power = 1;
|
|
43
|
-
}
|
|
44
|
-
if (this.power < -1) {
|
|
45
|
-
this.number = this.number ** (-this.power);
|
|
46
|
-
this.power = -1;
|
|
47
|
-
}
|
|
48
|
-
if (this.root > 1) {
|
|
49
|
-
// Maybe it's a perfect root ?
|
|
50
|
-
if (Number.isSafeInteger(Math.pow(this.number, 1 / this.root))) {
|
|
51
|
-
this.number = Math.pow(this.number, 1 / this.root);
|
|
52
|
-
this.root = 1;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.ExpFactorNumber = ExpFactorNumber;
|
|
59
|
-
//# sourceMappingURL=ExpFactorNumber.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorNumber.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorNumber.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAE1D,MAAa,eAAgB,SAAQ,4BAAgB;IAGjD,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,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAI,MAAM,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvE,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,KAAK,CAAA;IAChB,CAAC;IAED,MAAM;QACF,gCAAgC;QAChC,KAAK,CAAC,MAAM,EAAE,CAAA;QAEd,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QACD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;SAClB;QAED,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,8BAA8B;YAC9B,IAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC;gBACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;aAChB;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AArED,0CAqEC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Expression } from "../internals";
|
|
2
|
-
import { ExpressionFactor } from "../internals";
|
|
3
|
-
export declare class ExpFactorPower extends ExpressionFactor {
|
|
4
|
-
get powerArgument(): Expression;
|
|
5
|
-
set powerArgument(value: Expression);
|
|
6
|
-
private _powerArgument;
|
|
7
|
-
constructor(radical: Expression, power: Expression, power2?: number, root?: number);
|
|
8
|
-
derivative(variable: string): Expression;
|
|
9
|
-
integrate(variable: string): Expression;
|
|
10
|
-
makeTeX(): string;
|
|
11
|
-
getArguments(): Expression[];
|
|
12
|
-
makeDisplay(numberOfFactors?: number, position?: number): string;
|
|
13
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpFactorPower = void 0;
|
|
4
|
-
const internals_1 = require("../internals");
|
|
5
|
-
class ExpFactorPower extends internals_1.ExpressionFactor {
|
|
6
|
-
get powerArgument() {
|
|
7
|
-
return this._powerArgument;
|
|
8
|
-
}
|
|
9
|
-
set powerArgument(value) {
|
|
10
|
-
this._powerArgument = value;
|
|
11
|
-
}
|
|
12
|
-
constructor(radical, power, power2, root) {
|
|
13
|
-
super(radical, power2, root);
|
|
14
|
-
this._powerArgument = power;
|
|
15
|
-
}
|
|
16
|
-
derivative(variable) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
integrate(variable) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
makeTeX() {
|
|
23
|
-
let tex = `{ ${this.argument.tex} }^{ ${this._powerArgument.tex} }`;
|
|
24
|
-
return this.texPowerAndRoot(this.wrapWithParentheses(tex));
|
|
25
|
-
}
|
|
26
|
-
getArguments() {
|
|
27
|
-
return [this.argument, this.powerArgument];
|
|
28
|
-
}
|
|
29
|
-
makeDisplay(numberOfFactors, position) {
|
|
30
|
-
let display = `( ${this.argument.display} )^( ${this._powerArgument.display} )`;
|
|
31
|
-
return this.displayPowerAndRoot(this.wrapWithParentheses(display, false));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ExpFactorPower = ExpFactorPower;
|
|
35
|
-
//# sourceMappingURL=ExpFactorPower.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;IAChD,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;IAGD,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;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,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"}
|