math-exercises 3.0.169 → 3.0.171

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 (177) hide show
  1. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.d.ts +4 -3
  2. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.d.ts.map +1 -1
  3. package/lib/exercises/math/derivation/derivativeNumber/averageRateOfChangeAlgebraicExpression.js +236 -52
  4. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.d.ts +13 -0
  5. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.d.ts.map +1 -0
  6. package/lib/exercises/math/derivation/derivativeNumber/expressFAPlusH.js +225 -0
  7. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.d.ts +14 -0
  8. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.d.ts.map +1 -0
  9. package/lib/exercises/math/derivation/derivativeNumber/findAverageRateLimit.js +162 -0
  10. package/lib/exercises/math/derivation/derivativeNumber/index.d.ts +3 -0
  11. package/lib/exercises/math/derivation/derivativeNumber/index.d.ts.map +1 -1
  12. package/lib/exercises/math/derivation/derivativeNumber/index.js +3 -1
  13. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.d.ts +4 -1
  14. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.d.ts.map +1 -1
  15. package/lib/exercises/math/derivation/tangent/derivativeNumberReading.js +50 -9
  16. package/lib/exercises/math/derivation/variations/signVarTableFromDerivativeGraph.js +1 -1
  17. package/lib/exercises/math/derivation/variations/signVarTableFromGraph.js +1 -1
  18. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.d.ts +8 -0
  19. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.d.ts.map +1 -0
  20. package/lib/exercises/math/functions/trinoms/equation/findTwoNumbersFromSumAndProduct.js +182 -0
  21. package/lib/exercises/math/functions/trinoms/equation/index.d.ts +1 -0
  22. package/lib/exercises/math/functions/trinoms/equation/index.d.ts.map +1 -1
  23. package/lib/exercises/math/functions/trinoms/equation/index.js +1 -0
  24. package/lib/exercises/math/functions/trinoms/index.d.ts +1 -0
  25. package/lib/exercises/math/functions/trinoms/index.d.ts.map +1 -1
  26. package/lib/exercises/math/functions/trinoms/index.js +1 -0
  27. package/lib/exercises/math/functions/trinoms/problems/index.d.ts +4 -0
  28. package/lib/exercises/math/functions/trinoms/problems/index.d.ts.map +1 -0
  29. package/lib/exercises/math/functions/trinoms/problems/index.js +3 -0
  30. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts +11 -0
  31. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts.map +1 -0
  32. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.js +212 -0
  33. package/lib/exercises/math/functions/trinoms/problems/rectangleSizesFromPerimeterAndArea.d.ts +9 -0
  34. package/lib/exercises/math/functions/trinoms/problems/rectangleSizesFromPerimeterAndArea.d.ts.map +1 -0
  35. package/lib/exercises/math/functions/trinoms/problems/rectangleSizesFromPerimeterAndArea.js +202 -0
  36. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts +8 -0
  37. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts.map +1 -0
  38. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.js +174 -0
  39. package/lib/exercises/math/functions/trinoms/summitAndCanonical/findTrinomCanonicalFormFromGraph.js +2 -2
  40. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  41. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +22 -1
  42. package/lib/exercises/math/geometry/vectors/scalarProduct/alg/scalarProductIdentities.js +1 -1
  43. package/lib/exercises/math/probaStat/randomVariable/calculateProbaFromVATableLaw.d.ts +11 -0
  44. package/lib/exercises/math/probaStat/randomVariable/calculateProbaFromVATableLaw.d.ts.map +1 -0
  45. package/lib/exercises/math/probaStat/randomVariable/calculateProbaFromVATableLaw.js +232 -0
  46. package/lib/exercises/math/probaStat/randomVariable/index.d.ts +1 -0
  47. package/lib/exercises/math/probaStat/randomVariable/index.d.ts.map +1 -1
  48. package/lib/exercises/math/probaStat/randomVariable/index.js +1 -0
  49. package/lib/exercises/math/sequences/arithmetic/arithmeticVariations.js +1 -1
  50. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.js +1 -1
  51. package/lib/index.d.ts +43 -2
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/math/geometry/point.js +2 -2
  54. package/lib/math/geometry/segment.d.ts +1 -1
  55. package/lib/math/utils/random/randTupleInt.d.ts +1 -0
  56. package/lib/math/utils/random/randTupleInt.d.ts.map +1 -1
  57. package/lib/math/utils/random/randTupleInt.js +3 -0
  58. package/lib/playground.d.ts.map +1 -1
  59. package/lib/playground.js +1 -3
  60. package/lib/tree/nodes/algebraicNode.d.ts +2 -0
  61. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  62. package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
  63. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  64. package/lib/tree/nodes/complex/complexNode.js +3 -0
  65. package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
  66. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  67. package/lib/tree/nodes/equations/equalNode.js +3 -0
  68. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  69. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  70. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  71. package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
  72. package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
  73. package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
  74. package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
  75. package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
  76. package/lib/tree/nodes/equations/notEqualNode.js +3 -0
  77. package/lib/tree/nodes/functions/absNode.d.ts +1 -0
  78. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  79. package/lib/tree/nodes/functions/absNode.js +3 -0
  80. package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
  81. package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
  82. package/lib/tree/nodes/functions/arcSinNode.js +3 -0
  83. package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
  84. package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
  85. package/lib/tree/nodes/functions/arccosNode.js +3 -0
  86. package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
  87. package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
  88. package/lib/tree/nodes/functions/arctanNode.js +3 -0
  89. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  90. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  91. package/lib/tree/nodes/functions/cosNode.js +3 -0
  92. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  93. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  94. package/lib/tree/nodes/functions/expNode.js +3 -0
  95. package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
  96. package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
  97. package/lib/tree/nodes/functions/integralNode.js +3 -0
  98. package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
  99. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  100. package/lib/tree/nodes/functions/log10Node.js +3 -0
  101. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  102. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  103. package/lib/tree/nodes/functions/logNode.js +3 -0
  104. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  105. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  106. package/lib/tree/nodes/functions/oppositeNode.js +6 -0
  107. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  108. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  109. package/lib/tree/nodes/functions/sinNode.js +3 -0
  110. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -2
  111. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  112. package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
  113. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  114. package/lib/tree/nodes/functions/tanNode.js +3 -0
  115. package/lib/tree/nodes/geometry/degree.d.ts +1 -0
  116. package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
  117. package/lib/tree/nodes/geometry/degree.js +3 -0
  118. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  119. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  120. package/lib/tree/nodes/geometry/lengthNode.js +3 -0
  121. package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
  122. package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
  123. package/lib/tree/nodes/geometry/pointNode.js +3 -0
  124. package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
  125. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  126. package/lib/tree/nodes/geometry/vectorNode.js +3 -0
  127. package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
  128. package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
  129. package/lib/tree/nodes/inequations/inequationNode.js +3 -0
  130. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  131. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  132. package/lib/tree/nodes/inequations/inequationSolutionNode.js +3 -0
  133. package/lib/tree/nodes/numbers/constantNode.d.ts +3 -2
  134. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  135. package/lib/tree/nodes/numbers/constantNode.js +7 -1
  136. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  137. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  138. package/lib/tree/nodes/numbers/numberNode.js +6 -0
  139. package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
  140. package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
  141. package/lib/tree/nodes/numbers/percentNode.js +3 -0
  142. package/lib/tree/nodes/operators/addNode.js +17 -14
  143. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +1 -0
  144. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  145. package/lib/tree/nodes/operators/binomialCoefficientNode.js +3 -0
  146. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  147. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  148. package/lib/tree/nodes/operators/divideNode.js +3 -0
  149. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  150. package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
  151. package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
  152. package/lib/tree/nodes/operators/limitNode.js +3 -0
  153. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  154. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  155. package/lib/tree/nodes/operators/powerNode.js +6 -0
  156. package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
  157. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  158. package/lib/tree/nodes/polynomials/monomNode.js +3 -0
  159. package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
  160. package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
  161. package/lib/tree/nodes/polynomials/trinomNode.js +3 -0
  162. package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
  163. package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
  164. package/lib/tree/nodes/sets/belongsNode.js +3 -0
  165. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  166. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  167. package/lib/tree/nodes/sets/discreteSetNode.js +3 -0
  168. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  169. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  170. package/lib/tree/nodes/sets/intervalNode.js +3 -0
  171. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  172. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  173. package/lib/tree/nodes/sets/unionIntervalNode.js +3 -0
  174. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  175. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  176. package/lib/tree/nodes/variables/variableNode.js +3 -0
  177. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constantNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/constantNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAIzD;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,YAAW,aAAa;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ1D,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAMf,cAAc;IAGd,aAAa;;;;;;IAQb,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxD,UAAU,IAEe,aAAa;IAEtC,mBAAmB;CAOpB"}
