math-exercises 1.3.47 → 1.3.50

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 (112) hide show
  1. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts.map +1 -1
  2. package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +21 -21
  3. package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts.map +1 -1
  4. package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +13 -11
  5. package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts.map +1 -1
  6. package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +4 -7
  7. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts.map +1 -1
  8. package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +10 -4
  9. package/lib/exercises/complex/addComplex.d.ts +4 -0
  10. package/lib/exercises/complex/addComplex.d.ts.map +1 -0
  11. package/lib/exercises/complex/addComplex.js +66 -0
  12. package/lib/exercises/complex/mutiplyComplex.d.ts +4 -0
  13. package/lib/exercises/complex/mutiplyComplex.d.ts.map +1 -0
  14. package/lib/exercises/complex/mutiplyComplex.js +65 -0
  15. package/lib/exercises/complex/reAndIm.d.ts +4 -0
  16. package/lib/exercises/complex/reAndIm.d.ts.map +1 -0
  17. package/lib/exercises/complex/reAndIm.js +79 -0
  18. package/lib/exercises/exercise.d.ts +3 -2
  19. package/lib/exercises/exercise.d.ts.map +1 -1
  20. package/lib/exercises/exercises.d.ts.map +1 -1
  21. package/lib/exercises/exercises.js +20 -0
  22. package/lib/exercises/functions/affines/template.d.ts +4 -0
  23. package/lib/exercises/functions/affines/template.d.ts.map +1 -0
  24. package/lib/exercises/functions/affines/template.js +51 -0
  25. package/lib/exercises/functions/basics/inverseImageFunctionGeogebra.js +2 -2
  26. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts +4 -0
  27. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.d.ts.map +1 -0
  28. package/lib/exercises/functions/trinoms/alphaBetaFromDevForm.js +63 -0
  29. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts +4 -0
  30. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.d.ts.map +1 -0
  31. package/lib/exercises/functions/trinoms/alphaBetaInCanonicalForm.js +91 -0
  32. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts +4 -0
  33. package/lib/exercises/functions/trinoms/canonicalFromDevForm.d.ts.map +1 -0
  34. package/lib/exercises/functions/trinoms/canonicalFromDevForm.js +58 -0
  35. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts +4 -0
  36. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.d.ts.map +1 -0
  37. package/lib/exercises/functions/trinoms/extremumFromCanonicalForm.js +84 -0
  38. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts +4 -0
  39. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.d.ts.map +1 -0
  40. package/lib/exercises/functions/trinoms/extremumTypeFromAlgebricForm.js +59 -0
  41. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts +4 -0
  42. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.d.ts.map +1 -0
  43. package/lib/exercises/functions/trinoms/variationsFromAlgebricForm.js +59 -0
  44. package/lib/exercises/probaStat/medianList.js +1 -1
  45. package/lib/exercises/probaStat/probabilityTree.js +6 -6
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/math/complex/complex.d.ts +12 -0
  48. package/lib/math/complex/complex.d.ts.map +1 -0
  49. package/lib/math/complex/complex.js +24 -0
  50. package/lib/math/polynomials/trinom.d.ts +24 -0
  51. package/lib/math/polynomials/trinom.d.ts.map +1 -0
  52. package/lib/math/polynomials/trinom.js +67 -0
  53. package/lib/tree/nodes/complex/complexNode.d.ts +15 -0
  54. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -0
  55. package/lib/tree/nodes/complex/complexNode.js +43 -0
  56. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  57. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  58. package/lib/tree/nodes/functions/cosNode.js +4 -0
  59. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  60. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  61. package/lib/tree/nodes/functions/expNode.js +4 -0
  62. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  63. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  64. package/lib/tree/nodes/functions/logNode.js +4 -0
  65. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  66. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  67. package/lib/tree/nodes/functions/oppositeNode.js +4 -0
  68. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  69. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  70. package/lib/tree/nodes/functions/sinNode.js +4 -0
  71. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -0
  72. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  73. package/lib/tree/nodes/functions/sqrtNode.js +4 -0
  74. package/lib/tree/nodes/node.d.ts +1 -0
  75. package/lib/tree/nodes/node.d.ts.map +1 -1
  76. package/lib/tree/nodes/numbers/constantNode.d.ts +1 -0
  77. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  78. package/lib/tree/nodes/numbers/constantNode.js +4 -0
  79. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  80. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  81. package/lib/tree/nodes/numbers/numberNode.js +4 -0
  82. package/lib/tree/nodes/operators/addNode.d.ts +1 -0
  83. package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
  84. package/lib/tree/nodes/operators/addNode.js +4 -0
  85. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  86. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  87. package/lib/tree/nodes/operators/divideNode.js +4 -0
  88. package/lib/tree/nodes/operators/equalNode.d.ts +1 -0
  89. package/lib/tree/nodes/operators/equalNode.d.ts.map +1 -1
  90. package/lib/tree/nodes/operators/equalNode.js +4 -0
  91. package/lib/tree/nodes/operators/fractionNode.d.ts +1 -0
  92. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  93. package/lib/tree/nodes/operators/fractionNode.js +4 -0
  94. package/lib/tree/nodes/operators/multiplyNode.d.ts +1 -0
  95. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  96. package/lib/tree/nodes/operators/multiplyNode.js +4 -0
  97. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  98. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  99. package/lib/tree/nodes/operators/powerNode.js +4 -0
  100. package/lib/tree/nodes/operators/substractNode.d.ts +1 -0
  101. package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -1
  102. package/lib/tree/nodes/operators/substractNode.js +4 -0
  103. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  104. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  105. package/lib/tree/nodes/variables/variableNode.js +4 -0
  106. package/lib/tree/parsers/simplify.d.ts +1 -0
  107. package/lib/tree/parsers/simplify.d.ts.map +1 -1
  108. package/lib/tree/parsers/simplify.js +9 -1
  109. package/lib/utils/diceFlip.d.ts +2 -0
  110. package/lib/utils/diceFlip.d.ts.map +1 -0
  111. package/lib/utils/diceFlip.js +12 -0
  112. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ import { Node, NodeType } from '../node';
