math-exercises 2.0.4 → 2.0.6

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 (90) hide show
  1. package/lib/exercises/derivation/derivative/lnDerivativeThree.d.ts.map +1 -1
  2. package/lib/exercises/primitive/sinCosPrimitive.d.ts.map +1 -1
  3. package/lib/exercises/primitive/sinUCosUPrimitive.d.ts.map +1 -1
  4. package/lib/math/complex/complex.d.ts +1 -1
  5. package/lib/math/geometry/point.d.ts +4 -4
  6. package/lib/math/geometry/point.d.ts.map +1 -1
  7. package/lib/math/geometry/triangles.d.ts +7 -7
  8. package/lib/math/geometry/triangles.d.ts.map +1 -1
  9. package/lib/math/geometry/triangles.js +21 -11
  10. package/lib/math/numbers/decimals/decimal.d.ts +5 -4
  11. package/lib/math/numbers/decimals/decimal.d.ts.map +1 -1
  12. package/lib/math/numbers/integer/integer.d.ts +3 -3
  13. package/lib/math/numbers/integer/integer.d.ts.map +1 -1
  14. package/lib/math/numbers/integer/power.d.ts +4 -3
  15. package/lib/math/numbers/integer/power.d.ts.map +1 -1
  16. package/lib/math/numbers/nombre.d.ts +3 -2
  17. package/lib/math/numbers/nombre.d.ts.map +1 -1
  18. package/lib/math/numbers/rationals/rational.d.ts +4 -2
  19. package/lib/math/numbers/rationals/rational.d.ts.map +1 -1
  20. package/lib/math/numbers/reals/extendedRingElement.d.ts +1 -1
  21. package/lib/math/numbers/reals/real.d.ts +4 -3
  22. package/lib/math/numbers/reals/real.d.ts.map +1 -1
  23. package/lib/math/polynomials/polynomial.d.ts +4 -3
  24. package/lib/math/polynomials/polynomial.d.ts.map +1 -1
  25. package/lib/math/polynomials/trinom.d.ts +10 -6
  26. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  27. package/lib/server.js +6 -0
  28. package/lib/tree/nodes/algebraicNode.d.ts +3 -1
  29. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  30. package/lib/tree/nodes/complex/complexNode.d.ts +5 -4
  31. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  32. package/lib/tree/nodes/functions/absNode.d.ts +2 -1
  33. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  34. package/lib/tree/nodes/functions/absNode.js +3 -0
  35. package/lib/tree/nodes/functions/cosNode.d.ts +2 -1
  36. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  37. package/lib/tree/nodes/functions/cosNode.js +3 -0
  38. package/lib/tree/nodes/functions/expNode.d.ts +2 -1
  39. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  40. package/lib/tree/nodes/functions/expNode.js +3 -0
  41. package/lib/tree/nodes/functions/logNode.d.ts +2 -1
  42. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  43. package/lib/tree/nodes/functions/logNode.js +3 -0
  44. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  45. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  46. package/lib/tree/nodes/functions/oppositeNode.js +6 -0
  47. package/lib/tree/nodes/functions/sinNode.d.ts +2 -1
  48. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  49. package/lib/tree/nodes/functions/sinNode.js +3 -0
  50. package/lib/tree/nodes/functions/sqrtNode.d.ts +2 -1
  51. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  52. package/lib/tree/nodes/functions/sqrtNode.js +3 -0
  53. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  54. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  55. package/lib/tree/nodes/geometry/lengthNode.js +7 -0
  56. package/lib/tree/nodes/geometry/vectorNode.d.ts +2 -3
  57. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  58. package/lib/tree/nodes/numbers/constantNode.d.ts +3 -1
  59. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  60. package/lib/tree/nodes/numbers/constantNode.js +5 -1
  61. package/lib/tree/nodes/numbers/infiniteNode.d.ts.map +1 -1
  62. package/lib/tree/nodes/numbers/infiniteNode.js +3 -3
  63. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  64. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  65. package/lib/tree/nodes/numbers/numberNode.js +3 -0
  66. package/lib/tree/nodes/numbers/piNode.d.ts +1 -1
  67. package/lib/tree/nodes/numbers/piNode.d.ts.map +1 -1
  68. package/lib/tree/nodes/numbers/piNode.js +1 -1
  69. package/lib/tree/nodes/operators/addNode.d.ts +2 -1
  70. package/lib/tree/nodes/operators/addNode.d.ts.map +1 -1
  71. package/lib/tree/nodes/operators/addNode.js +3 -0
  72. package/lib/tree/nodes/operators/divideNode.d.ts +2 -1
  73. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  74. package/lib/tree/nodes/operators/divideNode.js +3 -0
  75. package/lib/tree/nodes/operators/fractionNode.d.ts +2 -1
  76. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  77. package/lib/tree/nodes/operators/fractionNode.js +3 -0
  78. package/lib/tree/nodes/operators/multiplyNode.d.ts +1 -1
  79. package/lib/tree/nodes/operators/multiplyNode.d.ts.map +1 -1
  80. package/lib/tree/nodes/operators/multiplyNode.js +12 -10
  81. package/lib/tree/nodes/operators/powerNode.d.ts +3 -2
  82. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  83. package/lib/tree/nodes/operators/powerNode.js +6 -0
  84. package/lib/tree/nodes/operators/substractNode.d.ts +6 -4
  85. package/lib/tree/nodes/operators/substractNode.d.ts.map +1 -1
  86. package/lib/tree/nodes/operators/substractNode.js +3 -0
  87. package/lib/tree/nodes/variables/variableNode.d.ts +3 -1
  88. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  89. package/lib/tree/nodes/variables/variableNode.js +6 -0
  90. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lnDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EASb,MAAM,0BAA0B,CAAC;AAalC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA8FF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