1
+ {"version":3,"file":"constantNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/constantNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAErE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAIzD;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,YAAW,aAAa;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ1D,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAMf,cAAc;IAGd,aAAa;;;;;;IAQb,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe;IAGhC,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe;IAK1C,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxD,UAAU,IAEe,aAAa;IAEtC,mBAAmB;CAOpB"}
@@ -45,9 +45,15 @@ export class ConstantNode {
45
45
  evaluate() {
46
46
  return this.value;
47
47
  }
48
- simplify() {
48
+ simplify(_opts) {
49
49
  return this;
50
50
  }
51
+ toSimplificationTex(opts) {
52
+ const simp = this.simplify(opts);
53
+ if (simp.toTex() !== this.toTex())
54
+ return this.toTex() + "=" + simp.toTex();
55
+ return this.toTex();
56
+ }
51
57
  equals(node) {
52
58
  return isConstantNode(node) && node.tex === this.tex;
53
59
  }
@@ -26,6 +26,7 @@ export declare class NumberNode implements AlgebraicNode {
26
26
  toEquivalentNodes(): this[];
27
27
  evaluate(): number;
28
28
  simplify(opts?: SimplifyOptions): AlgebraicNode;
29
+ toSimplificationTex(opts?: SimplifyOptions): string;
29
30
  equals(node: AlgebraicNode): boolean;
30
31
  toDetailedEvaluation(): this;
31
32
  derivative(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AAM5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,IAAI,GACN,CAAC,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAE5C;AACD,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO;CAGhE;AACD,qBAAa,UAAW,YAAW,aAAa;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEjB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,WAAW;IASpB,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAiBrC,QAAQ;IAGR,aAAa;;;;IAMb,cAAc;IAOd,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAQ/C,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IACe,aAAa;IAGtC,MAAM,CAAC,cAAc,UAAO;IAI5B,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO;IAuBxC,mBAAmB;CAOpB"}
1
+ {"version":3,"file":"numberNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/numberNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AAM5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,IAAI,GACN,CAAC,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAE5C;AACD,8BAAsB,qBAAqB;IACzC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO;CAGhE;AACD,qBAAa,UAAW,YAAW,aAAa;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAmB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEjB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,WAAW;IASpB,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAiBrC,QAAQ;IAGR,aAAa;;;;IAMb,cAAc;IAOd,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAQ/C,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe;IAK1C,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IACe,aAAa;IAGtC,MAAM,CAAC,cAAc,UAAO;IAI5B,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO;IAuBxC,mBAAmB;CAOpB"}
@@ -79,6 +79,12 @@ export class NumberNode {
79
79
  }
80
80
  return this;
81
81
  }
82
+ toSimplificationTex(opts) {
83
+ const simp = this.simplify(opts);
84
+ if (simp.toTex() !== this.toTex())
85
+ return this.toTex() + "=" + simp.toTex();
86
+ return this.toTex();
87
+ }
82
88
  equals(node) {
83
89
  return isNumberNode(node) && node.value === this.value;
84
90
  }
@@ -8,6 +8,7 @@ export declare class PercentNode implements AlgebraicNode {
8
8
  constructor(value: number, opts?: NodeOptions);
9
9
  toMathString(): string;
10
10
  toTex(): string;
11
+ toSimplificationTex(): string;
11
12
  toAllValidTexs(): string[];
12
13
  toIdentifiers(): {
13
14
  id: NodeIds;
@@ -1 +1 @@
1
- {"version":3,"file":"percentNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/percentNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,WAAY,YAAW,aAAa;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAO7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAIf,cAAc;IAGd,aAAa;;;;IAMb,QAAQ;IAGR,iBAAiB;IAGjB,QAAQ;IAGR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
1
+ {"version":3,"file":"percentNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/numbers/percentNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,WAAY,YAAW,aAAa;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAO7C,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,mBAAmB,IAAI,MAAM;IAG7B,cAAc;IAGd,aAAa;;;;IAMb,QAAQ;IAGR,iBAAiB;IAGjB,QAAQ;IAGR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
@@ -17,6 +17,9 @@ export class PercentNode {
17
17
  toTex() {
18
18
  return `${this.value.frenchify()}\\%`;
19
19
  }
20
+ toSimplificationTex() {
21
+ throw new Error("unimplemented");
22
+ }
20
23
  toAllValidTexs() {
21
24
  return [this.toTex()];
22
25
  }
@@ -305,7 +305,9 @@ const addSort = (a, b) => {
305
305
  return 0;
306
306
  };
307
307
  const addSimplifyFrac = (a, b, opts) => {
308
- if (!opts?.towardsDistribute && isFractionNode(a) && isFractionNode(b)) {
308
+ if (isFractionNode(a) &&
309
+ isFractionNode(b) &&
310
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
309
311
  //c/d + e/f = cf+ed / df
310
312
  const c = a.leftChild;
311
313
  const d = a.rightChild;
@@ -313,10 +315,10 @@ const addSimplifyFrac = (a, b, opts) => {
313
315
  const f = b.rightChild;
314
316
  return new FractionNode(new AddNode(new MultiplyNode(c, f), new MultiplyNode(e, d)), new MultiplyNode(d, f)).simplify(opts);
315
317
  }
316
- if (!opts?.towardsDistribute &&
317
- isOppositeNode(a) &&
318
+ if (isOppositeNode(a) &&
318
319
  isFractionNode(a.child) &&
319
- isFractionNode(b)) {
320
+ isFractionNode(b) &&
321
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
320
322
  //-(c/d) + e/f = -cf+ed / df
321
323
  const c = a.child.leftChild;
322
324
  const d = a.child.rightChild;
@@ -324,10 +326,10 @@ const addSimplifyFrac = (a, b, opts) => {
324
326
  const f = b.rightChild;
325
327
  return new FractionNode(new AddNode(new MultiplyNode(new OppositeNode(c), f), new MultiplyNode(e, d)), new MultiplyNode(d, f)).simplify(opts);
326
328
  }
327
- if (!opts?.towardsDistribute &&
328
- isOppositeNode(b) &&
329
+ if (isOppositeNode(b) &&
329
330
  isFractionNode(b.child) &&
330
- isFractionNode(a)) {
331
+ isFractionNode(a) &&
332
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
331
333
  //(c/d) + (-e/f) = cf-ed / df
332
334
  const c = a.leftChild;
333
335
  const d = a.rightChild;
@@ -335,11 +337,11 @@ const addSimplifyFrac = (a, b, opts) => {
335
337
  const f = b.child.rightChild;
336
338
  return new FractionNode(new AddNode(new MultiplyNode(c, f), new MultiplyNode(new OppositeNode(e), d)), new MultiplyNode(d, f)).simplify(opts);
337
339
  }
338
- if (!opts?.towardsDistribute &&
339
- isOppositeNode(b) &&
340
+ if (isOppositeNode(b) &&
340
341
  isFractionNode(b.child) &&
341
342
  isOppositeNode(a) &&
342
- isFractionNode(a.child)) {
343
+ isFractionNode(a.child) &&
344
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
343
345
  //-(c/d) + (-e/f) = -cf-ed / df
344
346
  const c = a.child.leftChild;
345
347
  const d = a.child.rightChild;
@@ -347,15 +349,16 @@ const addSimplifyFrac = (a, b, opts) => {
347
349
  const f = b.child.rightChild;
348
350
  return new FractionNode(new AddNode(new MultiplyNode(new OppositeNode(c), f), new MultiplyNode(new OppositeNode(e), d)), new MultiplyNode(d, f)).simplify(opts);
349
351
  }
350
- if (!opts?.towardsDistribute && isFractionNode(a)) {
352
+ if (isFractionNode(a) &&
353
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
351
354
  //c/d + b
352
355
  const c = a.leftChild;
353
356
  const d = a.rightChild;
354
357
  return new FractionNode(new AddNode(c, new MultiplyNode(d, b)), d).simplify(opts);
355
358
  }
356
- if (!opts?.towardsDistribute &&
357
- isOppositeNode(a) &&
358
- isFractionNode(a.child)) {
359
+ if (isOppositeNode(a) &&
360
+ isFractionNode(a.child) &&
361
+ (!opts?.towardsDistribute || opts?.forceAddFractions)) {
359
362
  //-(c/d) + b = (-c+bd)/d
360
363
  const c = a.child.leftChild;
361
364
  const d = a.child.rightChild;
@@ -33,5 +33,6 @@ export declare class BinomialCoefficientNode implements OperatorNode {
33
33
  toMathString(): string;
34
34
  toTex(): string;
35
35
  derivative(): AlgebraicNode;
36
+ toSimplificationTex(): string;
36
37
  }
37
38
  //# sourceMappingURL=binomialCoefficientNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binomialCoefficientNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/binomialCoefficientNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE9E,eAAO,MAAM,yBAAyB,GACpC,GAAG,IAAI,KACN,CAAC,IAAI,uBACuD,CAAC;AAEhE,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,4BAOnC,CAAC;AACF,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IASpB,MAAM,CAAC,IAAI,EAAE,aAAa;IAO1B,QAAQ;IAGR,QAAQ;IAMR,cAAc;IAGd,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,iBAAiB;IAGjB,aAAa;;;;;;;;;IAOb,YAAY;IAGZ,KAAK;IAGL,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"binomialCoefficientNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/binomialCoefficientNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE9E,eAAO,MAAM,yBAAyB,GACpC,GAAG,IAAI,KACN,CAAC,IAAI,uBACuD,CAAC;AAEhE,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,4BAOnC,CAAC;AACF,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IASpB,MAAM,CAAC,IAAI,EAAE,aAAa;IAO1B,QAAQ;IAGR,QAAQ;IAMR,cAAc;IAGd,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,iBAAiB;IAGjB,aAAa;;;;;;;;;IAOb,YAAY;IAGZ,KAAK;IAGL,UAAU,IAAI,aAAa;IAG3B,mBAAmB,IAAI,MAAM;CAG9B"}
@@ -62,4 +62,7 @@ export class BinomialCoefficientNode {
62
62
  derivative() {
63
63
  throw new Error("unimplemented derivative");
64
64
  }
65
+ toSimplificationTex() {
66
+ throw new Error("unimplemented");
67
+ }
65
68
  }
@@ -25,6 +25,7 @@ export declare class DivideNode implements OperatorNode {
25
25
  id: NodeIds;
26
26
  } & Record<string, any>;
27
27
  };
28
+ toSimplificationTex(): string;
28
29
  toEquivalentNodes(_opts?: NodeOptions): AlgebraicNode[];
29
30
  toAllValidTexs(): string[];
30
31
  toTex(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"divideNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/divideNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GACjB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAQnC,CAAC;AA4BF,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;gBAES,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa;IAQ/D,YAAY,IAAI,MAAM;IAGtB,kBAAkB;IAIlB,aAAa;;;;;;;;;IAQb,iBAAiB,CAAC,KAAK,CAAC,EAAE,WAAW;IAYrC,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,IAAI,MAAM;IAGf,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAO1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;IAGxD,OAAO,aAEL;CACH"}
1
+ {"version":3,"file":"divideNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/divideNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GACjB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAQnC,CAAC;AA4BF,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;gBAES,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa;IAQ/D,YAAY,IAAI,MAAM;IAGtB,kBAAkB;IAIlB,aAAa;;;;;;;;;IAOb,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,CAAC,KAAK,CAAC,EAAE,WAAW;IAYrC,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,IAAI,MAAM;IAGf,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAO1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;IAGxD,OAAO,aAEL;CACH"}
@@ -63,6 +63,9 @@ export class DivideNode {
63
63
  rightChild: this.rightChild.toIdentifiers(),
64
64
  };
65
65
  }
66
+ toSimplificationTex() {
67
+ throw new Error("unimplemented");
68
+ }
66
69
  toEquivalentNodes(_opts) {
67
70
  const res = [];
68
71
  const rightNodes = this.rightChild.toEquivalentNodes();
@@ -1 +1 @@
1
- {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAK9E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,eAAO,MAAM,IAAI,GACf,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,WAAW,iBAOnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AACF,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAiBpB,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,uBAAuB;IAQxC,UAAU;IAGV,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BpC,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAG5C,SAAS;IAoBT,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IA8BrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,GAAG,UAAQ,GAAG,aAAa;IA8M5D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,mBAAmB;IAQnB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;CAQ5C"}
1
+ {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAK9E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,eAAO,MAAM,IAAI,GACf,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,WAAW,iBAOnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AACF,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAiBpB,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,uBAAuB;IAQxC,UAAU;IAGV,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BpC,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAI5C,SAAS;IAoBT,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IA8BrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,GAAG,UAAQ,GAAG,aAAa;IA8M5D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,mBAAmB;IAQnB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;CAQ5C"}
@@ -31,6 +31,7 @@ export declare class LimitNode implements OperatorNode {
31
31
  from: "+" | "-" | undefined;
32
32
  };
33
33
  toAllValidTexs(): string[];
34
+ toSimplificationTex(): string;
34
35
  toTex(opts?: ToTexOptions): string;
35
36
  evaluate(): number;
36
37
  simplify(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"limitNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/limitNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,qBAAa,SAAU,YAAW,YAAY;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;gBAGD,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAChB,IAAI,CAAC,EAAE,WAAW;IAWpB,YAAY,IAAI,MAAM;IAItB,iBAAiB;IAGjB,aAAa;;;;;;;;;;IAQb,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IAYlC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,aAAa;IAGzB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"limitNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/limitNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,qBAAa,SAAU,YAAW,YAAY;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;gBAGD,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAChB,IAAI,CAAC,EAAE,WAAW;IAWpB,YAAY,IAAI,MAAM;IAItB,iBAAiB;IAGjB,aAAa;;;;;;;;;;IAQb,cAAc,IAAI,MAAM,EAAE;IAG1B,mBAAmB,IAAI,MAAM;IAG7B,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IAYlC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,aAAa;IAGzB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -45,6 +45,9 @@ export class LimitNode {
45
45
  toAllValidTexs() {
46
46
  return this.toEquivalentNodes().map((node) => node.toTex());
47
47
  }
48
+ toSimplificationTex() {
49
+ throw new Error("unimplemented");
50
+ }
48
51
  toTex(opts) {
49
52
  const displayStyle = opts?.displayStyle ?? true;
50
53
  const rightTex = this.rightChild.toTex();
@@ -31,6 +31,7 @@ export declare class PowerNode implements OperatorNode {
31
31
  evaluate(vars?: Record<string, number>): number;
32
32
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): PowerNode;
33
33
  simplify(opts?: SimplifyOptions, _log?: boolean): AlgebraicNode;
34
+ toSimplificationTex(opts?: SimplifyOptions): string;
34
35
  equals(node: AlgebraicNode): boolean;
35
36
  derivative(varName?: string | undefined): AlgebraicNode;
36
37
  toMultiplyNode(): AlgebraicNode | import("../numbers/constantNode.js").ConstantNode | NumberNode | MultiplyNode;
@@ -1 +1 @@
1
- {"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOrE,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,eAAO,MAAM,MAAM,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAKxD,CAAC;AAEF,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,WAAW,cAOnB,CAAC;AAEF,qBAAa,SAAU,YAAW,YAAY;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAUpB,YAAY,IAAI,MAAM;IAGtB,aAAa;;;;;;;;;IAOb,iBAAiB;IAqBjB,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IA0BlC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ,GAAG,aAAa;IA6D7D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;IAcvD,cAAc;CASf;AAED,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;CAIrD"}
1
+ {"version":3,"file":"powerNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/powerNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOrE,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AACD,eAAO,MAAM,MAAM,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAKxD,CAAC;AAEF,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,WAAW,cAOnB,CAAC;AAEF,qBAAa,SAAU,YAAW,YAAY;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAUpB,YAAY,IAAI,MAAM;IAGtB,aAAa;;;;;;;;;IAOb,iBAAiB;IAqBjB,cAAc,IAAI,MAAM,EAAE;IAI1B,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IA0BlC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAOxD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ,GAAG,aAAa;IA6D7D,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe;IAK1C,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOpC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;IAcvD,cAAc;CASf;AAED,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;CAIrD"}
@@ -146,6 +146,12 @@ export class PowerNode {
146
146
  }
147
147
  return copy;
148
148
  }
149
+ toSimplificationTex(opts) {
150
+ const simp = this.simplify(opts);
151
+ if (simp.toTex() !== this.toTex())
152
+ return this.toTex() + "=" + simp.toTex();
153
+ return this.toTex();
154
+ }
149
155
  equals(node) {
150
156
  return (isPowerNode(node) &&
151
157
  node.leftChild.equals(this.leftChild) &&
@@ -22,6 +22,7 @@ export declare class MonomNode extends CAlgebraicNode implements AlgebraicNode {
22
22
  evaluate(vars?: Record<string, number>): number;
23
23
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): AlgebraicNode;
24
24
  simplify(opts?: SimplifyOptions): AlgebraicNode;
25
+ toSimplificationTex(): string;
25
26
  toAllValidTexs(opts?: NodeOptions | undefined): string[];
26
27
  toEquivalentNodes(opts?: NodeOptions | undefined): AlgebraicNode[];
27
28
  toMathString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"monomNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/polynomials/monomNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EAEhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKlE,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,QAAQ,MAAM,EACd,OAAO,gBAAgB,cAMxB,CAAC;AACF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,qBAGvC;AACD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAO7C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAAe,YAAW,aAAa;IACpE,CAAC,EAAE,aAAa,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAkB;gBAG9B,CAAC,EAAE,aAAa,GAAG,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,gBAAgB;IAWzB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAMxC,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAG/B,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS;IAG7C,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS;IAGhD,YAAY;IAIZ,MAAM;IAMN,KAAK;IAIL,aAAa;;;;;;;;;;CAQd;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,sBAsJ/C,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,MAAM,aAAa,EACnB,qCAAoC,IAInC,YA8IF,CAAC"}
1
+ {"version":3,"file":"monomNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/polynomials/monomNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EAEhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKlE,eAAO,MAAM,KAAK,GAChB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAClC,QAAQ,MAAM,EACd,OAAO,gBAAgB,cAMxB,CAAC;AACF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,qBAGvC;AACD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAO7C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAAe,YAAW,aAAa;IACpE,CAAC,EAAE,aAAa,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAkB;gBAG9B,CAAC,EAAE,aAAa,GAAG,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,gBAAgB;IAWzB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAMxC,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAG/B,mBAAmB,IAAI,MAAM;IAG7B,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS;IAG7C,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS;IAGhD,YAAY;IAIZ,MAAM;IAMN,KAAK;IAIL,aAAa;;;;;;;;;;CAQd;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,sBAsJ/C,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,MAAM,aAAa,EACnB,qCAAoC,IAInC,YA8IF,CAAC"}
@@ -57,6 +57,9 @@ export class MonomNode extends CAlgebraicNode {
57
57
  simplify(opts) {
58
58
  return this.toTree().simplify(opts);
59
59
  }
60
+ toSimplificationTex() {
61
+ throw new Error("unimplemented");
62
+ }
60
63
  toAllValidTexs(opts) {
61
64
  return this.toTree().toAllValidTexs(opts);
62
65
  }
@@ -57,6 +57,7 @@ export declare class TrinomNode extends CAlgebraicNode implements AlgebraicNode
57
57
  evaluate(vars?: Record<string, number>): number;
58
58
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): import("../../../tree/nodes/operators/addNode.js").AddNode | import("../../../tree/nodes/operators/multiplyNode.js").MultiplyNode;
59
59
  simplify(opts?: SimplifyOptions): AlgebraicNode;
60
+ toSimplificationTex(): string;
60
61
  toAllValidTexs(opts?: NodeOptions | undefined): string[];
61
62
  toEquivalentNodes(opts?: NodeOptions | undefined): AlgebraicNode[] | import("../../../tree/nodes/operators/multiplyNode.js").MultiplyNode[];
62
63
  toMathString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"trinomNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/polynomials/trinomNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trinomNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/polynomials/trinomNode.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,9 @@ export class TrinomNode extends CAlgebraicNode {
106
106
  simplify(opts) {
107
107
  return this.toTree().simplify(opts);
108
108
  }
109
+ toSimplificationTex() {
110
+ throw new Error("unimplemented");
111
+ }
109
112
  toAllValidTexs(opts) {
110
113
  return this.toTree().toAllValidTexs(opts);
111
114
  }
@@ -10,6 +10,7 @@ export declare class BelongsNode implements AlgebraicNode {
10
10
  constructor(leftChild: AlgebraicNode, rightChild: SetNode, opts?: NodeOptions);
11
11
  toAllValidTexs(): string[];
12
12
  toEquivalentNodes(opts?: NodeOptions): AlgebraicNode[];
13
+ toSimplificationTex(): string;
13
14
  derivative(_varName?: string): AlgebraicNode;
14
15
  equals(_node: AlgebraicNode): boolean;
15
16
  evaluate(_vars?: Record<string, number>, _opts?: EvaluateOptions): number;
@@ -1 +1 @@
1
- {"version":3,"file":"belongsNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/belongsNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,qBAAa,WAAY,YAAW,aAAa;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,WAAW;IAQpB,cAAc;IAGd,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IActD,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa;IAG5C,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAGrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM;IAGzE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa;IAIzE,YAAY;IAGZ,KAAK;IAGL,aAAa;;;;;;;;;IAOb,QAAQ;CAGT"}
1
+ {"version":3,"file":"belongsNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/belongsNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,qBAAa,WAAY,YAAW,aAAa;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,WAAW;IAQpB,cAAc;IAGd,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAatD,mBAAmB,IAAI,MAAM;IAG7B,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa;IAG5C,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAGrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM;IAGzE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa;IAIzE,YAAY;IAGZ,KAAK;IAGL,aAAa;;;;;;;;;IAOb,QAAQ;CAGT"}
@@ -26,6 +26,9 @@ export class BelongsNode {
26
26
  else
27
27
  return rightEquivs.map((equiv) => new BelongsNode(this.leftChild, equiv, options));
28
28
  }
29
+ toSimplificationTex() {
30
+ throw new Error("unimplemented");
31
+ }
29
32
  derivative(_varName) {
30
33
  throw new Error("unimplemented");
31
34
  }
@@ -12,6 +12,7 @@ export declare class DiscreteSetNode implements SetNode {
12
12
  isNumeric: boolean;
13
13
  constructor(elements: AlgebraicNode[], opts?: NodeOptions);
14
14
  isEmptySet(): boolean;
15
+ toSimplificationTex(): string;
15
16
  toClosedForm(): this;
16
17
  toAllValidTexs(): string[];
17
18
  toIdentifiers(): {
@@ -1 +1 @@
1
- {"version":3,"file":"discreteSetNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/discreteSetNode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAC1D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,eAAe,CAE/D;AAED,eAAO,MAAM,GAAG,GAAI,OAAO,aAAa,EAAE,EAAE,OAAO,WAAW,oBAE7D,CAAC;AACF,qBAAa,eAAgB,YAAW,OAAO;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;gBACP,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IAQzD,UAAU;IAIV,YAAY;IAGZ,cAAc;IAGd,aAAa;;;;;;IAMb,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAyBpC,YAAY;IAIZ,KAAK;IAOL,qBAAqB;IAMrB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAO/B,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa;IAG5C,MAAM,CAAC,IAAI,EAAE,aAAa;IAQ1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe;IAGhE,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAMzD;AAED,eAAO,MAAM,QAAQ,iBAA0B,CAAC"}
1
+ {"version":3,"file":"discreteSetNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/discreteSetNode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAC1D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,eAAe,CAE/D;AAED,eAAO,MAAM,GAAG,GAAI,OAAO,aAAa,EAAE,EAAE,OAAO,WAAW,oBAE7D,CAAC;AACF,qBAAa,eAAgB,YAAW,OAAO;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;gBACP,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IAQzD,UAAU;IAGV,mBAAmB,IAAI,MAAM;IAG7B,YAAY;IAGZ,cAAc;IAGd,aAAa;;;;;;IAMb,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAyBpC,YAAY;IAIZ,KAAK;IAOL,qBAAqB;IAMrB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAO/B,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa;IAG5C,MAAM,CAAC,IAAI,EAAE,aAAa;IAQ1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe;IAGhE,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAMzD;AAED,eAAO,MAAM,QAAQ,iBAA0B,CAAC"}
@@ -26,6 +26,9 @@ export class DiscreteSetNode {
26
26
  isEmptySet() {
27
27
  return !this.elements.length;
28
28
  }
29
+ toSimplificationTex() {
30
+ throw new Error("unimplemented");
31
+ }
29
32
  toClosedForm() {
30
33
  return this;
31
34
  }
@@ -36,6 +36,7 @@ export declare class IntervalNode implements SetNode {
36
36
  isNumeric: boolean;
37
37
  constructor(a: AlgebraicNode, b: AlgebraicNode, closure: ClosureType, opts?: NodeOptions);
38
38
  toAllValidTexs(opts?: NodeOptions): string[];
39
+ toSimplificationTex(): string;
39
40
  toEquivalentNodes(opts?: NodeOptions): IntervalNode[];
40
41
  toInequality(middleChild?: AlgebraicNode): InequationNode;
41
42
  toMathString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"intervalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/intervalNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAOxE,OAAO,EAAW,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,8BAAsB,uBAAuB;IAC3C,MAAM,CAAC,MAAM;IA2Cb,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAgBlC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,uBAAuB;CAQpD;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,EAAE,aAAa,CAAC;IACjB,CAAC,EAAE,aAAa,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,qBAAa,YAAa,YAAW,OAAO;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,CAAC,EAAE,aAAa,CAAC;IACjB,CAAC,EAAE,aAAa,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;gBAGjB,CAAC,EAAE,aAAa,EAChB,CAAC,EAAE,aAAa,EAChB,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,WAAW;IAYpB,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW;IAMjC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAoBpC,YAAY,CAAC,WAAW,CAAC,EAAE,aAAa;IA4BxC,YAAY;IAIZ,MAAM,CAAC,CAAC,EAAE,aAAa;IASvB,iBAAiB;IAGjB,qBAAqB;IAGrB,sBAAsB;IAGtB,wBAAwB;IAgBxB,YAAY;IAkCZ,KAAK;IAWL;;SAEK;IACL,YAAY;IAWZ,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAOvC,aAAa,IAAI,uBAAuB;IAUxC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAiB7C,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAQ/B,UAAU,IAAI,aAAa;IAG3B,QAAQ;IAGR,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IASxD,YAAY;IAGZ,aAAa;IAGb,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO;IAanC,YAAY,CAAC,QAAQ,EAAE,YAAY;IA0DnC,YAAY;IAIZ,SAAS,CAAC,CAAC,EAAE,WAAW;IAGxB,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,iBAAiB;CAkDhE"}
1
+ {"version":3,"file":"intervalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/intervalNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAOxE,OAAO,EAAW,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,8BAAsB,uBAAuB;IAC3C,MAAM,CAAC,MAAM;IA2Cb,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAgBlC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,uBAAuB;CAQpD;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,EAAE,aAAa,CAAC;IACjB,CAAC,EAAE,aAAa,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,qBAAa,YAAa,YAAW,OAAO;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,CAAC,EAAE,aAAa,CAAC;IACjB,CAAC,EAAE,aAAa,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;gBAGjB,CAAC,EAAE,aAAa,EAChB,CAAC,EAAE,aAAa,EAChB,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,WAAW;IAYpB,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW;IAKjC,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAoBpC,YAAY,CAAC,WAAW,CAAC,EAAE,aAAa;IA4BxC,YAAY;IAIZ,MAAM,CAAC,CAAC,EAAE,aAAa;IASvB,iBAAiB;IAGjB,qBAAqB;IAGrB,sBAAsB;IAGtB,wBAAwB;IAgBxB,YAAY;IAkCZ,KAAK;IAWL;;SAEK;IACL,YAAY;IAWZ,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAOvC,aAAa,IAAI,uBAAuB;IAUxC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAiB7C,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAQ/B,UAAU,IAAI,aAAa;IAG3B,QAAQ;IAGR,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IASxD,YAAY;IAGZ,aAAa;IAGb,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO;IAanC,YAAY,CAAC,QAAQ,EAAE,YAAY;IA0DnC,YAAY;IAIZ,SAAS,CAAC,CAAC,EAAE,WAAW;IAGxB,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,iBAAiB;CAkDhE"}
@@ -100,6 +100,9 @@ export class IntervalNode {
100
100
  toAllValidTexs(opts) {
101
101
  return this.toEquivalentNodes(opts ?? this.opts).flatMap((node) => node.toAllTexs(opts ?? this.opts));
102
102
  }
103
+ toSimplificationTex() {
104
+ throw new Error("unimplemented");
105
+ }
103
106
  toEquivalentNodes(opts) {
104
107
  const res = [];
105
108
  const equivs = [
@@ -14,6 +14,7 @@ export declare class UnionIntervalNode implements SetNode {
14
14
  isEmpty: boolean;
15
15
  constructor(sets: SetNode[], opts?: NodeOptions);
16
16
  toAllValidTexs(): string[];
17
+ toSimplificationTex(): string;
17
18
  toEquivalentNodes(opts?: NodeOptions): UnionIntervalNode[];
18
19
  toMathString(): string;
19
20
  toMathjs(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"unionIntervalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/unionIntervalNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAE1D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,iBAAiB,CAEnE;AACD,8BAAsB,wBAAwB;IAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa;CAMlC;AACD,qBAAa,iBAAkB,YAAW,OAAO;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;gBACL,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IAS/C,cAAc;IAId,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAcpC,YAAY;IAIZ,QAAQ;IAIR,KAAK;IAGL,aAAa;;;;;;IAMb,QAAQ;IAMR,YAAY;IAMZ,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ;IAGR,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAKzD"}
1
+ {"version":3,"file":"unionIntervalNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/sets/unionIntervalNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAE1D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,iBAAiB,CAEnE;AACD,8BAAsB,wBAAwB;IAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa;CAMlC;AACD,qBAAa,iBAAkB,YAAW,OAAO;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;gBACL,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IAS/C,cAAc;IAGd,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAcpC,YAAY;IAIZ,QAAQ;IAIR,KAAK;IAGL,aAAa;;;;;;IAMb,QAAQ;IAMR,YAAY;IAMZ,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ;IAGR,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAKzD"}
@@ -34,6 +34,9 @@ export class UnionIntervalNode {
34
34
  toAllValidTexs() {
35
35
  return this.toEquivalentNodes(this.opts).map((node) => node.toTex());
36
36
  }
37
+ toSimplificationTex() {
38
+ throw new Error("unimplemented");
39
+ }
37
40
  toEquivalentNodes(opts) {
38
41
  const options = opts ?? this.opts;
39
42
  const res = [];
@@ -10,6 +10,7 @@ export declare class VariableNode extends CAlgebraicNode implements AlgebraicNod
10
10
  id: NodeIds;
11
11
  name: string;
12
12
  };
13
+ toSimplificationTex(): string;
13
14
  toTex(): string;
14
15
  toMathString(): string;
15
16
  toMathjs(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"variableNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/variables/variableNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,SAAQ,cAAe,YAAW,aAAa;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,WAAqB;IACzB,SAAS,EAAE,OAAO,CAAC;gBACP,IAAI,EAAE,MAAM;IAMxB,aAAa;;;;IAMb,KAAK,IAAI,MAAM;IAGf,YAAY,IAAI,MAAM;IAGtB,QAAQ;IAGR,cAAc;IAGd,iBAAiB;IAIjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQtC,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;CAK5C"}
1
+ {"version":3,"file":"variableNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/variables/variableNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,SAAQ,cAAe,YAAW,aAAa;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,WAAqB;IACzB,SAAS,EAAE,OAAO,CAAC;gBACP,IAAI,EAAE,MAAM;IAMxB,aAAa;;;;IAMb,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAGf,YAAY,IAAI,MAAM;IAGtB,QAAQ;IAGR,cAAc;IAGd,iBAAiB;IAIjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQtC,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;CAK5C"}
@@ -18,6 +18,9 @@ export class VariableNode extends CAlgebraicNode {
18
18
  name: this.name,
19
19
  };
20
20
  }
21
+ toSimplificationTex() {
22
+ throw new Error("unimplemented");
23
+ }
21
24
  toTex() {
22
25
  return `${this.name}`;
23
26
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.169",
4
+ "version": "3.0.171",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [