math-exercises 3.0.168 → 3.0.170

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 (196) 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/equation/trinomSelectEquationWithoutDeltaNeeded.js +1 -1
  25. package/lib/exercises/math/functions/trinoms/index.d.ts +1 -0
  26. package/lib/exercises/math/functions/trinoms/index.d.ts.map +1 -1
  27. package/lib/exercises/math/functions/trinoms/index.js +1 -0
  28. package/lib/exercises/math/functions/trinoms/problems/index.d.ts +3 -0
  29. package/lib/exercises/math/functions/trinoms/problems/index.d.ts.map +1 -0
  30. package/lib/exercises/math/functions/trinoms/problems/index.js +2 -0
  31. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts +11 -0
  32. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.d.ts.map +1 -0
  33. package/lib/exercises/math/functions/trinoms/problems/maxSurfaceForGivenClosure.js +212 -0
  34. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts +8 -0
  35. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.d.ts.map +1 -0
  36. package/lib/exercises/math/functions/trinoms/problems/swedishFlag.js +174 -0
  37. package/lib/exercises/math/functions/trinoms/summitAndCanonical/findTrinomCanonicalFormFromGraph.js +2 -2
  38. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.d.ts.map +1 -1
  39. package/lib/exercises/math/functions/trinoms/summitAndCanonical/summitReading.js +22 -1
  40. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts +4 -1
  41. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.d.ts.map +1 -1
  42. package/lib/exercises/math/sequences/arithmetic/recognizeArithmeticFromGraph.js +45 -20
  43. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts +4 -1
  44. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.d.ts.map +1 -1
  45. package/lib/exercises/math/sequences/arithmetic/recognizeReasonFromGraph.js +43 -9
  46. package/lib/exercises/math/sequences/index.d.ts +1 -0
  47. package/lib/exercises/math/sequences/index.d.ts.map +1 -1
  48. package/lib/exercises/math/sequences/index.js +1 -0
  49. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.d.ts +11 -0
  50. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.d.ts.map +1 -0
  51. package/lib/exercises/math/sequences/variations/expressConsecutiveTermsDifference.js +160 -0
  52. package/lib/exercises/math/sequences/variations/index.d.ts +2 -0
  53. package/lib/exercises/math/sequences/variations/index.d.ts.map +1 -0
  54. package/lib/exercises/math/sequences/variations/index.js +1 -0
  55. package/lib/exercises/math/trigonometry/circle/findAngleFromCosAndSin.d.ts.map +1 -1
  56. package/lib/exercises/math/trigonometry/circle/findAngleFromCosAndSin.js +0 -1
  57. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.d.ts +8 -0
  58. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.d.ts.map +1 -0
  59. package/lib/exercises/math/trigonometry/circle/findAssociateAnglePointOnTrigoCircle.js +158 -0
  60. package/lib/exercises/math/trigonometry/circle/index.d.ts +2 -0
  61. package/lib/exercises/math/trigonometry/circle/index.d.ts.map +1 -1
  62. package/lib/exercises/math/trigonometry/circle/index.js +2 -0
  63. package/lib/exercises/math/trigonometry/circle/mainAngleMeasure.d.ts.map +1 -1
  64. package/lib/exercises/math/trigonometry/circle/mainAngleMeasure.js +8 -3
  65. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts +8 -0
  66. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.d.ts.map +1 -0
  67. package/lib/exercises/math/trigonometry/circle/placeAssociateAngleOnCircle.js +167 -0
  68. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts +2 -0
  69. package/lib/exercises/utils/geogebra/toolBarConstructor.d.ts.map +1 -1
  70. package/lib/exercises/utils/geogebra/toolBarConstructor.js +4 -0
  71. package/lib/index.d.ts +52 -4
  72. package/lib/index.d.ts.map +1 -1
  73. package/lib/math/geometry/segment.d.ts +1 -1
  74. package/lib/math/polynomials/trinom.d.ts +1 -1
  75. package/lib/math/polynomials/trinom.d.ts.map +1 -1
  76. package/lib/math/polynomials/trinom.js +2 -2
  77. package/lib/playground.d.ts.map +1 -1
  78. package/lib/playground.js +1 -3
  79. package/lib/tree/nodes/algebraicNode.d.ts +2 -0
  80. package/lib/tree/nodes/algebraicNode.d.ts.map +1 -1
  81. package/lib/tree/nodes/complex/complexNode.d.ts +1 -0
  82. package/lib/tree/nodes/complex/complexNode.d.ts.map +1 -1
  83. package/lib/tree/nodes/complex/complexNode.js +3 -0
  84. package/lib/tree/nodes/equations/equalNode.d.ts +1 -0
  85. package/lib/tree/nodes/equations/equalNode.d.ts.map +1 -1
  86. package/lib/tree/nodes/equations/equalNode.js +3 -0
  87. package/lib/tree/nodes/equations/equationSolutionNode.d.ts +1 -0
  88. package/lib/tree/nodes/equations/equationSolutionNode.d.ts.map +1 -1
  89. package/lib/tree/nodes/equations/equationSolutionNode.js +3 -0
  90. package/lib/tree/nodes/equations/multiEqualNode.d.ts +1 -0
  91. package/lib/tree/nodes/equations/multiEqualNode.d.ts.map +1 -1
  92. package/lib/tree/nodes/equations/multiEqualNode.js +3 -0
  93. package/lib/tree/nodes/equations/notEqualNode.d.ts +1 -0
  94. package/lib/tree/nodes/equations/notEqualNode.d.ts.map +1 -1
  95. package/lib/tree/nodes/equations/notEqualNode.js +3 -0
  96. package/lib/tree/nodes/functions/absNode.d.ts +1 -0
  97. package/lib/tree/nodes/functions/absNode.d.ts.map +1 -1
  98. package/lib/tree/nodes/functions/absNode.js +3 -0
  99. package/lib/tree/nodes/functions/arcSinNode.d.ts +1 -0
  100. package/lib/tree/nodes/functions/arcSinNode.d.ts.map +1 -1
  101. package/lib/tree/nodes/functions/arcSinNode.js +3 -0
  102. package/lib/tree/nodes/functions/arccosNode.d.ts +1 -0
  103. package/lib/tree/nodes/functions/arccosNode.d.ts.map +1 -1
  104. package/lib/tree/nodes/functions/arccosNode.js +3 -0
  105. package/lib/tree/nodes/functions/arctanNode.d.ts +1 -0
  106. package/lib/tree/nodes/functions/arctanNode.d.ts.map +1 -1
  107. package/lib/tree/nodes/functions/arctanNode.js +3 -0
  108. package/lib/tree/nodes/functions/cosNode.d.ts +1 -0
  109. package/lib/tree/nodes/functions/cosNode.d.ts.map +1 -1
  110. package/lib/tree/nodes/functions/cosNode.js +3 -0
  111. package/lib/tree/nodes/functions/expNode.d.ts +1 -0
  112. package/lib/tree/nodes/functions/expNode.d.ts.map +1 -1
  113. package/lib/tree/nodes/functions/expNode.js +3 -0
  114. package/lib/tree/nodes/functions/integralNode.d.ts +1 -0
  115. package/lib/tree/nodes/functions/integralNode.d.ts.map +1 -1
  116. package/lib/tree/nodes/functions/integralNode.js +3 -0
  117. package/lib/tree/nodes/functions/log10Node.d.ts +1 -0
  118. package/lib/tree/nodes/functions/log10Node.d.ts.map +1 -1
  119. package/lib/tree/nodes/functions/log10Node.js +3 -0
  120. package/lib/tree/nodes/functions/logNode.d.ts +1 -0
  121. package/lib/tree/nodes/functions/logNode.d.ts.map +1 -1
  122. package/lib/tree/nodes/functions/logNode.js +3 -0
  123. package/lib/tree/nodes/functions/oppositeNode.d.ts +1 -0
  124. package/lib/tree/nodes/functions/oppositeNode.d.ts.map +1 -1
  125. package/lib/tree/nodes/functions/oppositeNode.js +6 -0
  126. package/lib/tree/nodes/functions/sinNode.d.ts +1 -0
  127. package/lib/tree/nodes/functions/sinNode.d.ts.map +1 -1
  128. package/lib/tree/nodes/functions/sinNode.js +3 -0
  129. package/lib/tree/nodes/functions/sqrtNode.d.ts +1 -2
  130. package/lib/tree/nodes/functions/sqrtNode.d.ts.map +1 -1
  131. package/lib/tree/nodes/functions/tanNode.d.ts +1 -0
  132. package/lib/tree/nodes/functions/tanNode.d.ts.map +1 -1
  133. package/lib/tree/nodes/functions/tanNode.js +3 -0
  134. package/lib/tree/nodes/geometry/degree.d.ts +1 -0
  135. package/lib/tree/nodes/geometry/degree.d.ts.map +1 -1
  136. package/lib/tree/nodes/geometry/degree.js +3 -0
  137. package/lib/tree/nodes/geometry/lengthNode.d.ts +1 -0
  138. package/lib/tree/nodes/geometry/lengthNode.d.ts.map +1 -1
  139. package/lib/tree/nodes/geometry/lengthNode.js +3 -0
  140. package/lib/tree/nodes/geometry/pointNode.d.ts +1 -0
  141. package/lib/tree/nodes/geometry/pointNode.d.ts.map +1 -1
  142. package/lib/tree/nodes/geometry/pointNode.js +3 -0
  143. package/lib/tree/nodes/geometry/vectorNode.d.ts +1 -0
  144. package/lib/tree/nodes/geometry/vectorNode.d.ts.map +1 -1
  145. package/lib/tree/nodes/geometry/vectorNode.js +3 -0
  146. package/lib/tree/nodes/inequations/inequationNode.d.ts +1 -0
  147. package/lib/tree/nodes/inequations/inequationNode.d.ts.map +1 -1
  148. package/lib/tree/nodes/inequations/inequationNode.js +3 -0
  149. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts +1 -0
  150. package/lib/tree/nodes/inequations/inequationSolutionNode.d.ts.map +1 -1
  151. package/lib/tree/nodes/inequations/inequationSolutionNode.js +3 -0
  152. package/lib/tree/nodes/numbers/constantNode.d.ts +3 -2
  153. package/lib/tree/nodes/numbers/constantNode.d.ts.map +1 -1
  154. package/lib/tree/nodes/numbers/constantNode.js +7 -1
  155. package/lib/tree/nodes/numbers/numberNode.d.ts +1 -0
  156. package/lib/tree/nodes/numbers/numberNode.d.ts.map +1 -1
  157. package/lib/tree/nodes/numbers/numberNode.js +6 -0
  158. package/lib/tree/nodes/numbers/percentNode.d.ts +1 -0
  159. package/lib/tree/nodes/numbers/percentNode.d.ts.map +1 -1
  160. package/lib/tree/nodes/numbers/percentNode.js +3 -0
  161. package/lib/tree/nodes/operators/addNode.js +17 -14
  162. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts +1 -0
  163. package/lib/tree/nodes/operators/binomialCoefficientNode.d.ts.map +1 -1
  164. package/lib/tree/nodes/operators/binomialCoefficientNode.js +3 -0
  165. package/lib/tree/nodes/operators/divideNode.d.ts +1 -0
  166. package/lib/tree/nodes/operators/divideNode.d.ts.map +1 -1
  167. package/lib/tree/nodes/operators/divideNode.js +3 -0
  168. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  169. package/lib/tree/nodes/operators/limitNode.d.ts +1 -0
  170. package/lib/tree/nodes/operators/limitNode.d.ts.map +1 -1
  171. package/lib/tree/nodes/operators/limitNode.js +3 -0
  172. package/lib/tree/nodes/operators/powerNode.d.ts +1 -0
  173. package/lib/tree/nodes/operators/powerNode.d.ts.map +1 -1
  174. package/lib/tree/nodes/operators/powerNode.js +6 -0
  175. package/lib/tree/nodes/polynomials/monomNode.d.ts +1 -0
  176. package/lib/tree/nodes/polynomials/monomNode.d.ts.map +1 -1
  177. package/lib/tree/nodes/polynomials/monomNode.js +3 -0
  178. package/lib/tree/nodes/polynomials/trinomNode.d.ts +1 -0
  179. package/lib/tree/nodes/polynomials/trinomNode.d.ts.map +1 -1
  180. package/lib/tree/nodes/polynomials/trinomNode.js +3 -0
  181. package/lib/tree/nodes/sets/belongsNode.d.ts +1 -0
  182. package/lib/tree/nodes/sets/belongsNode.d.ts.map +1 -1
  183. package/lib/tree/nodes/sets/belongsNode.js +3 -0
  184. package/lib/tree/nodes/sets/discreteSetNode.d.ts +1 -0
  185. package/lib/tree/nodes/sets/discreteSetNode.d.ts.map +1 -1
  186. package/lib/tree/nodes/sets/discreteSetNode.js +3 -0
  187. package/lib/tree/nodes/sets/intervalNode.d.ts +1 -0
  188. package/lib/tree/nodes/sets/intervalNode.d.ts.map +1 -1
  189. package/lib/tree/nodes/sets/intervalNode.js +3 -0
  190. package/lib/tree/nodes/sets/unionIntervalNode.d.ts +1 -0
  191. package/lib/tree/nodes/sets/unionIntervalNode.d.ts.map +1 -1
  192. package/lib/tree/nodes/sets/unionIntervalNode.js +3 -0
  193. package/lib/tree/nodes/variables/variableNode.d.ts +1 -0
  194. package/lib/tree/nodes/variables/variableNode.d.ts.map +1 -1
  195. package/lib/tree/nodes/variables/variableNode.js +3 -0
  196. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"arccosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/arccosNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAIxD,CAAC;AAEF,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IAkBzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"arccosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/arccosNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,eAIxD,CAAC;AAEF,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IAkBzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -29,6 +29,9 @@ export class ArccosNode {
29
29
  toMathString() {
30
30
  return `arccos(${this.child.toMathString()})`;
31
31
  }
32
+ toSimplificationTex() {
33
+ throw new Error("unimplemented");
34
+ }
32
35
  toTex() {
33
36
  return `\\arccos\\left(${this.child.toTex()}\\right)`;
34
37
  }
@@ -16,6 +16,7 @@ export declare class ArctanNode implements FunctionNode {
16
16
  };
17
17
  toMathString(): string;
18
18
  toTex(): string;
19
+ toSimplificationTex(): string;
19
20
  toEquivalentNodes(): AlgebraicNode[];
20
21
  toAllValidTexs(): string[];
21
22
  simplify(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"arctanNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/arctanNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IAkBzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"arctanNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/arctanNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,qBAAa,UAAW,YAAW,YAAY;IAC7C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IAkBzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -28,6 +28,9 @@ export class ArctanNode {
28
28
  toTex() {
29
29
  return `\\arctan\\left(${this.child.toTex()}\\right)`;
30
30
  }
31
+ toSimplificationTex() {
32
+ throw new Error("unimplemented");
33
+ }
31
34
  toEquivalentNodes() {
32
35
  const res = [];
33
36
  const childNodes = this.child.toEquivalentNodes();
@@ -17,6 +17,7 @@ export declare class CosNode implements FunctionNode {
17
17
  };
18
18
  toMathString(): string;
19
19
  toTex(): string;
20
+ toSimplificationTex(): string;
20
21
  toEquivalentNodes(): AlgebraicNode[];
21
22
  toAllValidTexs(): string[];
22
23
  simplify(opts?: SimplifyOptions): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"cosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/cosNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa;IA+BnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"cosNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/cosNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa;IA+BnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -32,6 +32,9 @@ export class CosNode {
32
32
  toTex() {
33
33
  return `\\cos\\left(${this.child.toTex()}\\right)`;
34
34
  }
35
+ toSimplificationTex() {
36
+ throw new Error("unimplemented");
37
+ }
35
38
  toEquivalentNodes() {
36
39
  const res = [];
37
40
  const childNodes = this.child.toEquivalentNodes();
@@ -17,6 +17,7 @@ export declare class ExpNode implements FunctionNode {
17
17
  } & Record<string, any>;
18
18
  };
19
19
  toMathString(): string;
20
+ toSimplificationTex(): string;
20
21
  toTex(): string;
21
22
  toEquivalentNodes(): AlgebraicNode[];
22
23
  toAllValidTexs(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,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;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAmBf,iBAAiB,IAAI,aAAa,EAAE;IAUpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ,GAAG,aAAa;IAO7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;CAGxD"}
1
+ {"version":3,"file":"expNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/expNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,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;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAmBf,iBAAiB,IAAI,aAAa,EAAE;IAUpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ,GAAG,aAAa;IAO7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;CAGxD"}
@@ -33,6 +33,9 @@ export class ExpNode {
33
33
  toMathString() {
34
34
  return `e^(${this.child.toMathString()})`;
35
35
  }
36
+ toSimplificationTex() {
37
+ throw new Error("unimplemented");
38
+ }
36
39
  toTex() {
37
40
  const tex = this.child.toTex();
38
41
  if (!this.opts?.allowPowerOne && tex === "1") {
@@ -25,6 +25,7 @@ export declare class IntegralNode implements AlgebraicNode {
25
25
  toTex(): string;
26
26
  toMathString(): string;
27
27
  toEquivalentNodes(): this[];
28
+ toSimplificationTex(): string;
28
29
  toAllValidTexs(): string[];
29
30
  simplify(): this;
30
31
  derivative(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"integralNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/integralNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,YAAa,YAAW,aAAa;IAChD,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,WAAqB;IACzB,SAAS,EAAE,OAAO,CAAC;gBAEjB,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM;IAQlB,aAAa;;;;;;;;;;;;;IASb,KAAK,IAAI,MAAM;IAGf,YAAY;IAGZ,iBAAiB;IAGjB,cAAc;IAGd,QAAQ;IAIR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
1
+ {"version":3,"file":"integralNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/integralNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,YAAa,YAAW,aAAa;IAChD,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,WAAqB;IACzB,SAAS,EAAE,OAAO,CAAC;gBAEjB,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM;IAQlB,aAAa;;;;;;;;;;;;;IASb,KAAK,IAAI,MAAM;IAGf,YAAY;IAGZ,iBAAiB;IAGjB,mBAAmB,IAAI,MAAM;IAG7B,cAAc;IAGd,QAAQ;IAIR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
@@ -32,6 +32,9 @@ export class IntegralNode {
32
32
  toEquivalentNodes() {
33
33
  return [this];
34
34
  }
35
+ toSimplificationTex() {
36
+ throw new Error("unimplemented");
37
+ }
35
38
  toAllValidTexs() {
36
39
  return [this.toTex()];
37
40
  }
@@ -16,6 +16,7 @@ export declare class Log10Node implements FunctionNode {
16
16
  } & Record<string, any>;
17
17
  };
18
18
  toMathString(): string;
19
+ toSimplificationTex(): string;
19
20
  toTex(): string;
20
21
  toEquivalentNodes(): AlgebraicNode[];
21
22
  toAllValidTexs(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"log10Node.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/log10Node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AACD,qBAAa,SAAU,YAAW,YAAY;IAC5C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,IAAI,aAAa;IAiCzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"log10Node.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/log10Node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAEnD;AACD,qBAAa,SAAU,YAAW,YAAY;IAC5C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,IAAI,aAAa;IAiCzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -32,6 +32,9 @@ export class Log10Node {
32
32
  toMathString() {
33
33
  return `log_{10}(${this.child.toMathString()})`;
34
34
  }
35
+ toSimplificationTex() {
36
+ throw new Error("unimplemented");
37
+ }
35
38
  toTex() {
36
39
  const tex = this.child.toTex();
37
40
  // if (!this.opts?.allowLnOfOne && tex === "1") {
@@ -16,6 +16,7 @@ export declare class LogNode implements FunctionNode {
16
16
  } & Record<string, any>;
17
17
  };
18
18
  toMathString(): string;
19
+ toSimplificationTex(): string;
19
20
  toTex(): string;
20
21
  toEquivalentNodes(): AlgebraicNode[];
21
22
  toAllValidTexs(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"logNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/logNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOrE,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;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAmC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"logNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/logNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOrE,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;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAaf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAG1B,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAmC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -32,6 +32,9 @@ export class LogNode {
32
32
  toMathString() {
33
33
  return `log(${this.child.toMathString()})`;
34
34
  }
35
+ toSimplificationTex() {
36
+ throw new Error("unimplemented");
37
+ }
35
38
  toTex() {
36
39
  const tex = this.child.toTex();
37
40
  if (!this.opts?.allowLnOfOne && tex === "1") {
@@ -30,5 +30,6 @@ export declare class OppositeNode<T extends AlgebraicNode = AlgebraicNode> imple
30
30
  equals(node: AlgebraicNode): boolean;
31
31
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): OppositeNode<AlgebraicNode>;
32
32
  derivative(varName?: string | undefined): AlgebraicNode;
33
+ toSimplificationTex(opts?: SimplifyOptions): string;
33
34
  }
34
35
  //# sourceMappingURL=oppositeNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oppositeNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/oppositeNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIrE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,aAAa,GAAG,aAAa,EAC9D,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,oBAKvB,CAAC;AAEF,qBAAa,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAC/D,YAAW,YAAY,CAAC,CAAC,CAAC;IAE1B,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW;IAQxC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IAmBlC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IA+BtD;;;;OAIG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAQ5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAK/B,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;CAGxD"}
1
+ {"version":3,"file":"oppositeNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/oppositeNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIrE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,aAAa,GAAG,aAAa,EAC9D,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,oBAKvB,CAAC;AAEF,qBAAa,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAC/D,YAAW,YAAY,CAAC,CAAC,CAAC;IAE1B,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW;IAQxC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM;IAmBlC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IA+BtD;;;;OAIG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAQ5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe;IAK/B,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;IAGvD,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe;CAK3C"}
@@ -95,4 +95,10 @@ export class OppositeNode {
95
95
  derivative(varName) {
96
96
  return opposite(this.child.derivative(varName));
97
97
  }
98
+ toSimplificationTex(opts) {
99
+ const simp = this.simplify(opts);
100
+ if (simp.toTex() !== this.toTex())
101
+ return this.toTex() + "=" + simp.toTex();
102
+ return this.toTex();
103
+ }
98
104
  }
@@ -16,6 +16,7 @@ export declare class SinNode implements FunctionNode {
16
16
  } & Record<string, any>;
17
17
  };
18
18
  toMathString(): string;
19
+ toSimplificationTex(): string;
19
20
  toTex(): string;
20
21
  toEquivalentNodes(): AlgebraicNode[];
21
22
  toAllValidTexs(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"sinNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sinNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAM7B,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa;IA8BnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;CAGxD"}
1
+ {"version":3,"file":"sinNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sinNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAM7B,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IAG7B,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa;IA8BnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa;CAGxD"}
@@ -31,6 +31,9 @@ export class SinNode {
31
31
  toMathString() {
32
32
  return `sin(${this.child.toMathString()})`;
33
33
  }
34
+ toSimplificationTex() {
35
+ throw new Error("unimplemented");
36
+ }
34
37
  toTex() {
35
38
  return `\\sin\\left(${this.child.toTex()}\\right)`;
36
39
  }
@@ -1,6 +1,5 @@
1
1
  import { Node, NodeIds, NodeOptions, NodeType } from "../node.js";
2
2
  import { FunctionNode, FunctionsIds } from "./functionNode.js";
3
- import { MultiplyNode } from "../operators/multiplyNode.js";
4
3
  import { AlgebraicNode, SimplifyOptions } from "../algebraicNode.js";
5
4
  export declare function isSqrtNode(a: Node): a is SqrtNode;
6
5
  export declare const sqrt: (a: AlgebraicNode | number | string) => SqrtNode;
@@ -22,7 +21,7 @@ export declare class SqrtNode implements FunctionNode {
22
21
  toEquivalentNodes(opts?: NodeOptions): AlgebraicNode[];
23
22
  toAllValidTexs(opts?: NodeOptions): string[];
24
23
  evaluate(vars?: Record<string, number>): number;
25
- simplify(opts?: SimplifyOptions, _log?: boolean): AlgebraicNode | MultiplyNode | SqrtNode;
24
+ simplify(opts?: SimplifyOptions, _log?: boolean): AlgebraicNode;
26
25
  equals(node: AlgebraicNode): boolean;
27
26
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): AlgebraicNode;
28
27
  derivative(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"sqrtNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sqrtNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,QAAQ,CAEjD;AAED,eAAO,MAAM,IAAI,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,aAItD,CAAC;AAEF,qBAAa,QAAS,YAAW,YAAY;IAC3C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAMtB,KAAK,IAAI,MAAM;IAIf,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAwBtD,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAG5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ;IAyD7C,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,UAAU,IAAI,aAAa;IAG3B,mBAAmB;CAQpB"}
1
+ {"version":3,"file":"sqrtNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/sqrtNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAK/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKrE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,QAAQ,CAEjD;AAED,eAAO,MAAM,IAAI,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,aAItD,CAAC;AAEF,qBAAa,QAAS,YAAW,YAAY;IAC3C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBACP,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW;IAOpD,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAMtB,KAAK,IAAI,MAAM;IAIf,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAwBtD,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAG5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,UAAQ,GAAG,aAAa;IAyD7D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAMxD,UAAU,IAAI,aAAa;IAG3B,mBAAmB;CAQpB"}
@@ -17,6 +17,7 @@ export declare class TanNode implements FunctionNode {
17
17
  };
18
18
  toMathString(): string;
19
19
  toTex(): string;
20
+ toSimplificationTex(): string;
20
21
  toEquivalentNodes(): AlgebraicNode[];
21
22
  toAllValidTexs(): string[];
22
23
  simplify(): AlgebraicNode;
@@ -1 +1 @@
1
- {"version":3,"file":"tanNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/tanNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIrE,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAIf,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IA6BzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"tanNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/functions/tanNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIrE,eAAO,MAAM,GAAG,GAAI,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,YAIrD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAE/C;AAED,qBAAa,OAAQ,YAAW,YAAY;IAC1C,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,aAAa;IAMhC,aAAa;;;;;;IAMb,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,MAAM;IAGf,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,IAAI,aAAa,EAAE;IASpC,cAAc,IAAI,MAAM,EAAE;IAI1B,QAAQ,IAAI,aAAa;IA6BzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;IAO9D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAGpC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAGxD,UAAU,IAAI,aAAa;CAG5B"}
@@ -32,6 +32,9 @@ export class TanNode {
32
32
  toTex() {
33
33
  return `\\tan\\left(${this.child.toTex()}\\right)`;
34
34
  }
35
+ toSimplificationTex() {
36
+ throw new Error("unimplemented");
37
+ }
35
38
  toEquivalentNodes() {
36
39
  const res = [];
37
40
  const childNodes = this.child.toEquivalentNodes();
@@ -15,6 +15,7 @@ export declare class DegreeNode implements AlgebraicNode {
15
15
  toMathString(): string;
16
16
  toTex(): string;
17
17
  toMathjs(): string;
18
+ toSimplificationTex(): string;
18
19
  toAllValidTexs(): string[];
19
20
  toEquivalentNodes(): this[];
20
21
  evaluate(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"degree.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/degree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,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;gBACP,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAO5D,aAAa;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAGR,cAAc;IAQd,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"degree.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/degree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,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;gBACP,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAO5D,aAAa;;;;IAMb,YAAY,IAAI,MAAM;IAGtB,KAAK,IAAI,MAAM;IAGf,QAAQ;IAGR,mBAAmB,IAAI,MAAM;IAG7B,cAAc;IAQd,iBAAiB;IAGjB,QAAQ;IAGR,QAAQ;IAGR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IAAI,aAAa;CAG5B"}
@@ -30,6 +30,9 @@ export class DegreeNode {
30
30
  toMathjs() {
31
31
  return this.toMathString();
32
32
  }
33
+ toSimplificationTex() {
34
+ throw new Error("unimplemented");
35
+ }
33
36
  toAllValidTexs() {
34
37
  const res = [];
35
38
  res.push(this.tex);
@@ -14,6 +14,7 @@ export declare class LengthNode implements AlgebraicNode {
14
14
  name: string;
15
15
  };
16
16
  toEquivalentNodes(): LengthNode[];
17
+ toSimplificationTex(): string;
17
18
  toMathString(): string;
18
19
  toMathjs(): string;
19
20
  toTex(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"lengthNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/lengthNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,eAE/B,CAAC;AACF,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAUnD,cAAc;IAGd,aAAa;;;;IAMb,iBAAiB;IAOjB,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAIL,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQtC,QAAQ;IAOR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IAAI,aAAa;CAG5B"}
1
+ {"version":3,"file":"lengthNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/lengthNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,UAAU,CAErD;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,eAE/B,CAAC;AACF,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBACP,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAUnD,cAAc;IAGd,aAAa;;;;IAMb,iBAAiB;IAMjB,mBAAmB,IAAI,MAAM;IAG7B,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAIL,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQtC,QAAQ;IAOR,MAAM,CAAC,IAAI,EAAE,aAAa;IAG1B,oBAAoB;IAGpB,UAAU,IAAI,aAAa;CAG5B"}
@@ -34,6 +34,9 @@ export class LengthNode {
34
34
  new LengthNode(this.segmentName.split("").reverse().join("")),
35
35
  ];
36
36
  }
37
+ toSimplificationTex() {
38
+ throw new Error("unimplemented");
39
+ }
37
40
  toMathString() {
38
41
  return this.toTex();
39
42
  }
@@ -13,6 +13,7 @@ export declare class PointNode implements AlgebraicNode {
13
13
  };
14
14
  toAllTexs(): string[];
15
15
  toAllValidTexs(): string[];
16
+ toSimplificationTex(): string;
16
17
  derivative(): AlgebraicNode;
17
18
  equals(node: AlgebraicNode): boolean;
18
19
  evaluate(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"pointNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/pointNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,SAAU,YAAW,aAAa;IAC7C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW;IAM5C,aAAa;;;;IAMb,SAAS;IAGT,cAAc;IAMd,UAAU,IAAI,aAAa;IAG3B,MAAM,CAAC,IAAI,EAAE,aAAa;IAK1B,QAAQ;IAGR,oBAAoB,IAAI,aAAa;IAIrC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAepC,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAGL,QAAQ;CAGT"}
1
+ {"version":3,"file":"pointNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/pointNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,SAAU,YAAW,aAAa;IAC7C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW;IAM5C,aAAa;;;;IAMb,SAAS;IAGT,cAAc;IAKd,mBAAmB,IAAI,MAAM;IAG7B,UAAU,IAAI,aAAa;IAG3B,MAAM,CAAC,IAAI,EAAE,aAAa;IAK1B,QAAQ;IAGR,oBAAoB,IAAI,aAAa;IAIrC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAepC,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAGL,QAAQ;CAGT"}
@@ -24,6 +24,9 @@ export class PointNode {
24
24
  toAllValidTexs() {
25
25
  return this.toEquivalentNodes(this.opts).flatMap((node) => node.toAllTexs());
26
26
  }
27
+ toSimplificationTex() {
28
+ throw new Error("unimplemented");
29
+ }
27
30
  derivative() {
28
31
  throw new Error("can't derivate point");
29
32
  }
@@ -12,6 +12,7 @@ export declare class VectorNode implements AlgebraicNode {
12
12
  name: string;
13
13
  };
14
14
  toEquivalentNodes(): this[];
15
+ toSimplificationTex(): string;
15
16
  derivative(): AlgebraicNode;
16
17
  equals(): boolean;
17
18
  evaluate(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"vectorNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/vectorNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAU5C,cAAc;IAGd,aAAa;;;;IAMb,iBAAiB;IAIjB,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;IAGrC,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAGL,QAAQ;CAGT"}
1
+ {"version":3,"file":"vectorNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/geometry/vectorNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEP,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW;IAU5C,cAAc;IAGd,aAAa;;;;IAMb,iBAAiB;IAGjB,mBAAmB,IAAI,MAAM;IAG7B,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;IAGrC,YAAY;IAGZ,QAAQ;IAIR,KAAK;IAGL,QAAQ;CAGT"}
@@ -25,6 +25,9 @@ export class VectorNode {
25
25
  toEquivalentNodes() {
26
26
  return [this];
27
27
  }
28
+ toSimplificationTex() {
29
+ throw new Error("unimplemented");
30
+ }
28
31
  derivative() {
29
32
  throw new Error("unimplemented");
30
33
  }
@@ -22,6 +22,7 @@ export declare class InequationNode implements AlgebraicNode {
22
22
  /**turns x<3 into 3>x */
23
23
  toReversed(): InequationNode;
24
24
  toSwitched(): InequationNode;
25
+ toSimplificationTex(): string;
25
26
  toSwicthedStrictness(): InequationNode;
26
27
  toAllValidTexs(): string[];
27
28
  toEquivalentNodes(): InequationNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"inequationNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/inequations/inequationNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAK1D,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;gBAEjB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB;IAwBhD,aAAa;;;;;;;IAOb,UAAU;IA8CV,wBAAwB;IACxB,UAAU;IAQV,UAAU;IAMV,oBAAoB;IAMpB,cAAc;IAGd,iBAAiB;IAYjB,YAAY;IAGZ,SAAS;IAGT,KAAK;IAGL,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc;IAehD,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC;AAED,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,OAAO,gBAAgB,EACvB,OAAO,aAAa,WAuBrB,CAAC"}
1
+ {"version":3,"file":"inequationNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/inequations/inequationNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAK1D,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;gBAEjB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB;IAwBhD,aAAa;;;;;;;IAOb,UAAU;IA8CV,wBAAwB;IACxB,UAAU;IAQV,UAAU;IAMV,mBAAmB,IAAI,MAAM;IAG7B,oBAAoB;IAMpB,cAAc;IAGd,iBAAiB;IAYjB,YAAY;IAGZ,SAAS;IAGT,KAAK;IAGL,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc;IAehD,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC;AAED,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,OAAO,gBAAgB,EACvB,OAAO,aAAa,WAuBrB,CAAC"}
@@ -92,6 +92,9 @@ export class InequationNode {
92
92
  toSwitched() {
93
93
  return new InequationNode(this.children, this.symbols.map((el) => new InequationSymbol(el).reversed()));
94
94
  }
95
+ toSimplificationTex() {
96
+ throw new Error("unimplemented");
97
+ }
95
98
  toSwicthedStrictness() {
96
99
  return new InequationNode(this.children, this.symbols.map((el) => new InequationSymbol(el).strictnessToggled()));
97
100
  }
@@ -25,6 +25,7 @@ export declare class InequationSolutionNode implements AlgebraicNode {
25
25
  };
26
26
  toAllTexs(): string[];
27
27
  toAllValidTexs(): string[];
28
+ toSimplificationTex(): string;
28
29
  toEquivalentNodes(opts?: NodeOptions): (import("./inequationNode.js").InequationNode | InequationSolutionNode)[];
29
30
  toMathString(): string;
30
31
  toTex(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"inequationSolutionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/inequations/inequationSolutionNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAkB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,aAAa,GACf,CAAC,IAAI,sBAAsB,CAE7B;AAED,KAAK,6BAA6B,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAC/E,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,YAAY,GAAG,iBAAiB,CAAC;IACnD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBAEjB,gBAAgB,EAAE,YAAY,GAAG,iBAAiB,EAClD,MAAM,CAAC,EAAE,6BAA6B;IAcxC,aAAa;;;;;;;;;IAMb,SAAS;IAUT,cAAc;IAId,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAepC,YAAY;IAIZ,KAAK;IAGL,QAAQ;IAIR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
1
+ {"version":3,"file":"inequationSolutionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/inequations/inequationSolutionNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAkB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,aAAa,GACf,CAAC,IAAI,sBAAsB,CAE7B;AAED,KAAK,6BAA6B,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAC/E,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,YAAY,GAAG,iBAAiB,CAAC;IACnD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBAEjB,gBAAgB,EAAE,YAAY,GAAG,iBAAiB,EAClD,MAAM,CAAC,EAAE,6BAA6B;IAcxC,aAAa;;;;;;;;;IAMb,SAAS;IAUT,cAAc;IAGd,mBAAmB,IAAI,MAAM;IAG7B,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IAepC,YAAY;IAIZ,KAAK;IAGL,QAAQ;IAIR,UAAU,IAAI,aAAa;IAG3B,MAAM,IAAI,OAAO;IAGjB,QAAQ,IAAI,MAAM;IAGlB,oBAAoB,IAAI,aAAa;CAGtC"}
@@ -39,6 +39,9 @@ export class InequationSolutionNode {
39
39
  toAllValidTexs() {
40
40
  return this.toEquivalentNodes(this.opts).flatMap((el) => el.toAllTexs());
41
41
  }
42
+ toSimplificationTex() {
43
+ throw new Error("unimplemented");
44
+ }
42
45
  toEquivalentNodes(opts) {
43
46
  if (isIntervalNode(this.intervalSolution)) {
44
47
  const equivs = this.intervalSolution.toEquivalentNodes(opts ?? this.opts);
@@ -1,5 +1,5 @@
1
1
  import { Node, NodeIds, NodeType } from "../node.js";
2
- import { AlgebraicNode } from "../algebraicNode.js";
2
+ import { AlgebraicNode, SimplifyOptions } from "../algebraicNode.js";
3
3
  export declare function isInfiniteNode(a: Node): a is ConstantNode;
4
4
  export declare function isConstantNode(a: Node): a is ConstantNode;
5
5
  export declare class ConstantNode implements AlgebraicNode {
@@ -20,7 +20,8 @@ export declare class ConstantNode implements AlgebraicNode {
20
20
  };
21
21
  toEquivalentNodes(): this[];
22
22
  evaluate(): number;
23
- simplify(): this;
23
+ simplify(_opts?: SimplifyOptions): this;
24
+ toSimplificationTex(opts?: SimplifyOptions): string;
24
25
  equals(node: AlgebraicNode): boolean;
25
26
  toDetailedEvaluation(vars: Record<string, AlgebraicNode>): AlgebraicNode;
26
27
  derivative(): AlgebraicNode;
@@ -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
  }