2
+ import { Complex } from '../../../math/complex/complex';
3
+ export declare class ComplexNode implements Node {
4
+ tex: string;
5
+ mathString: string;
6
+ re: number;
7
+ im: number;
8
+ type: NodeType;
9
+ constructor(re: number, im: number, tex?: string, mathString?: string);
10
+ toMathString(): string;
11
+ toTex(): string;
12
+ toMathjs(): import("mathjs").Complex;
13
+ toComplex(): Complex;
14
+ }
15
+ //# sourceMappingURL=complexNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/complex/complexNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,qBAAa,WAAY,YAAW,IAAI;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAmB;gBAErB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAyBrE,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAGR,SAAS;CAGV"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComplexNode = void 0;
4
+ const mathjs_1 = require("mathjs");
5
+ const node_1 = require("../node");
6
+ const complex_1 = require("../../../math/complex/complex");
7
+ class ComplexNode {
8
+ constructor(re, im, tex, mathString) {
9
+ this.type = node_1.NodeType.number;
10
+ this.re = re;
11
+ this.im = im;
12
+ const reTex = re === 0 ? '' : re.toString();
13
+ const imTex = im === 0
14
+ ? ''
15
+ : im === 1
16
+ ? re === 0
17
+ ? 'i'
18
+ : '+i'
19
+ : im === -1
20
+ ? '-i'
21
+ : im > 0
22
+ ? re === 0
23
+ ? `${im}i`
24
+ : `+${im}i`
25
+ : `${im}i`;
26
+ const formatedTex = re === 0 && im === 0 ? '0' : `${reTex}${imTex}`;
27
+ this.tex = tex || formatedTex;
28
+ this.mathString = mathString || this.tex;
29
+ }
30
+ toMathString() {
31
+ return `${this.mathString ? this.mathString : this.tex}`;
32
+ }
33
+ toTex() {
34
+ return `${this.tex}`;
35
+ }
36
+ toMathjs() {
37
+ return (0, mathjs_1.complex)(this.re, this.im);
38
+ }
39
+ toComplex() {
40
+ return new complex_1.Complex(this.re, this.im);
41
+ }
42
+ }
43
+ exports.ComplexNode = ComplexNode;
@@ -5,6 +5,7 @@ export declare class CosNode extends FunctionNode implements Node {
5
5
  constructor(child: Node);
6
6
  toMathString(): string;
7
7
  toTex(): string;
8
+ toMathjs(): number;
8
9
  simplify(): Node;
9
10
  }
10
11
  //# sourceMappingURL=cosNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/cosNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"cosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/cosNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ;IAIR,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CosNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const functionNode_1 = require("./functionNode");
6
7
  class CosNode extends functionNode_1.FunctionNode {
@@ -14,6 +15,9 @@ class CosNode extends functionNode_1.FunctionNode {
14
15
  toTex() {
15
16
  return `\\cos\\left(${this.child.toTex()}\\right)`;
16
17
  }
18
+ toMathjs() {
19
+ return (0, mathjs_1.cos)(this.child.toMathjs());
20
+ }
17
21
  simplify() {
18
22
  return this;
19
23
  }
@@ -5,6 +5,7 @@ export declare class ExpNode extends FunctionNode implements Node {
5
5
  constructor(child: Node);
6
6
  toMathString(): string;
7
7
  toTex(): string;
8
+ toMathjs(): number;
8
9
  simplify(): Node;
9
10
  }
10
11
  //# sourceMappingURL=expNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAIR,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExpNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const functionNode_1 = require("./functionNode");
6
7
  class ExpNode extends functionNode_1.FunctionNode {
@@ -14,6 +15,9 @@ class ExpNode extends functionNode_1.FunctionNode {
14
15
  toTex() {
15
16
  return `e^{${this.child.toTex()}}`;
16
17
  }
18
+ toMathjs() {
19
+ return (0, mathjs_1.exp)(this.child.toMathjs());
20
+ }
17
21
  simplify() {
18
22
  return this;
19
23
  }
@@ -5,6 +5,7 @@ export declare class LogNode extends FunctionNode implements Node {
5
5
  constructor(child: Node);
6
6
  toMathString(): string;
7
7
  toTex(): string;
8
+ toMathjs(): any;
8
9
  simplify(): Node;
9
10
  }
10
11
  //# sourceMappingURL=logNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/logNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"logNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/logNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAGR,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LogNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const functionNode_1 = require("./functionNode");
6
7
  class LogNode extends functionNode_1.FunctionNode {
@@ -14,6 +15,9 @@ class LogNode extends functionNode_1.FunctionNode {
14
15
  toTex() {
15
16
  return `\\ln\\left(${this.child.toTex()}\\right)`;
16
17
  }
18
+ toMathjs() {
19
+ return (0, mathjs_1.log)(this.child.toMathjs());
20
+ }
17
21
  simplify() {
18
22
  return this;
19
23
  }
@@ -4,5 +4,6 @@ export declare class OppositeNode extends FunctionNode implements Node {
4
4
  constructor(child: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): number;
7
8
  }
8
9
  //# sourceMappingURL=oppositeNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oppositeNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/oppositeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;gBAChD,KAAK,EAAE,IAAI;IAGvB,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAUhB"}
1
+ {"version":3,"file":"oppositeNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/oppositeNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;gBAChD,KAAK,EAAE,IAAI;IAGvB,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAWf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OppositeNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const operatorNode_1 = require("../operators/operatorNode");
6
7
  const functionNode_1 = require("./functionNode");
@@ -22,5 +23,8 @@ class OppositeNode extends functionNode_1.FunctionNode {
22
23
  childTex = `(${childTex})`;
23
24
  return `-${childTex}`;
24
25
  }
26
+ toMathjs() {
27
+ return (0, mathjs_1.unaryMinus)(this.child.toMathjs());
28
+ }
25
29
  }
26
30
  exports.OppositeNode = OppositeNode;
@@ -5,6 +5,7 @@ export declare class SinNode extends FunctionNode implements Node {
5
5
  constructor(child: Node);
6
6
  toMathString(): string;
7
7
  toTex(): string;
8
+ toMathjs(): number;
8
9
  simplify(): Node;
9
10
  }
10
11
  //# sourceMappingURL=sinNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sinNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sinNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"sinNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sinNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,KAAK,EAAE,IAAI;IAIvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAGR,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SinNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const functionNode_1 = require("./functionNode");
6
7
  class SinNode extends functionNode_1.FunctionNode {
@@ -14,6 +15,9 @@ class SinNode extends functionNode_1.FunctionNode {
14
15
  toTex() {
15
16
  return `\\sin\\left(${this.child.toTex()}\\right)`;
16
17
  }
18
+ toMathjs() {
19
+ return (0, mathjs_1.sin)(this.child.toMathjs());
20
+ }
17
21
  simplify() {
18
22
  return this;
19
23
  }
@@ -4,6 +4,7 @@ export declare class SqrtNode extends FunctionNode implements Node {
4
4
  type: NodeType;
5
5
  constructor(child: Node);
6
6
  toMathString(): string;
7
+ toMathjs(): number | import("mathjs").Complex;
7
8
  toTex(): string;
8
9
  }
9
10
  //# sourceMappingURL=sqrtNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqrtNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sqrtNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,QAAS,SAAQ,YAAa,YAAW,IAAI;IACxD,IAAI,EAAE,QAAQ,CAAqB;gBACvB,KAAK,EAAE,IAAI;IAGvB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"sqrtNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sqrtNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,qBAAa,QAAS,SAAQ,YAAa,YAAW,IAAI;IACxD,IAAI,EAAE,QAAQ,CAAqB;gBACvB,KAAK,EAAE,IAAI;IAGvB,YAAY,IAAI,MAAM;IAGtB,QAAQ;IAGR,KAAK,IAAI,MAAM;CAGhB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SqrtNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const functionNode_1 = require("./functionNode");
6
7
  class SqrtNode extends functionNode_1.FunctionNode {
@@ -11,6 +12,9 @@ class SqrtNode extends functionNode_1.FunctionNode {
11
12
  toMathString() {
12
13
  return `sqrt(${this.child.toMathString()})`;
13
14
  }
15
+ toMathjs() {
16
+ return (0, mathjs_1.sqrt)(this.child.toMathjs());
17
+ }
14
18
  toTex() {
15
19
  return `\\sqrt{${this.child.toTex()}}`;
16
20
  }
@@ -9,5 +9,6 @@ export interface Node {
9
9
  type: NodeType;
10
10
  toMathString: () => string;
11
11
  toTex: () => string;
12
+ toMathjs: () => any;
12
13
  }
13
14
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/node.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,MAAM,CAAC;CAErB"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/node.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,CAAC;CAErB"}
@@ -6,5 +6,6 @@ export declare class ConstantNode implements Node {
6
6
  constructor(tex: string, mathString: string);
7
7
  toMathString(): string;
8
8
  toTex(): string;
9
+ toMathjs(): import("mathjs").MathNode;
9
10
  }
10
11
  //# sourceMappingURL=constantNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constantNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/constantNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAa,YAAW,IAAI;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAK3C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"constantNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/constantNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAa,YAAW,IAAI;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAqB;gBAEvB,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAK3C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConstantNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  class ConstantNode {
6
7
  constructor(tex, mathString) {
@@ -14,5 +15,8 @@ class ConstantNode {
14
15
  toTex() {
15
16
  return `${this.tex}`;
16
17
  }
18
+ toMathjs() {
19
+ return (0, mathjs_1.parse)(this.mathString);
20
+ }
17
21
  }
18
22
  exports.ConstantNode = ConstantNode;
@@ -7,5 +7,6 @@ export declare class NumberNode implements Node {
7
7
  constructor(value: number, tex?: string, mathString?: string);
8
8
  toMathString(): string;
9
9
  toTex(): string;
10
+ toMathjs(): import("mathjs").MathNode;
10
11
  }
11
12
  //# sourceMappingURL=numberNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,UAAW,YAAW,IAAI;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;gBAErB,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAM5D,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAMhB"}
1
+ {"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,UAAW,YAAW,IAAI;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;gBAErB,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAM5D,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,QAAQ;CAMT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NumberNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  class NumberNode {
6
7
  constructor(value, tex, mathString) {
@@ -15,5 +16,8 @@ class NumberNode {
15
16
  toTex() {
16
17
  return `${this.tex}`;
17
18
  }
19
+ toMathjs() {
20
+ return (0, mathjs_1.parse)(this.toMathString());
21
+ }
18
22
  }
19
23
  exports.NumberNode = NumberNode;
@@ -4,5 +4,6 @@ export declare class AddNode extends OperatorNode implements Node {
4
4
  constructor(leftChild: Node, rightChild: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): any;
7
8
  }
8
9
  //# sourceMappingURL=addNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/addNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;gBAC3C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAK7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;CAIhB"}
1
+ {"version":3,"file":"addNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/addNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,OAAQ,SAAQ,YAAa,YAAW,IAAI;gBAC3C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAK7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AddNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const operatorNode_1 = require("./operatorNode");
5
6
  class AddNode extends operatorNode_1.OperatorNode {
6
7
  constructor(leftChild, rightChild) {
@@ -15,5 +16,8 @@ class AddNode extends operatorNode_1.OperatorNode {
15
16
  const rightTex = this.rightChild.toTex();
16
17
  return `${this.leftChild.toTex()} ${rightTex[0] === '-' ? '' : '+ '}${rightTex}`;
17
18
  }
19
+ toMathjs() {
20
+ return (0, mathjs_1.add)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
21
+ }
18
22
  }
19
23
  exports.AddNode = AddNode;
@@ -8,5 +8,6 @@ export declare class DivideNode extends OperatorNode implements Node {
8
8
  constructor(leftChild: Node, rightChild: Node);
9
9
  toMathString(): string;
10
10
  toTex(): string;
11
+ toMathjs(): number | import("mathjs").Unit;
11
12
  }
12
13
  //# sourceMappingURL=divideNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"divideNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/divideNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,UAAW,SAAQ,YAAa,YAAW,IAAI;IAC1D;;;OAGG;gBACS,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;CAqBhB"}
1
+ {"version":3,"file":"divideNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/divideNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,UAAW,SAAQ,YAAa,YAAW,IAAI;IAC1D;;;OAGG;gBACS,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAqBf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DivideNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const operatorNode_1 = require("./operatorNode");
6
7
  class DivideNode extends operatorNode_1.OperatorNode {
@@ -30,5 +31,8 @@ class DivideNode extends operatorNode_1.OperatorNode {
30
31
  rightTex = `(${rightTex})`;
31
32
  return `${leftTex} \\div ${rightTex}`;
32
33
  }
34
+ toMathjs() {
35
+ return (0, mathjs_1.divide)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
36
+ }
33
37
  }
34
38
  exports.DivideNode = DivideNode;
@@ -4,5 +4,6 @@ export declare class EqualNode extends OperatorNode implements Node {
4
4
  constructor(leftChild: Node, rightChild: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): boolean | import("mathjs").MathCollection;
7
8
  }
8
9
  //# sourceMappingURL=equalNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/equalNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAG7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"equalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/equalNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAG7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAIf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EqualNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const operatorNode_1 = require("./operatorNode");
5
6
  class EqualNode extends operatorNode_1.OperatorNode {
6
7
  constructor(leftChild, rightChild) {
@@ -12,5 +13,8 @@ class EqualNode extends operatorNode_1.OperatorNode {
12
13
  toTex() {
13
14
  return `${this.leftChild.toTex()} = ${this.rightChild.toTex()}`;
14
15
  }
16
+ toMathjs() {
17
+ return (0, mathjs_1.equal)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
18
+ }
15
19
  }
16
20
  exports.EqualNode = EqualNode;
@@ -8,5 +8,6 @@ export declare class FractionNode extends OperatorNode implements Node {
8
8
  constructor(leftChild: Node, rightChild: Node);
9
9
  toMathString(): string;
10
10
  toTex(): string;
11
+ toMathjs(): import("mathjs").Fraction;
11
12
  }
12
13
  //# sourceMappingURL=fractionNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;IAC5D;;;OAGG;gBACS,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;IAC5D;;;OAGG;gBACS,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAIf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FractionNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const operatorNode_1 = require("./operatorNode");
5
6
  class FractionNode extends operatorNode_1.OperatorNode {
6
7
  /**
@@ -16,5 +17,8 @@ class FractionNode extends operatorNode_1.OperatorNode {
16
17
  toTex() {
17
18
  return `\\frac{${this.leftChild.toTex()}}{${this.rightChild.toTex()}}`;
18
19
  }
20
+ toMathjs() {
21
+ return (0, mathjs_1.fraction)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
22
+ }
19
23
  }
20
24
  exports.FractionNode = FractionNode;
@@ -4,5 +4,6 @@ export declare class MultiplyNode extends OperatorNode implements Node {
4
4
  constructor(leftChild: Node, rightChild: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): any;
7
8
  }
8
9
  //# sourceMappingURL=multiplyNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiplyNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/multiplyNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;gBAChD,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAY7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;CA6BhB"}
1
+ {"version":3,"file":"multiplyNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/multiplyNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,YAAa,SAAQ,YAAa,YAAW,IAAI;gBAChD,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAY7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IA8Bf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MultiplyNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const functionNode_1 = require("../functions/functionNode");
5
6
  const node_1 = require("../node");
6
7
  const operatorNode_1 = require("./operatorNode");
@@ -39,5 +40,8 @@ class MultiplyNode extends operatorNode_1.OperatorNode {
39
40
  }
40
41
  return `${leftTex}${showTimesSign ? '\\times ' : ''}${rightTex}`;
41
42
  }
43
+ toMathjs() {
44
+ return (0, mathjs_1.multiply)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
45
+ }
42
46
  }
43
47
  exports.MultiplyNode = MultiplyNode;
@@ -4,5 +4,6 @@ export declare class PowerNode extends OperatorNode implements Node {
4
4
  constructor(leftChild: Node, rightChild: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): import("mathjs").MathType;
7
8
  }
8
9
  //# sourceMappingURL=powerNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;CAkBhB"}
1
+ {"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,SAAU,SAAQ,YAAa,YAAW,IAAI;gBAC7C,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAI7C,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAmBf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PowerNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const operatorNode_1 = require("./operatorNode");
6
7
  class PowerNode extends operatorNode_1.OperatorNode {
@@ -29,5 +30,8 @@ class PowerNode extends operatorNode_1.OperatorNode {
29
30
  leftTex = `(${leftTex})`;
30
31
  return `${leftTex}^{${rightTex}}`;
31
32
  }
33
+ toMathjs() {
34
+ return (0, mathjs_1.pow)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
35
+ }
32
36
  }
33
37
  exports.PowerNode = PowerNode;
@@ -4,5 +4,6 @@ export declare class SubstractNode extends OperatorNode implements Node {
4
4
  constructor(leftChild: Node, rightChild: Node);
5
5
  toMathString(): string;
6
6
  toTex(): string;
7
+ toMathjs(): any;
7
8
  }
8
9
  //# sourceMappingURL=substractNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"substractNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/substractNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,aAAc,SAAQ,YAAa,YAAW,IAAI;gBACjD,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAG7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAahB"}
1
+ {"version":3,"file":"substractNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/substractNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,aAAc,SAAQ,YAAa,YAAW,IAAI;gBACjD,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAG7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAaf,QAAQ;CAGT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubstractNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  const operatorNode_1 = require("./operatorNode");
6
7
  class SubstractNode extends operatorNode_1.OperatorNode {
@@ -20,5 +21,8 @@ class SubstractNode extends operatorNode_1.OperatorNode {
20
21
  rightTex = `(${rightTex})`;
21
22
  return `${leftTex} - ${rightTex}`;
22
23
  }
24
+ toMathjs() {
25
+ return (0, mathjs_1.subtract)(this.leftChild.toMathjs(), this.rightChild.toMathjs());
26
+ }
23
27
  }
24
28
  exports.SubstractNode = SubstractNode;
@@ -5,5 +5,6 @@ export declare class VariableNode implements Node {
5
5
  constructor(name: string);
6
6
  toTex(): string;
7
7
  toMathString(): string;
8
+ toMathjs(): import("mathjs").MathNode;
8
9
  }
9
10
  //# sourceMappingURL=variableNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variableNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/variables/variableNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAa,YAAW,IAAI;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,WAAqB;gBAEb,IAAI,EAAE,MAAM;IAKxB,KAAK,IAAI,MAAM;IAGf,YAAY,IAAI,MAAM;CAMvB"}
1
+ {"version":3,"file":"variableNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/variables/variableNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAa,YAAW,IAAI;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,WAAqB;gBAEb,IAAI,EAAE,MAAM;IAKxB,KAAK,IAAI,MAAM;IAGf,YAAY,IAAI,MAAM;IAGtB,QAAQ;CAMT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VariableNode = void 0;
4
+ const mathjs_1 = require("mathjs");
4
5
  const node_1 = require("../node");
5
6
  class VariableNode {
6
7
  constructor(name) {
@@ -15,5 +16,8 @@ class VariableNode {
15
16
  toMathString() {
16
17
  return `${this.name}`;
17
18
  }
19
+ toMathjs() {
20
+ return (0, mathjs_1.parse)(this.name);
21
+ }
18
22
  }
19
23
  exports.VariableNode = VariableNode;
@@ -1,3 +1,4 @@
1
1
  import { Node } from '../nodes/node';
2
+ export declare const simplifyComplex: (node: Node) => Node;
2
3
  export declare const simplifyNode: (node: Node) => Node;
3
4
  //# sourceMappingURL=simplify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../../src/tree/parsers/simplify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAyBrC,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,IAEzC,CAAC"}
1
+ {"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../../src/tree/parsers/simplify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0BrC,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,IAE5C,CAAC;AAMF,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,IAEzC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simplifyNode = void 0;
3
+ exports.simplifyNode = exports.simplifyComplex = void 0;
4
4
  const mathjs_1 = require("mathjs");
5
5
  const oppositeNode_1 = require("../nodes/functions/oppositeNode");
6
6
  const sqrtNode_1 = require("../nodes/functions/sqrtNode");
@@ -16,6 +16,14 @@ const logNode_1 = require("../nodes/functions/logNode");
16
16
  const expNode_1 = require("../nodes/functions/expNode");
17
17
  const cosNode_1 = require("../../tree/nodes/functions/cosNode");
18
18
  const sinNode_1 = require("../../tree/nodes/functions/sinNode");
19
+ const complexNode_1 = require("../nodes/complex/complexNode");
20
+ const simplifyComplex = (node) => {
21
+ return mathjsComplexToNode((0, mathjs_1.complex)(node.toMathjs()));
22
+ };
23
+ exports.simplifyComplex = simplifyComplex;
24
+ const mathjsComplexToNode = (complex) => {
25
+ return new complexNode_1.ComplexNode(complex.re, complex.im);
26
+ };
19
27
  const simplifyNode = (node) => {
20
28
  return mathjsNodeToNode((0, mathjs_1.simplify)(node.toMathString()));
21
29
  };