1
+ {"version":3,"file":"lnDerivativeThree.d.ts","sourceRoot":"","sources":["../../../../src/exercises/derivation/derivative/lnDerivativeThree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EASb,MAAM,0BAA0B,CAAC;AAclC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA8FF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sinCosPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitive/sinCosPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAclC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CA2B7D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,YAAY,CAAC,WAAW,CA4BpE,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,GAAG,CAAC,WAAW,CAYzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,WAAW,CAYrD,CAAC"}
1
+ {"version":3,"file":"sinCosPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitive/sinCosPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAelC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CA2B7D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,YAAY,CAAC,WAAW,CA4BpE,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,GAAG,CAAC,WAAW,CAYzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,WAAW,CAYrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sinUCosUPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitive/sinUCosUPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAkBlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,WAAW,CA0B/D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,YAAY,CAAC,WAAW,CA8BtE,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,WAAW,CAa3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
1
+ {"version":3,"file":"sinUCosUPrimitive.d.ts","sourceRoot":"","sources":["../../../src/exercises/primitive/sinUCosUPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,YAAY,EAEZ,iBAAiB,EACjB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAmBlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,WAAW,CA0B/D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,YAAY,CAAC,WAAW,CA8BtE,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,WAAW,CAa3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
@@ -19,7 +19,7 @@ export declare class Complex {
19
19
  opposite(): Complex;
20
20
  conjugate(): Complex;
21
21
  toArgumentTree(): NumberNode | FractionNode | OppositeNode | import("../../tree/nodes/numbers/constantNode").ConstantNode | undefined;
22
- toModuleTree(): import("../../tree/nodes/node").Node;
22
+ toModuleTree(): import("../../tree/nodes/algebraicNode").AlgebraicNode;
23
23
  toTree(): ComplexNode;
24
24
  }
25
25
  //# sourceMappingURL=complex.d.ts.map
@@ -1,13 +1,13 @@
1
- import { Node } from "../../tree/nodes/node";
2
1
  import { MathSet } from "../sets/mathSet";
2
+ import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
3
3
  export declare abstract class PointConstructor {
4
4
  static random(domainX?: MathSet, domainY?: MathSet): Point;
5
5
  }
6
6
  export declare class Point {
7
7
  name: string;
8
- x: Node;
9
- y: Node;
10
- constructor(name: string, x: Node, y: Node);
8
+ x: AlgebraicNode;
9
+ y: AlgebraicNode;
10
+ constructor(name: string, x: AlgebraicNode, y: AlgebraicNode);
11
11
  toTex(): string;
12
12
  toTexWithCoords(): string;
13
13
  toCoords(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1C,8BAAsB,gBAAgB;IACpC,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,OAAqC,EAC9C,OAAO,GAAE,OAAqC,GAC7C,KAAK;CAOT;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IACR,CAAC,EAAE,IAAI,CAAC;gBACI,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI;IAM1C,KAAK,IAAI,MAAM;IAIf,eAAe,IAAI,MAAM;IAGzB,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAMpB,UAAU,IAAI,MAAM;IAMpB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAM,GAAG,KAAK;IAiBrC,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;CAK7B;AAED;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/point.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,8BAAsB,gBAAgB;IACpC,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,OAAqC,EAC9C,OAAO,GAAE,OAAqC,GAC7C,KAAK;CAOT;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,aAAa,CAAC;IACjB,CAAC,EAAE,aAAa,CAAC;gBACL,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa;IAM5D,KAAK,IAAI,MAAM;IAIf,eAAe,IAAI,MAAM;IAGzB,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAMpB,UAAU,IAAI,MAAM;IAMpB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAM,GAAG,KAAK;IAiBrC,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;CAK7B;AAED;;;;;;;;;;;;GAYG"}
@@ -1,12 +1,12 @@
1
- import { Point } from './point';
2
- import { Node } from '../../tree/nodes/node';
1
+ import { Point } from "./point";
2
+ import { SqrtNode } from "../../tree/nodes/functions/sqrtNode";
3
3
  export declare abstract class TriangleConstructor {
4
- static createRandomRightTriangle({ minRapport, maxRapport, names }: {
4
+ static createRandomRightTriangle({ minRapport, maxRapport, names, }: {
5
5
  minRapport?: number | undefined;
6
6
  maxRapport?: number | undefined;
7
7
  names?: string[] | undefined;
8
8
  }): Triangle;
9
- static createRandomTriangle({ minAngle, maxAngle, names }: {
9
+ static createRandomTriangle({ minAngle, maxAngle, names, }: {
10
10
  minAngle?: number | undefined;
11
11
  maxAngle?: number | undefined;
12
12
  names?: string[] | undefined;
@@ -31,9 +31,9 @@ export declare class Triangle {
31
31
  getSideBnumber(): number;
32
32
  getSideCnumber(): number;
33
33
  getTriangleName(): string;
34
- getSideAnode(): Node;
35
- getSideBnode(): Node;
36
- getSideCnode(): Node;
34
+ getSideAnode(): SqrtNode;
35
+ getSideBnode(): SqrtNode;
36
+ getSideCnode(): SqrtNode;
37
37
  getAngleA(): number;
38
38
  getAngleB(): number;
39
39
  getAngleC(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"triangles.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/triangles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO7C,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,yBAAyB,CAAC,EAAE,UAAc,EAAE,UAAc,EAAE,KAAuB,EAAE;;;;KAAA,GAAG,QAAQ;IAkBvG,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAe,EAAE,QAAc,EAAE,KAAuB,EAAE;;;;KAAA,GAAG,QAAQ;CAmBpG;AAED,KAAK,qBAAqB,GAAG;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,QAAQ;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;gBAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAM1D,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,IAAI;IASpB,YAAY,IAAI,IAAI;IASpB,YAAY,IAAI,IAAI;IASpB,SAAS,IAAI,MAAM;IAOnB,SAAS,IAAI,MAAM;IAOnB,SAAS,IAAI,MAAM;IAOnB,YAAY,IAAI,MAAM;IAItB,OAAO,IAAI,MAAM;IAKjB,OAAO,IAAI,OAAO;IAOlB,aAAa,IAAI,OAAO;IAIxB,WAAW,IAAI,OAAO;IAQtB,SAAS,IAAI,OAAO;IAQpB,aAAa,IAAI,MAAM;IAOvB,gBAAgB,CAAC,EACf,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAiDnC,cAAc,IAAI,MAAM,EAAE;IAS1B,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;CAGvB"}
1
+ {"version":3,"file":"triangles.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/triangles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAI/D,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,yBAAyB,CAAC,EAC/B,UAAc,EACd,UAAc,EACd,KAAuB,GACxB;;;;KAAA,GAAG,QAAQ;IAkBZ,MAAM,CAAC,oBAAoB,CAAC,EAC1B,QAAe,EACf,QAAc,EACd,KAAuB,GACxB;;;;KAAA,GAAG,QAAQ;CA+Bb;AAED,KAAK,qBAAqB,GAAG;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,QAAQ;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;gBAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAM1D,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,YAAY;IAeZ,YAAY;IAeZ,YAAY;IAeZ,SAAS,IAAI,MAAM;IASnB,SAAS,IAAI,MAAM;IASnB,SAAS,IAAI,MAAM;IASnB,YAAY,IAAI,MAAM;IAMtB,OAAO,IAAI,MAAM;IAUjB,OAAO,IAAI,OAAO;IAOlB,aAAa,IAAI,OAAO;IAOxB,WAAW,IAAI,OAAO;IAQtB,SAAS,IAAI,OAAO;IAQpB,aAAa,IAAI,MAAM;IAOvB,gBAAgB,CAAC,EACf,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAsEnC,cAAc,IAAI,MAAM,EAAE;IAyB1B,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;CAGvB"}
@@ -9,7 +9,7 @@ const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
9
9
  const sqrtNode_1 = require("../../tree/nodes/functions/sqrtNode");
10
10
  const randint_1 = require("../utils/random/randint");
11
11
  class TriangleConstructor {
12
- static createRandomRightTriangle({ minRapport = 0, maxRapport = 5, names = ['A', 'B', 'C'] }) {
12
+ static createRandomRightTriangle({ minRapport = 0, maxRapport = 5, names = ["A", "B", "C"], }) {
13
13
  let pointA, pointB, pointC, d1, d2;
14
14
  do {
15
15
  const xA = (0, randint_1.randint)(-10, 11);
@@ -26,7 +26,7 @@ class TriangleConstructor {
26
26
  } while (!d1 || !d2 || d1 / d2 < minRapport || d1 / d2 > maxRapport);
27
27
  return new Triangle(pointA, pointB, pointC);
28
28
  }
29
- static createRandomTriangle({ minAngle = 0.69, maxAngle = 1.5, names = ['A', 'B', 'C'] }) {
29
+ static createRandomTriangle({ minAngle = 0.69, maxAngle = 1.5, names = ["A", "B", "C"], }) {
30
30
  let pointA, pointB, pointC, triangle;
31
31
  do {
32
32
  pointA = new point_1.Point(names[0], new numberNode_1.NumberNode((0, randint_1.randint)(-10, 11)), new numberNode_1.NumberNode((0, randint_1.randint)(-10, 11)));
@@ -73,23 +73,32 @@ class Triangle {
73
73
  return new sqrtNode_1.SqrtNode(new addNode_1.AddNode(new powerNode_1.PowerNode(new substractNode_1.SubstractNode(this.vertexA.x, this.vertexB.x), new numberNode_1.NumberNode(2)), new powerNode_1.PowerNode(new substractNode_1.SubstractNode(this.vertexC.y, this.vertexB.y), new numberNode_1.NumberNode(2))));
74
74
  }
75
75
  getAngleA() {
76
- return Math.acos((this.getSideBnumber() ** 2 + this.getSideCnumber() ** 2 - this.getSideAnumber() ** 2) /
76
+ return Math.acos((this.getSideBnumber() ** 2 +
77
+ this.getSideCnumber() ** 2 -
78
+ this.getSideAnumber() ** 2) /
77
79
  (2 * this.getSideBnumber() * this.getSideCnumber()));
78
80
  }
79
81
  getAngleB() {
80
- return Math.acos((this.getSideAnumber() ** 2 + this.getSideCnumber() ** 2 - this.getSideBnumber() ** 2) /
82
+ return Math.acos((this.getSideAnumber() ** 2 +
83
+ this.getSideCnumber() ** 2 -
84
+ this.getSideBnumber() ** 2) /
81
85
  (2 * this.getSideAnumber() * this.getSideCnumber()));
82
86
  }
83
87
  getAngleC() {
84
- return Math.acos((this.getSideAnumber() ** 2 + this.getSideBnumber() ** 2 - this.getSideCnumber() ** 2) /
88
+ return Math.acos((this.getSideAnumber() ** 2 +
89
+ this.getSideBnumber() ** 2 -
90
+ this.getSideCnumber() ** 2) /
85
91
  (2 * this.getSideAnumber() * this.getSideBnumber()));
86
92
  }
87
93
  getPerimeter() {
88
- return this.getSideAnumber() + this.getSideBnumber() + this.getSideCnumber();
94
+ return (this.getSideAnumber() + this.getSideBnumber() + this.getSideCnumber());
89
95
  }
90
96
  getArea() {
91
97
  const s = this.getPerimeter() / 2;
92
- return Math.sqrt(s * (s - this.getSideAnumber()) * (s - this.getSideBnumber()) * (s - this.getSideCnumber()));
98
+ return Math.sqrt(s *
99
+ (s - this.getSideAnumber()) *
100
+ (s - this.getSideBnumber()) *
101
+ (s - this.getSideCnumber()));
93
102
  }
94
103
  isRight() {
95
104
  if (Math.abs(Math.cos(this.getAngleA())) < 0.001)
@@ -101,7 +110,8 @@ class Triangle {
101
110
  return false;
102
111
  }
103
112
  isEquilateral() {
104
- return this.getSideAnumber() === this.getSideBnumber() && this.getSideAnumber() === this.getSideCnumber();
113
+ return (this.getSideAnumber() === this.getSideBnumber() &&
114
+ this.getSideAnumber() === this.getSideCnumber());
105
115
  }
106
116
  isIsosceles() {
107
117
  return (this.getSideAnumber() === this.getSideBnumber() ||
@@ -120,7 +130,7 @@ class Triangle {
120
130
  return this.vertexB.name;
121
131
  if (Math.abs(Math.cos(this.getAngleC())) < 0.001)
122
132
  return this.vertexC.name;
123
- return '';
133
+ return "";
124
134
  }
125
135
  generateCommands({ highlightedAngle: highlightedAngle, colorHighlightedAngle: colorHighlightedAngle, showLabels: showLabels, setCaptions: setCaptions, highlightedSide: highlightedSide, colorHighlightedSide: colorHighlightedSide, showAxes, showGrid, }) {
126
136
  let commands = [
@@ -141,9 +151,9 @@ class Triangle {
141
151
  ];
142
152
  if (this.isRight())
143
153
  commands.push(`alpha = Angle(${this.vertexB.name},${this.vertexA.name},${this.vertexC.name}, Line(${this.vertexB.name},${this.vertexA.name}))`, `ShowLabel(alpha, false)`);
144
- const defautColor = 'Red';
154
+ const defautColor = "Red";
145
155
  if (highlightedAngle) {
146
- let temp = [''];
156
+ let temp = [""];
147
157
  if (highlightedAngle === this.vertexB.name)
148
158
  temp = [this.vertexA.name, this.vertexB.name, this.vertexC.name];
149
159
  if (highlightedAngle === this.vertexC.name)
@@ -1,4 +1,5 @@
1
- import { Node } from "../../../tree/nodes/node";
1
+ import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
2
+ import { MultiplyNode } from "../../../tree/nodes/operators/multiplyNode";
2
3
  import { Nombre, NumberType } from "../nombre";
3
4
  export declare abstract class DecimalConstructor {
4
5
  static randomFracPart(precision: number, leadingZeros?: number): string;
@@ -21,8 +22,8 @@ export declare class Decimal implements Nombre {
21
22
  */
22
23
  round(precision: number): Nombre;
23
24
  multiplyByPowerOfTen(power: number): Decimal;
24
- toScientificPart(): Node;
25
- toScientificNotation(): Node;
26
- toTree(): Node;
25
+ toScientificPart(): NumberNode;
26
+ toScientificNotation(): NumberNode | MultiplyNode;
27
+ toTree(): NumberNode;
27
28
  }
28
29
  //# sourceMappingURL=decimal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/decimals/decimal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAK7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM;IAW1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;CAMrD;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,aAAsB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;gBACR,KAAK,EAAE,MAAM;IASzB;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAsEhC,oBAAoB,CAAC,KAAK,EAAE,MAAM;IA2BlC,gBAAgB,IAAI,IAAI;IAgBxB,oBAAoB,IAAI,IAAI;IAmB5B,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/decimals/decimal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM;IAW1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;CAMrD;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,aAAsB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;gBACR,KAAK,EAAE,MAAM;IASzB;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAsEhC,oBAAoB,CAAC,KAAK,EAAE,MAAM;IA2BlC,gBAAgB;IAgBhB,oBAAoB;IAmBpB,MAAM;CAGP"}
@@ -1,4 +1,4 @@
1
- import { Node } from "../../../tree/nodes/node";
1
+ import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
2
2
  import { Nombre, NumberType } from "../nombre";
3
3
  import { Rational } from "../rationals/rational";
4
4
  export declare abstract class IntegerConstructor {
@@ -11,11 +11,11 @@ export declare class Integer implements Nombre {
11
11
  tex: string;
12
12
  type: NumberType;
13
13
  constructor(value: number, tex?: string);
14
- toTree(): Node;
14
+ toTree(): NumberNode;
15
15
  round(precision: number): Integer;
16
16
  divide(nb: Nombre): Nombre;
17
17
  multiply(nb: Nombre): Rational | Integer;
18
18
  opposite(): Integer;
19
- add(nb: Nombre): Nombre;
19
+ add(nb: Nombre): Nombre | Integer;
20
20
  }
21
21
  //# sourceMappingURL=integer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/integer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;IAGrD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAW;IAGnC,MAAM,CAAC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,EAAE;CAYtB;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMvC,MAAM,IAAI,IAAI;IAId,KAAK,CAAC,SAAS,EAAE,MAAM;IAkCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAc1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAYxC,QAAQ;IAGR,GAAG,CAAC,EAAE,EAAE,MAAM;CAYf"}
1
+ {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/integer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,8BAAsB,kBAAkB;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;IAGrD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAW;IAGnC,MAAM,CAAC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,EAAE;CAYtB;AAED,qBAAa,OAAQ,YAAW,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMvC,MAAM;IAIN,KAAK,CAAC,SAAS,EAAE,MAAM;IAkCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAc1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAYxC,QAAQ;IAGR,GAAG,CAAC,EAAE,EAAE,MAAM;CAYf"}
@@ -1,4 +1,5 @@
1
- import { Node } from "../../../tree/nodes/node";
1
+ import { NumberNode } from "../../../tree/nodes/numbers/numberNode";
2
+ import { PowerNode } from "../../../tree/nodes/operators/powerNode";
2
3
  import { Nombre, NumberType } from "../nombre";
3
4
  export declare class Power implements Nombre {
4
5
  value: number;
@@ -7,8 +8,8 @@ export declare class Power implements Nombre {
7
8
  operand: number;
8
9
  power: number;
9
10
  constructor(a: number, b: number);
10
- simplify(): Node;
11
+ simplify(): NumberNode | PowerNode;
11
12
  toDecimalWriting(): Nombre;
12
- toTree(): Node;
13
+ toTree(): PowerNode;
13
14
  }
14
15
  //# sourceMappingURL=power.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,KAAM,YAAW,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;gBACF,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOhC,QAAQ,IAAI,IAAI;IAShB,gBAAgB,IAAI,MAAM;IAmB1B,MAAM,IAAI,IAAI;CAMf"}
1
+ {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/integer/power.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,KAAM,YAAW,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;gBACF,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOhC,QAAQ;IASR,gBAAgB,IAAI,MAAM;IAmB1B,MAAM;CAMP"}
@@ -1,4 +1,5 @@
1
- import { Node, NodeOptions } from "../../tree/nodes/node";
1
+ import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
2
+ import { NodeOptions } from "../../tree/nodes/node";
2
3
  import { Integer } from "./integer/integer";
3
4
  export declare enum NumberType {
4
5
  Integer = 0,
@@ -10,7 +11,7 @@ export interface Nombre {
10
11
  value: number;
11
12
  tex: string;
12
13
  type: NumberType;
13
- toTree: (opts?: NodeOptions) => Node;
14
+ toTree: (opts?: NodeOptions) => AlgebraicNode;
14
15
  }
15
16
  export declare abstract class NombreConstructor {
16
17
  static random(): import("./decimals/decimal").Decimal | Integer | import("./rationals/rational").Rational | import("./reals/real").Real;
@@ -1 +1 @@
1
- {"version":3,"file":"nombre.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/nombre.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;CACtC;AAED,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM;CAkBd"}
1
+ {"version":3,"file":"nombre.d.ts","sourceRoot":"","sources":["../../../src/math/numbers/nombre.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,aAAa,CAAC;CAC/C;AAED,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM;CAkBd"}
@@ -1,4 +1,6 @@
1
- import { Node, NodeOptions } from "../../../tree/nodes/node";
1
+ import { OppositeNode } from "../../../tree/nodes/functions/oppositeNode";
2
+ import { NodeOptions } from "../../../tree/nodes/node";
3
+ import { FractionNode } from "../../../tree/nodes/operators/fractionNode";
2
4
  import { Integer } from "../integer/integer";
3
5
  import { Nombre, NumberType } from "../nombre";
4
6
  export declare abstract class RationalConstructor {
@@ -22,7 +24,7 @@ export declare class Rational implements Nombre {
22
24
  multiply(nb: Nombre): Rational | Integer;
23
25
  divide(nb: Nombre): Nombre;
24
26
  opposite(): Rational;
25
- toTree(opts?: NodeOptions): Node;
27
+ toTree(opts?: NodeOptions): FractionNode | OppositeNode;
26
28
  isIrreductible(): boolean;
27
29
  simplify(): Integer | Rational;
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rational.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/rationals/rational.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAM1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,mBAAmB;IACvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,MAAW;IAW7C,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW;IAO1C,MAAM,CAAC,0BAA0B,CAAC,GAAG,GAAE,MAAW;CAQnD;AAED,qBAAa,QAAS,YAAW,MAAM;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;gBAEL,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAYlD,KAAK;IAML,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAkBvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAgBxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB1B,QAAQ,IAAI,QAAQ;IAIpB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IAgBhC,cAAc;IAId,QAAQ,IAAI,OAAO,GAAG,QAAQ;CAY/B"}
1
+ {"version":3,"file":"rational.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/rationals/rational.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,mBAAmB;IACvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,MAAW;IAW7C,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW;IAO1C,MAAM,CAAC,0BAA0B,CAAC,GAAG,GAAE,MAAW;CAQnD;AAED,qBAAa,QAAS,YAAW,MAAM;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;gBAEL,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAYlD,KAAK;IAML,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAkBvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAgBxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB1B,QAAQ,IAAI,QAAQ;IAIpB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW;IAgBzB,cAAc;IAId,QAAQ,IAAI,OAAO,GAAG,QAAQ;CAY/B"}
@@ -10,6 +10,6 @@ export declare class ExtendedRingElement {
10
10
  b: number;
11
11
  algebraicElement: Nombre;
12
12
  constructor(a: number, b: number, algebraicElement: Nombre);
13
- toTree(): import("../../../tree/nodes/node").Node | NumberNode | SubstractNode;
13
+ toTree(): import("../../../tree/nodes/algebraicNode").AlgebraicNode | NumberNode | SubstractNode;
14
14
  }
15
15
  //# sourceMappingURL=extendedRingElement.d.ts.map
@@ -1,4 +1,5 @@
1
- import { Node } from "../../../tree/nodes/node";
1
+ import { AlgebraicNode } from "../../../tree/nodes/algebraicNode";
2
+ import { SqrtNode } from "../../../tree/nodes/functions/sqrtNode";
2
3
  import { Nombre, NumberType } from "../nombre";
3
4
  export declare abstract class RealConstructor {
4
5
  static random(): Real;
@@ -8,7 +9,7 @@ export declare class Real implements Nombre {
8
9
  tex: string;
9
10
  type: NumberType;
10
11
  constructor(value: number, tex: string);
11
- toTree(): Node;
12
+ toTree(): AlgebraicNode;
12
13
  }
13
14
  export declare abstract class SquareRootConstructor {
14
15
  /**
@@ -27,6 +28,6 @@ export declare class SquareRoot extends Real {
27
28
  getSimplifiedCoeffs(): [number, number];
28
29
  simplify(): Nombre;
29
30
  toTex(): string;
30
- toTree(): Node;
31
+ toTree(): SqrtNode;
31
32
  }
32
33
  //# sourceMappingURL=real.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/real.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAQ7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,8BAAsB,eAAe;IACnC,MAAM,CAAC,MAAM;CAUd;AACD,qBAAa,IAAK,YAAW,MAAM;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBACL,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtC,MAAM,IAAI,IAAI;CAIf;AAED,8BAAsB,qBAAqB;IACzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EACxB,kBAA0B,EAC1B,SAAc,GACf;;;KAAA,GAAG,UAAU;IASd,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW,GAAG,UAAU;CAIxD;AAED,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAK3B,cAAc;IAMd,mBAAmB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBvC,QAAQ,IAAI,MAAM;IAyBlB,KAAK,IAAI,MAAM;IAIf,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../../../src/math/numbers/reals/real.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAS/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,8BAAsB,eAAe;IACnC,MAAM,CAAC,MAAM;CAUd;AACD,qBAAa,IAAK,YAAW,MAAM;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;gBACL,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtC,MAAM,IAAI,aAAa;CAIxB;AAED,8BAAsB,qBAAqB;IACzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EACxB,kBAA0B,EAC1B,SAAc,GACf;;;KAAA,GAAG,UAAU;IASd,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAW,GAAG,UAAU;CAIxD;AAED,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAK3B,cAAc;IAMd,mBAAmB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBvC,QAAQ,IAAI,MAAM;IAyBlB,KAAK,IAAI,MAAM;IAIf,MAAM;CAGP"}
@@ -1,5 +1,6 @@
1
- import { Node, NodeOptions } from "../../tree/nodes/node";
1
+ import { NodeOptions } from "../../tree/nodes/node";
2
2
  import { NumberNode } from "../../tree/nodes/numbers/numberNode";
3
+ import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
3
4
  export declare abstract class PolynomialConstructor {
4
5
  static randomWithOrder(order: number, variable?: string): Polynomial;
5
6
  static random(maxOrder: number, variable?: string): Polynomial;
@@ -35,11 +36,11 @@ export declare class Polynomial {
35
36
  scalarDivide(n: number): Polynomial;
36
37
  opposite(): Polynomial;
37
38
  derivate(): Polynomial;
38
- integrateToNode(opts?: NodeOptions): Node;
39
+ integrateToNode(opts?: NodeOptions): AlgebraicNode;
39
40
  calculate(x: number): number;
40
41
  getLimit(to: "+\\infty" | "-\\infty"): string;
41
42
  getLimitNode(to: "+\\infty" | "-\\infty"): NumberNode | import("../../tree/nodes/numbers/constantNode").ConstantNode;
42
- toTree(opts?: NodeOptions): Node;
43
+ toTree(opts?: NodeOptions): AlgebraicNode;
43
44
  toTex(): string;
44
45
  toString(): string;
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/polynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAejE,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAa5D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IActD;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAY;IAoBxB,MAAM,CAAC,4BAA4B,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAY;IAqBxB,MAAM,CAAC,UAAU,CACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,UAAU,GAAG,UAAU,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,MAAY;CAmCzB;AAED,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAY;IAY1D,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAM9B,QAAQ,IAAI,MAAM,EAAE;IAkCpB,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAyBvC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAQ7B,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAuBnC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAMnC,QAAQ,IAAI,UAAU;IAOtB,QAAQ,IAAI,UAAU;IAmBtB,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BlC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAO5B,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM;IAiB7C,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IAiBxC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IAuChC,KAAK,IAAI,MAAM;IAyBf,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/polynomial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAcjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAa5D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IActD;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAY;IAoBxB,MAAM,CAAC,4BAA4B,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAY;IAqBxB,MAAM,CAAC,UAAU,CACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,UAAU,GAAG,UAAU,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,MAAY;CAmCzB;AAED,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAY;IAY1D,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAM9B,QAAQ,IAAI,MAAM,EAAE;IAkCpB,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAyBvC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAQ7B,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAuBnC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAMnC,QAAQ,IAAI,UAAU;IAOtB,QAAQ,IAAI,UAAU;IAmBtB,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BlC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAO5B,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM;IAiB7C,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IAiBxC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW;IAuCzB,KAAK,IAAI,MAAM;IAyBf,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,8 +1,12 @@
1
- import { Node } from "../../tree/nodes/node";
2
1
  import { NumberNode } from "../../tree/nodes/numbers/numberNode";
2
+ import { AddNode } from "../../tree/nodes/operators/addNode";
3
+ import { FractionNode } from "../../tree/nodes/operators/fractionNode";
4
+ import { MultiplyNode } from "../../tree/nodes/operators/multiplyNode";
3
5
  import { Point } from "../geometry/point";
4
6
  import { MathSet } from "../sets/mathSet";
5
7
  import { Polynomial } from "./polynomial";
8
+ import { OppositeNode } from "../../tree/nodes/functions/oppositeNode";
9
+ import { AlgebraicNode } from "../../tree/nodes/algebraicNode";
6
10
  export declare abstract class TrinomConstructor {
7
11
  static random(domainA?: MathSet, domainB?: MathSet, domainC?: MathSet): Trinom;
8
12
  static randomCanonical(domainA?: MathSet, domainAlpha?: MathSet, domainBeta?: MathSet): Trinom;
@@ -17,14 +21,14 @@ export declare class Trinom extends Polynomial {
17
21
  getDelta(): number;
18
22
  getDeltaNode(): NumberNode;
19
23
  getRoots(): number[];
20
- getRootsNode(): Node[];
24
+ getRootsNode(): AlgebraicNode[];
21
25
  getRootsEquationSolutionTex(): string;
22
26
  getAlpha(): number;
23
- getAlphaNode(): Node;
27
+ getAlphaNode(): NumberNode | FractionNode | OppositeNode;
24
28
  getBeta(): number;
25
- getBetaNode(): Node;
26
- getFactorizedForm(): Node;
27
- getCanonicalForm(): Node;
29
+ getBetaNode(): NumberNode | FractionNode | OppositeNode;
30
+ getFactorizedForm(): AlgebraicNode;
31
+ getCanonicalForm(): AddNode | MultiplyNode;
28
32
  getSommet(): Point;
29
33
  }
30
34
  //# sourceMappingURL=trinom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trinom.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/trinom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAOjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,OAER,EACD,OAAO,GAAE,OAAqC,EAC9C,OAAO,GAAE,OAAqC,GAC7C,MAAM;IAST,MAAM,CAAC,eAAe,CACpB,OAAO,GAAE,OAER,EACD,WAAW,GAAE,OAAqC,EAClD,UAAU,GAAE,OAAqC,GAChD,MAAM;IAUT,MAAM,CAAC,gBAAgB,CACrB,OAAO,GAAE,OAER,EACD,QAAQ,GAAE,OAAqC,EAC/C,QAAQ,GAAE,OAAqC,GAC9C,MAAM;CAcV;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;gBACL,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAQnE,QAAQ;IAGR,YAAY,IAAI,UAAU;IAI1B,QAAQ;IAUR,YAAY,IAAI,IAAI,EAAE;IAoDtB,2BAA2B;IAO3B,QAAQ;IAGR,YAAY,IAAI,IAAI;IAIpB,OAAO;IAIP,WAAW,IAAI,IAAI;IAInB,iBAAiB,IAAI,IAAI;IA4CzB,gBAAgB,IAAI,IAAI;IAsBxB,SAAS;CAGV"}
1
+ {"version":3,"file":"trinom.d.ts","sourceRoot":"","sources":["../../../src/math/polynomials/trinom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,OAER,EACD,OAAO,GAAE,OAAqC,EAC9C,OAAO,GAAE,OAAqC,GAC7C,MAAM;IAST,MAAM,CAAC,eAAe,CACpB,OAAO,GAAE,OAER,EACD,WAAW,GAAE,OAAqC,EAClD,UAAU,GAAE,OAAqC,GAChD,MAAM;IAUT,MAAM,CAAC,gBAAgB,CACrB,OAAO,GAAE,OAER,EACD,QAAQ,GAAE,OAAqC,EAC/C,QAAQ,GAAE,OAAqC,GAC9C,MAAM;CAcV;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;gBACL,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY;IAQnE,QAAQ;IAGR,YAAY,IAAI,UAAU;IAI1B,QAAQ;IAUR,YAAY,IAAI,aAAa,EAAE;IAoD/B,2BAA2B;IAO3B,QAAQ;IAGR,YAAY;IAIZ,OAAO;IAIP,WAAW;IAIX,iBAAiB;IA4CjB,gBAAgB;IAsBhB,SAAS;CAGV"}
package/lib/server.js CHANGED
@@ -35,6 +35,10 @@ const express_1 = __importDefault(require("express"));
35
35
  const body_parser_1 = __importDefault(require("body-parser"));
36
36
  const dotenv_1 = __importDefault(require("dotenv"));
37
37
  const cors_1 = __importDefault(require("cors"));
38
+ const multiplyNode_1 = require("./tree/nodes/operators/multiplyNode");
39
+ const numberNode_1 = require("./tree/nodes/numbers/numberNode");
40
+ const addNode_1 = require("./tree/nodes/operators/addNode");
41
+ const powerNode_1 = require("./tree/nodes/operators/powerNode");
38
42
  const jsonParser = body_parser_1.default.json();
39
43
  const allExercises = [...exercises];
40
44
  const runServer = () => {
@@ -45,6 +49,8 @@ const runServer = () => {
45
49
  app.get("/", (req, res) => {
46
50
  res.json(allExercises);
47
51
  });
52
+ const tree = new multiplyNode_1.MultiplyNode(new numberNode_1.NumberNode(3), new addNode_1.AddNode(new powerNode_1.SquareNode(new numberNode_1.NumberNode(4)), new powerNode_1.PowerNode(new numberNode_1.NumberNode(2), new numberNode_1.NumberNode(3))));
53
+ console.log(tree.evaluate({}));
48
54
  app.get("/exo", (req, res) => {
49
55
  const exoId = req.query.exoId;
50
56
  const exoIndex = allExercises.findIndex((exo) => exo.id == exoId);
@@ -1,4 +1,6 @@
1
- import { Node } from "./node";
1
+ import { Node, NodeOptions } from "./node";
2
2
  export interface AlgebraicNode extends Node {
3
+ evaluate: (vars: Record<string, number>) => number;
4
+ toEquivalentNodes: (opts?: NodeOptions) => AlgebraicNode[];
3
5
  }
4
6
  //# sourceMappingURL=algebraicNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"algebraicNode.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/algebraicNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,WAAW,aAAc,SAAQ,IAAI;CAE1C"}
1
+ {"version":3,"file":"algebraicNode.d.ts","sourceRoot":"","sources":["../../../src/tree/nodes/algebraicNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAc,SAAQ,IAAI;IAEzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IACnD,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,aAAa,EAAE,CAAC;CAC5D"}
@@ -1,11 +1,12 @@
1
1
  import { Node, NodeOptions, NodeType } from "../node";
2
+ import { AlgebraicNode } from "../algebraicNode";
2
3
  export declare class ComplexNode implements Node {
3
- re: Node;
4
- im: Node;
4
+ re: AlgebraicNode;
5
+ im: AlgebraicNode;
5
6
  opts?: NodeOptions;
6
7
  type: NodeType;
7
- constructor(re: Node, im: Node, opts?: NodeOptions);
8
- toEquivalentNodes(opts?: NodeOptions): Node[];
8
+ constructor(re: AlgebraicNode, im: AlgebraicNode, opts?: NodeOptions);
9
+ toEquivalentNodes(opts?: NodeOptions): AlgebraicNode[];
9
10
  toAllValidTexs(opts?: NodeOptions): string[];
10
11
  toMathString(): string;
11
12
  toTex(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"complexNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/complex/complexNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQtD,qBAAa,WAAY,YAAW,IAAI;IACtC,EAAE,EAAE,IAAI,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAmB;gBAErB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,WAAW;IAKlD,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE;IAkB7C,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAI5C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAiBhB"}
1
+ {"version":3,"file":"complexNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/complex/complexNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,WAAY,YAAW,IAAI;IACtC,EAAE,EAAE,aAAa,CAAC;IAClB,EAAE,EAAE,aAAa,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAmB;gBAErB,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAKpE,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAkBtD,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAI5C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;CAiBhB"}
@@ -9,8 +9,9 @@ export declare class AbsNode implements FunctionNode {
9
9
  constructor(child: AlgebraicNode);
10
10
  toMathString(): string;
11
11
  toTex(): string;
12
- toEquivalentNodes(): Node[];
12
+ toEquivalentNodes(): AlgebraicNode[];
13
13
  toAllValidTexs(): string[];
14
14
  simplify(): Node;
15
+ evaluate(vars: Record<string, number>): number;
15
16
  }
16
17
  //# sourceMappingURL=absNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"absNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/absNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBAEH,KAAK,EAAE,aAAa;IAMhC,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAOf,iBAAiB,IAAI,IAAI,EAAE;IAS3B,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"absNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/absNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBAEH,KAAK,EAAE,aAAa;IAMhC,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAOf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,IAAI,IAAI;IAIhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGtC"}
@@ -37,5 +37,8 @@ class AbsNode {
37
37
  simplify() {
38
38
  return this;
39
39
  }
40
+ evaluate(vars) {
41
+ return Math.abs(this.child.evaluate(vars));
42
+ }
40
43
  }
41
44
  exports.AbsNode = AbsNode;
@@ -8,9 +8,10 @@ export declare class CosNode implements FunctionNode {
8
8
  type: NodeType;
9
9
  constructor(child: AlgebraicNode);
10
10
  toMathString(): string;
11
- toEquivalentNodes(): Node[];
11
+ toEquivalentNodes(): AlgebraicNode[];
12
12
  toAllValidTexs(): string[];
13
13
  toTex(): string;
14
14
  simplify(): Node;
15
+ evaluate(vars: Record<string, number>): number;
15
16
  }
16
17
  //# sourceMappingURL=cosNode.d.ts.map
@@ -1 +1 @@
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,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBAEH,KAAK,EAAE,aAAa;IAMhC,YAAY,IAAI,MAAM;IAItB,iBAAiB,IAAI,IAAI,EAAE;IAS3B,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,IAAI,MAAM;IAQf,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,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBAEH,KAAK,EAAE,aAAa;IAMhC,YAAY,IAAI,MAAM;IAItB,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,IAAI,MAAM;IAQf,QAAQ,IAAI,IAAI;IAGhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGtC"}
@@ -37,5 +37,8 @@ class CosNode {
37
37
  simplify() {
38
38
  return this;
39
39
  }
40
+ evaluate(vars) {
41
+ return Math.cos(this.child.evaluate(vars));
42
+ }
40
43
  }
41
44
  exports.CosNode = CosNode;
@@ -10,8 +10,9 @@ export declare class ExpNode implements FunctionNode {
10
10
  constructor(child: AlgebraicNode, opts?: NodeOptions);
11
11
  toMathString(): string;
12
12
  toTex(): string;
13
- toEquivalentNodes(): Node[];
13
+ toEquivalentNodes(): AlgebraicNode[];
14
14
  toAllValidTexs(): string[];
15
15
  simplify(): Node;
16
+ evaluate(vars: Record<string, number>): number;
16
17
  }
17
18
  //# sourceMappingURL=expNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBACH,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAgBf,iBAAiB,IAAI,IAAI,EAAE;IAU3B,cAAc,IAAI,MAAM,EAAE;IAI1B,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,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;gBACH,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAgBf,iBAAiB,IAAI,aAAa,EAAE;IAUpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,IAAI;IAGhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGtC"}
@@ -49,5 +49,8 @@ class ExpNode {
49
49
  simplify() {
50
50
  return this;
51
51
  }
52
+ evaluate(vars) {
53
+ return Math.exp(this.child.evaluate(vars));
54
+ }
52
55
  }
53
56
  exports.ExpNode = ExpNode;
@@ -10,8 +10,9 @@ export declare class LogNode implements FunctionNode {
10
10
  constructor(child: AlgebraicNode, opts?: NodeOptions);
11
11
  toMathString(): string;
12
12
  toTex(): string;
13
- toEquivalentNodes(): Node[];
13
+ toEquivalentNodes(): AlgebraicNode[];
14
14
  toAllValidTexs(): string[];
15
15
  simplify(): Node;
16
+ evaluate(vars: Record<string, number>): number;
16
17
  }
17
18
  //# sourceMappingURL=logNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/logNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,IAAI,EAAE;IAS3B,cAAc,IAAI,MAAM,EAAE;IAG1B,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,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AACD,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,IAAI,IAAI;IAGhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGtC"}