pimath 0.0.42 → 0.0.46

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 (57) hide show
  1. package/.eslintrc.js +23 -23
  2. package/dist/pi.js +327 -579
  3. package/dist/pi.js.map +1 -1
  4. package/dist/pi.min.js +1 -1
  5. package/dist/pi.min.js.map +1 -1
  6. package/docs/assets/highlight.css +78 -78
  7. package/docs/assets/icons.css +1043 -1043
  8. package/docs/assets/main.js +52 -52
  9. package/docs/assets/search.js +1 -1
  10. package/docs/assets/style.css +1388 -1388
  11. package/docs/classes/{algebra.Equation.html → Algebra.Equation.html} +25 -25
  12. package/docs/classes/algebra.Logicalset.html +4 -4
  13. package/docs/classes/algebra.Monom.html +113 -113
  14. package/docs/classes/algebra.Polynom.html +29 -29
  15. package/docs/classes/algebra.Rational.html +3 -3
  16. package/docs/classes/coefficients.Fraction.html +18 -18
  17. package/docs/classes/coefficients.Nthroot.html +2 -2
  18. package/docs/classes/geometry.Circle.html +2 -2
  19. package/docs/classes/geometry.Line.html +2 -2
  20. package/docs/classes/geometry.Triangle.html +16 -16
  21. package/docs/classes/numeric.Numeric.html +13 -13
  22. package/docs/classes/shutingyard.Shutingyard.html +17 -17
  23. package/docs/index.html +10 -10
  24. package/docs/modules/{algebra.html → Algebra.html} +0 -0
  25. package/docs/modules/{random.html → Random.html} +0 -0
  26. package/esm/index.d.ts +2 -2
  27. package/esm/index.js +2 -2
  28. package/esm/maths/algebra/equation.d.ts +2 -7
  29. package/esm/maths/algebra/equation.js +9 -52
  30. package/esm/maths/algebra/equation.js.map +1 -1
  31. package/esm/maths/algebra/polynom.d.ts +1 -4
  32. package/esm/maths/algebra/polynom.js +62 -120
  33. package/esm/maths/algebra/polynom.js.map +1 -1
  34. package/esm/maths/algebra/rational.d.ts +6 -16
  35. package/esm/maths/algebra/rational.js +30 -141
  36. package/esm/maths/algebra/rational.js.map +1 -1
  37. package/esm/maths/coefficients/fraction.d.ts +1 -3
  38. package/esm/maths/coefficients/fraction.js +5 -37
  39. package/esm/maths/coefficients/fraction.js.map +1 -1
  40. package/esm/maths/coefficients/{nthRoot.d.ts → nthroot.d.ts} +5 -5
  41. package/esm/maths/coefficients/{nthRoot.js → nthroot.js} +5 -5
  42. package/esm/maths/coefficients/{nthRoot.js.map → nthroot.js.map} +1 -1
  43. package/esm/maths/geometry/line.js +0 -8
  44. package/esm/maths/geometry/line.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/index.ts +2 -2
  47. package/src/maths/algebra/equation.ts +12 -61
  48. package/src/maths/algebra/polynom.ts +68 -128
  49. package/src/maths/algebra/rational.ts +98 -242
  50. package/src/maths/coefficients/fraction.ts +6 -44
  51. package/src/maths/coefficients/{nthRoot.ts → nthroot.ts} +5 -5
  52. package/src/maths/geometry/line.ts +1 -0
  53. package/tests/algebra/monom.test.ts +4 -1
  54. package/tests/coefficients/fraction.test.ts +1 -43
  55. package/tests/geometry/circle.test.ts +2 -4
  56. package/tests/algebra/equation.test.ts +0 -38
  57. package/tests/algebra/rationnal.test.ts +0 -68
@@ -1,18 +1,18 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Shutingyard | pimath</title><meta name="description" content="Documentation for pimath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></link>}); }</head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">pimath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">pimath</a></li><li><a href="../modules/shutingyard.html">shutingyard</a></li><li><a href="shutingyard.Shutingyard.html">Shutingyard</a></li></ul><h1>Class Shutingyard</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Shutingyard</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#_mode" class="tsd-kind-icon">_mode</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_rpn" class="tsd-kind-icon">_rpn</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConfig" class="tsd-kind-icon">_token<wbr/>Config</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConstant" class="tsd-kind-icon">_token<wbr/>Constant</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenKeys" class="tsd-kind-icon">_token<wbr/>Keys</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_uniformize" class="tsd-kind-icon">_uniformize</a></li></ul></section><section class="tsd-index-section "><h3>Accessors</h3><ul class="tsd-index-list"><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#rpn" class="tsd-kind-icon">rpn</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#NextToken" class="tsd-kind-icon">Next<wbr/>Token</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#Uniformizer" class="tsd-kind-icon">Uniformizer</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#parse" class="tsd-kind-icon">parse</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#tokenConfigInitialization" class="tsd-kind-icon">token<wbr/>Config<wbr/>Initialization</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Shutingyard<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">?: </span><a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L42">shutingyard.ts:42</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> mode: <a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_mode" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> _mode</h3><div class="tsd-signature tsd-kind-icon">_mode<span class="tsd-signature-symbol">:</span> <a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L36">shutingyard.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_rpn" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _rpn</h3><div class="tsd-signature tsd-kind-icon">_rpn<span class="tsd-signature-symbol">:</span> <a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L35">shutingyard.ts:35</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenConfig" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Config<span class="tsd-signature-symbol">:</span> <a href="../modules/shutingyard.html#tokenType-1" class="tsd-signature-type" data-tsd-kind="Type alias">tokenType</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L37">shutingyard.ts:37</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenConstant" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Constant</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Constant<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L38">shutingyard.ts:38</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-index-signature"><h5><span class="tsd-signature-symbol">[</span>Key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">number</span></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenKeys" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Keys</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Keys<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L40">shutingyard.ts:40</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_uniformize" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _uniformize</h3><div class="tsd-signature tsd-kind-icon">_uniformize<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L39">shutingyard.ts:39</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Accessors</h2><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"><a id="rpn" class="tsd-anchor"></a><h3>rpn</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> rpn<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L353">shutingyard.ts:353</a></li></ul></aside><h4 class="tsd-returns-title">Returns <a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="NextToken" class="tsd-anchor"></a><h3>Next<wbr/>Token</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">Next<wbr/>Token<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, start<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L111">shutingyard.ts:111</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
- <p>Get the next token to analyse.</p>
3
- </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
- <p>(string) Expression to analyse</p>
5
- </div></div></li><li><h5>start: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
6
- <p>(number) CUrrent position in the expr string.</p>
7
- </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Uniformizer" class="tsd-anchor"></a><h3>Uniformizer</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">Uniformizer<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L181">shutingyard.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
8
- <p>Sanitize an expression by adding missing common operation (multiplication between parentheseses)</p>
9
- </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="parse" class="tsd-anchor"></a><h3>parse</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">parse<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, operators<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L222">shutingyard.ts:222</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
10
- <p>Parse an expression using the shutting yard tree algorithms</p>
11
- </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
12
- <p>(string) Expression to analyse
13
- Returns a RPN list of items.</p>
14
- </div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> operators: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
15
- </div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="tokenConfigInitialization" class="tsd-anchor"></a><h3>token<wbr/>Config<wbr/>Initialization</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">token<wbr/>Config<wbr/>Initialization<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/shutingyard.html#tokenType-1" class="tsd-signature-type" data-tsd-kind="Type alias">tokenType</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L64">shutingyard.ts:64</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
16
- <p>Determin if the token is a defined operation
17
- Defined operations: + - * / ^ sin cos tan</p>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Shutingyard | pimath</title><meta name="description" content="Documentation for pimath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></link>}); }</head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">pimath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">pimath</a></li><li><a href="../modules/shutingyard.html">shutingyard</a></li><li><a href="shutingyard.Shutingyard.html">Shutingyard</a></li></ul><h1>Class Shutingyard</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Shutingyard</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#_mode" class="tsd-kind-icon">_mode</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_rpn" class="tsd-kind-icon">_rpn</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConfig" class="tsd-kind-icon">_token<wbr/>Config</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConstant" class="tsd-kind-icon">_token<wbr/>Constant</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenKeys" class="tsd-kind-icon">_token<wbr/>Keys</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_uniformize" class="tsd-kind-icon">_uniformize</a></li></ul></section><section class="tsd-index-section "><h3>Accessors</h3><ul class="tsd-index-list"><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#rpn" class="tsd-kind-icon">rpn</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#NextToken" class="tsd-kind-icon">Next<wbr/>Token</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#Uniformizer" class="tsd-kind-icon">Uniformizer</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#parse" class="tsd-kind-icon">parse</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#tokenConfigInitialization" class="tsd-kind-icon">token<wbr/>Config<wbr/>Initialization</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Shutingyard<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">?: </span><a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L42">shutingyard.ts:42</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> mode: <a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_mode" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> _mode</h3><div class="tsd-signature tsd-kind-icon">_mode<span class="tsd-signature-symbol">:</span> <a href="../enums/shutingyard.ShutingyardMode.html" class="tsd-signature-type" data-tsd-kind="Enumeration">ShutingyardMode</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L36">shutingyard.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_rpn" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _rpn</h3><div class="tsd-signature tsd-kind-icon">_rpn<span class="tsd-signature-symbol">:</span> <a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L35">shutingyard.ts:35</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenConfig" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Config<span class="tsd-signature-symbol">:</span> <a href="../modules/shutingyard.html#tokenType-1" class="tsd-signature-type" data-tsd-kind="Type alias">tokenType</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L37">shutingyard.ts:37</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenConstant" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Constant</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Constant<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L38">shutingyard.ts:38</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-index-signature"><h5><span class="tsd-signature-symbol">[</span>Key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">number</span></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_tokenKeys" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _token<wbr/>Keys</h3><div class="tsd-signature tsd-kind-icon">_token<wbr/>Keys<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L40">shutingyard.ts:40</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="_uniformize" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> _uniformize</h3><div class="tsd-signature tsd-kind-icon">_uniformize<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L39">shutingyard.ts:39</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Accessors</h2><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"><a id="rpn" class="tsd-anchor"></a><h3>rpn</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> rpn<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L353">shutingyard.ts:353</a></li></ul></aside><h4 class="tsd-returns-title">Returns <a href="../modules/shutingyard.html#Token" class="tsd-signature-type" data-tsd-kind="Type alias">Token</a><span class="tsd-signature-symbol">[]</span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="NextToken" class="tsd-anchor"></a><h3>Next<wbr/>Token</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">Next<wbr/>Token<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, start<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L111">shutingyard.ts:111</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
+ <p>Get the next token to analyse.</p>
3
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
+ <p>(string) Expression to analyse</p>
5
+ </div></div></li><li><h5>start: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
6
+ <p>(number) CUrrent position in the expr string.</p>
7
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Uniformizer" class="tsd-anchor"></a><h3>Uniformizer</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">Uniformizer<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L181">shutingyard.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
8
+ <p>Sanitize an expression by adding missing common operation (multiplication between parentheseses)</p>
9
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="parse" class="tsd-anchor"></a><h3>parse</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">parse<span class="tsd-signature-symbol">(</span>expr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, operators<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L222">shutingyard.ts:222</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
10
+ <p>Parse an expression using the shutting yard tree algorithms</p>
11
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>expr: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
12
+ <p>(string) Expression to analyse
13
+ Returns a RPN list of items.</p>
14
+ </div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> operators: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
15
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="shutingyard.Shutingyard.html" class="tsd-signature-type" data-tsd-kind="Class">Shutingyard</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="tokenConfigInitialization" class="tsd-anchor"></a><h3>token<wbr/>Config<wbr/>Initialization</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">token<wbr/>Config<wbr/>Initialization<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/shutingyard.html#tokenType-1" class="tsd-signature-type" data-tsd-kind="Type alias">tokenType</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/623f193/src/maths/shutingyard.ts#L64">shutingyard.ts:64</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
16
+ <p>Determin if the token is a defined operation
17
+ Defined operations: + - * / ^ sin cos tan</p>
18
18
  </div></div><h4 class="tsd-returns-title">Returns <a href="../modules/shutingyard.html#tokenType-1" class="tsd-signature-type" data-tsd-kind="Type alias">tokenType</a></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="../modules/algebra.html">algebra</a></li><li class=" tsd-kind-module"><a href="../modules/coefficients.html">coefficients</a></li><li class=" tsd-kind-module"><a href="../modules/geometry.html">geometry</a></li><li class=" tsd-kind-module"><a href="../modules/numeric.html">numeric</a></li><li class=" tsd-kind-module"><a href="../modules/random.html">random</a></li><li class="current tsd-kind-module"><a href="../modules/shutingyard.html">shutingyard</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class tsd-parent-kind-module"><a href="shutingyard.Shutingyard.html" class="tsd-kind-icon">Shutingyard</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#_mode" class="tsd-kind-icon">_mode</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_rpn" class="tsd-kind-icon">_rpn</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConfig" class="tsd-kind-icon">_token<wbr/>Config</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenConstant" class="tsd-kind-icon">_token<wbr/>Constant</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_tokenKeys" class="tsd-kind-icon">_token<wbr/>Keys</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="shutingyard.Shutingyard.html#_uniformize" class="tsd-kind-icon">_uniformize</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#rpn" class="tsd-kind-icon">rpn</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#NextToken" class="tsd-kind-icon">Next<wbr/>Token</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#Uniformizer" class="tsd-kind-icon">Uniformizer</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#parse" class="tsd-kind-icon">parse</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="shutingyard.Shutingyard.html#tokenConfigInitialization" class="tsd-kind-icon">token<wbr/>Config<wbr/>Initialization</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
package/docs/index.html CHANGED
@@ -1,11 +1,11 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>pimath</title><meta name="description" content="Documentation for pimath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></link>}); }</head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">pimath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1> pimath</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><div class="tsd-panel tsd-typography">
2
- <a href="#pi---javascript-math-in-your-hands" id="pi---javascript-math-in-your-hands" style="color: inherit; text-decoration: none;">
3
- <h1>PI - javascript math in your hands </h1>
4
- </a>
5
- <p>PI is a script designed to create and generate mathematical exercises.
6
- Each class has a tex output, designed to be used in any LaTeX document.</p>
7
- <p>Fraction will create... fraction !</p>
8
- <pre><code><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-2">A</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Pi</span><span class="hl-1">.</span><span class="hl-4">Fraction</span><span class="hl-1">(</span><span class="hl-5">&#39;2/3&#39;</span><span class="hl-1">);</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-3">frac</span><span class="hl-1">) </span><span class="hl-6">// -&gt; \frac{ 2 }{ 3 }</span><br/><br/><span class="hl-6">// Add another fraction</span><br/><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-2">B</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Pi</span><span class="hl-1">.</span><span class="hl-4">Fraction</span><span class="hl-1">(</span><span class="hl-5">&#39;2/5&#39;</span><span class="hl-1">);</span><br/><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-2">B</span><span class="hl-1">);</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-3">frac</span><span class="hl-1">) </span><span class="hl-6">// -&gt; \frac{ 16 }{ 15 }</span>
9
- </code></pre>
10
- <p>New version</p>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>pimath</title><meta name="description" content="Documentation for pimath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></link>}); }</head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">pimath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1> pimath</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><div class="tsd-panel tsd-typography">
2
+ <a href="#pi---javascript-math-in-your-hands" id="pi---javascript-math-in-your-hands" style="color: inherit; text-decoration: none;">
3
+ <h1>PI - javascript math in your hands </h1>
4
+ </a>
5
+ <p>PI is a script designed to create and generate mathematical exercises.
6
+ Each class has a tex output, designed to be used in any LaTeX document.</p>
7
+ <p>Fraction will create... fraction !</p>
8
+ <pre><code><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-2">A</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Pi</span><span class="hl-1">.</span><span class="hl-4">Fraction</span><span class="hl-1">(</span><span class="hl-5">&#39;2/3&#39;</span><span class="hl-1">);</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-3">frac</span><span class="hl-1">) </span><span class="hl-6">// -&gt; \frac{ 2 }{ 3 }</span><br/><br/><span class="hl-6">// Add another fraction</span><br/><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-2">B</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Pi</span><span class="hl-1">.</span><span class="hl-4">Fraction</span><span class="hl-1">(</span><span class="hl-5">&#39;2/5&#39;</span><span class="hl-1">);</span><br/><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-2">B</span><span class="hl-1">);</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-2">A</span><span class="hl-1">.</span><span class="hl-3">frac</span><span class="hl-1">) </span><span class="hl-6">// -&gt; \frac{ 16 }{ 15 }</span>
9
+ </code></pre>
10
+ <p>New version</p>
11
11
  </div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="modules/algebra.html">algebra</a></li><li class=" tsd-kind-module"><a href="modules/coefficients.html">coefficients</a></li><li class=" tsd-kind-module"><a href="modules/geometry.html">geometry</a></li><li class=" tsd-kind-module"><a href="modules/numeric.html">numeric</a></li><li class=" tsd-kind-module"><a href="modules/random.html">random</a></li><li class=" tsd-kind-module"><a href="modules/shutingyard.html">shutingyard</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
File without changes
File without changes
package/esm/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { NumExp } from "./maths/expressions/numexp";
3
3
  import { Shutingyard } from "./maths/shutingyard";
4
4
  import { Random } from "./maths/randomization/random";
5
5
  import { Fraction } from "./maths/coefficients/fraction";
6
- import { NthRoot } from "./maths/coefficients/nthRoot";
6
+ import { Nthroot } from "./maths/coefficients/nthroot";
7
7
  import { Monom } from "./maths/algebra/monom";
8
8
  import { Polynom } from "./maths/algebra/polynom";
9
9
  import { Equation } from "./maths/algebra/equation";
@@ -21,7 +21,7 @@ export declare const PiMath: {
21
21
  Numeric: typeof Numeric;
22
22
  NumExp: typeof NumExp;
23
23
  Fraction: typeof Fraction;
24
- Root: typeof NthRoot;
24
+ Root: typeof Nthroot;
25
25
  Monom: typeof Monom;
26
26
  Polynom: typeof Polynom;
27
27
  Equation: typeof Equation;
package/esm/index.js CHANGED
@@ -6,7 +6,7 @@ const numexp_1 = require("./maths/expressions/numexp");
6
6
  const shutingyard_1 = require("./maths/shutingyard");
7
7
  const random_1 = require("./maths/randomization/random");
8
8
  const fraction_1 = require("./maths/coefficients/fraction");
9
- const nthRoot_1 = require("./maths/coefficients/nthRoot");
9
+ const nthroot_1 = require("./maths/coefficients/nthroot");
10
10
  const monom_1 = require("./maths/algebra/monom");
11
11
  const polynom_1 = require("./maths/algebra/polynom");
12
12
  const equation_1 = require("./maths/algebra/equation");
@@ -25,7 +25,7 @@ exports.PiMath = {
25
25
  Numeric: numeric_1.Numeric,
26
26
  NumExp: numexp_1.NumExp,
27
27
  Fraction: fraction_1.Fraction,
28
- Root: nthRoot_1.NthRoot,
28
+ Root: nthroot_1.Nthroot,
29
29
  Monom: monom_1.Monom,
30
30
  Polynom: polynom_1.Polynom,
31
31
  Equation: equation_1.Equation,
@@ -4,15 +4,11 @@ import { Fraction } from "../coefficients/fraction";
4
4
  /**
5
5
  * Equation is a class to manage equations...
6
6
  */
7
- export interface ISolution {
7
+ interface ISolution {
8
8
  tex: string;
9
9
  value: number;
10
10
  exact: unknown;
11
11
  }
12
- export declare enum PARTICULAR_SOLUTION {
13
- real = "\\mathbb{R}",
14
- varnothing = "\\varnothing"
15
- }
16
12
  export declare class Equation {
17
13
  private _polynom;
18
14
  private _varnothing;
@@ -44,7 +40,6 @@ export declare class Equation {
44
40
  get raw(): string;
45
41
  get variables(): string[];
46
42
  get numberOfVars(): number;
47
- hasVariable: (letter: string) => boolean;
48
43
  private _randomizeDefaults;
49
44
  get randomizeDefaults(): {
50
45
  [key: string]: number | string | boolean;
@@ -102,7 +97,6 @@ export declare class Equation {
102
97
  isMultiVariable: () => boolean;
103
98
  letters: () => string[];
104
99
  solve: () => Equation;
105
- static makeSolutionsUnique(solutions: ISolution[], sorted?: boolean): ISolution[];
106
100
  test: (values: literalType) => Boolean;
107
101
  private _findSign;
108
102
  private _formatSign;
@@ -114,3 +108,4 @@ export declare class Equation {
114
108
  private _solveDegree2;
115
109
  private _solveDegree3plus;
116
110
  }
111
+ export {};
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Equation = exports.PARTICULAR_SOLUTION = void 0;
3
+ exports.Equation = void 0;
4
4
  const polynom_1 = require("./polynom");
5
5
  const numeric_1 = require("../numeric");
6
6
  const fraction_1 = require("../coefficients/fraction");
7
- const nthRoot_1 = require("../coefficients/nthRoot");
8
- var PARTICULAR_SOLUTION;
9
- (function (PARTICULAR_SOLUTION) {
10
- PARTICULAR_SOLUTION["real"] = "\\mathbb{R}";
11
- PARTICULAR_SOLUTION["varnothing"] = "\\varnothing";
12
- })(PARTICULAR_SOLUTION = exports.PARTICULAR_SOLUTION || (exports.PARTICULAR_SOLUTION = {}));
7
+ const nthroot_1 = require("../coefficients/nthroot");
13
8
  class Equation {
14
9
  /**
15
10
  * Create an Equation using two polynoms.
@@ -18,11 +13,8 @@ class Equation {
18
13
  */
19
14
  constructor(...equations) {
20
15
  // Undetermined texSolutions.
21
- this._varnothing = PARTICULAR_SOLUTION.varnothing;
22
- this._real = PARTICULAR_SOLUTION.real;
23
- this.hasVariable = (letter) => {
24
- return this.variables.includes(letter);
25
- };
16
+ this._varnothing = '\\varnothing';
17
+ this._real = '\\mathbb{R}';
26
18
  // ------------------------------------------
27
19
  // Creation / parsing functions
28
20
  // -----------------------------------------------
@@ -217,8 +209,6 @@ class Equation {
217
209
  default:
218
210
  this._solveDegree3plus();
219
211
  }
220
- // cleanup the solutions.
221
- this._solutions = Equation.makeSolutionsUnique(this._solutions);
222
212
  return this;
223
213
  };
224
214
  this.test = (values) => {
@@ -349,7 +339,7 @@ class Equation {
349
339
  }
350
340
  else {
351
341
  this._solutions = [{
352
- tex: v.tex,
342
+ tex: v.display,
353
343
  value: v.value,
354
344
  exact: v
355
345
  }];
@@ -409,7 +399,7 @@ class Equation {
409
399
  ];
410
400
  }
411
401
  else {
412
- nthDelta = new nthRoot_1.NthRoot(delta).reduce();
402
+ nthDelta = new nthroot_1.Nthroot(delta).reduce();
413
403
  if (nthDelta.hasRadical()) {
414
404
  // -b +- coeff\sqrt{radical}
415
405
  // -------------------------
@@ -583,27 +573,9 @@ class Equation {
583
573
  }
584
574
  return this._solutions;
585
575
  };
586
- this._solveDegree3plus = (letter) => {
587
- // Push everything to the left
588
- // factorize
589
- // solve each factors.
590
- let equ = this.clone().moveLeft();
591
- equ.left.factorize();
592
- this._solutions = [];
593
- equ.left.factors.forEach(factor => {
594
- if (factor.degree(letter).leq(2)) {
595
- let factorAsEquation = new Equation(factor, 0);
596
- factorAsEquation.solve();
597
- factorAsEquation.solutions.forEach(solution => {
598
- this._solutions.push(solution);
599
- });
600
- }
601
- else {
602
- console.log(factor.tex, ': cannot actually get the solution of this equation');
603
- }
604
- });
605
- // TODO: check equation resolution for more than degree 2
606
- // this._solutions = [{tex: 'solve x - not yet handled', value: NaN, exact: false}]; // ESLint remove system :(
576
+ this._solveDegree3plus = () => {
577
+ // TODO: try to resolve equations with a degree superior than 2.
578
+ this._solutions = [{ tex: 'solve x - not yet handled', value: NaN, exact: false }]; // ESLint remove system :(
607
579
  return this._solutions;
608
580
  };
609
581
  // Default equation
@@ -718,21 +690,6 @@ class Equation {
718
690
  set randomizeDefaults(value) {
719
691
  this._randomizeDefaults = value;
720
692
  }
721
- static makeSolutionsUnique(solutions, sorted) {
722
- let solutionAsTex = [], uniqueSolutions = solutions.filter(sol => {
723
- if (!solutionAsTex.includes(sol.tex)) {
724
- solutionAsTex.push(sol.tex);
725
- return true;
726
- }
727
- else {
728
- return false;
729
- }
730
- });
731
- if (sorted === true) {
732
- uniqueSolutions.sort((a, b) => a.value - b.value);
733
- }
734
- return uniqueSolutions;
735
- }
736
693
  }
737
694
  exports.Equation = Equation;
738
695
  //# sourceMappingURL=equation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equation.js","sourceRoot":"","sources":["../../../src/maths/algebra/equation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equation.js","sourceRoot":"","sources":["../../../src/maths/algebra/equation.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAElC,wCAAmC;AACnC,uDAAkD;AAClD,qDAAgD;AAWhD,MAAa,QAAQ;IAMjB;;;;OAIG;IACH,YAAY,GAAG,SAAoB;QATnC,6BAA6B;QACrB,gBAAW,GAAW,cAAc,CAAC;QACrC,UAAK,GAAW,aAAa,CAAC;QA+ItC,6CAA6C;QAC7C,+BAA+B;QAE/B,kDAAkD;QAC1C,uBAAkB,GAAiD;YACvE,MAAM,EAAE,CAAC;SACZ,CAAC;QAUF,6CAA6C;QAC7C,UAAK,GAAG,CAAC,cAAsB,EAAY,EAAE;YACzC,IAAI,IAAc,EAAE,OAAuB,CAAC;YAC5C,4BAA4B;YAC5B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAEzC,IAAI,OAAO,KAAK,KAAK,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,OAAO;aACV;YAED,uBAAuB;YACvB,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,IAAa,EAAE,KAAc,EAAE,IAAa,EAAY,EAAE;YAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,UAAK,GAAG,GAAa,EAAE;YACnB,OAAO,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEF,kDAAkD;QAClD,uCAAuC;QAEvC,cAAS,GAAG,CAAC,IAAS,EAAE,IAAa,EAAY,EAAE;YAC/C,mDAAmD;YACnD,OAAO,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAO,EAAE,EAAE,IAAI,iBAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,kDAAkD;QAClD;;WAEG;QACH,aAAQ,GAAG,GAAa,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,YAAO,GAAG,CAAC,OAAiB,EAAY,EAAE;YACtC,wDAAwD;YACxD,2CAA2C;YAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAEnB,IAAI,OAAO,EAAE;gBACT,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;aACzB;YACD,IAAI,KAAY,CAAC;YACjB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oBACrB,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC/B;aACJ;YAED,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF;;WAEG;QACH,aAAQ,GAAG,GAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,MAAM,CAAC,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAGD,kDAAkD;QAClD,uBAAuB;QAEvB;;;WAGG;QACH,YAAO,GAAG,CAAC,MAAe,EAAoB,EAAE;YAC5C,6CAA6C;YAE7C,0DAA0D;YAC1D,gDAAgD;YAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9B,OAAO,KAAK,CAAC;aAChB;YAED,qDAAqD;YACrD,4DAA4D;YAC5D,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;gBACxB,OAAO,KAAK,CAAC;aAChB;YAED,sBAAsB;YACtB,IAAI,KAAY,EAAE,KAAe,CAAC;YAClC,0CAA0C;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC7B,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBACtB,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5C;aACJ;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC;aAChB;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,MAAc,EAAE,CAAU,EAAY,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED;;;WAGG;QACH,aAAQ,GAAG,CAAC,KAAc,EAAY,EAAE;YAEpC,gCAAgC;YAChC,IAAI,CAAC,GAAa,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAC;YAEtC,qDAAqD;YACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAExB,8CAA8C;YAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,YAAY,EAAE,CAAC;aACvB;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF;;;;;;;;;;;;;WAaG;QACH,WAAM,GAAG,CAAC,KAAc,EAAY,EAAE;YAClC,gCAAgC;YAChC,IAAI,CAAC,GAAa,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACZ,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACpC;QACL,CAAC,CAAA;QAED;;;WAGG;QACH,WAAM,GAAG,CAAC,MAAe,EAAY,EAAE;YACnC,OAAO,mBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC;QAEF;;WAEG;QACH,oBAAe,GAAG,GAAY,EAAE;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QACrE,CAAC,CAAC;QAEF,YAAO,GAAG,GAAa,EAAE;YACrB,aAAa;YACb,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAA;QAED,kDAAkD;QAClD,oBAAoB;QACpB,kDAAkD;QAElD,kDAAkD;QAClD,UAAK,GAAG,GAAa,EAAE;YACnB,4BAA4B;YAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,iEAAiE;YACjE,wCAAwC;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzD,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;gBAClC,KAAK,CAAC,CAAC;gBACP,KAAK,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,MAAM;gBACV,KAAK,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,MAAM;gBACV;oBACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAChC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,MAAmB,EAAW,EAAE;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1E,CAAC,CAAA;QAEO,cAAS,GAAG,CAAC,cAAsB,EAAkB,EAAE;YAC3D,IAAI,OAAO,GAAW,EAAE,CAAC;YAEzB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;aAC/D;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;aAC/D;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtC,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtC,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrC,OAAO,GAAG,CAAC;aACd;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtC,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtC,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrC,OAAO,GAAG,CAAC;aACd;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrC,OAAO,GAAG,CAAA;aACb;YACD,IAAI,OAAO,KAAK,EAAE,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAAC;QAEF,kDAAkD;QAClD,+BAA+B;QAEvB,gBAAW,GAAG,CAAC,OAAe,EAAU,EAAE;YAC9C,IAAI,OAAO,KAAK,SAAS,EAAE;gBACvB,OAAO,GAAG,CAAC;aACd;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC9B,OAAO,GAAG,CAAC;aACd;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC9B,OAAO,GAAG,CAAC;aACd;iBAAM;gBACH,OAAO,GAAG,CAAA;aACb;QACL,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAa,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACpB,OAAO,IAAI,CAAC;aACf;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;aACf;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;aACf;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEM,cAAS,GAAG,GAAY,EAAE;YAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACf;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5C,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAY,EAAE;YAClC,OAAO,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC;QAC9B,CAAC,CAAC;QAEM,gBAAW,GAAG,GAAY,EAAE;YAChC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACf;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC;aACf;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC;aACf;QACL,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,MAAe,EAAe,EAAE;YACrD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EACzD,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EACvD,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAS,CAAC;YAEd,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;oBAChB,2DAA2D;oBAC3D,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;wBAChB,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,IAAI,CAAC,KAAK;gCACf,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf,CAAC,CAAC;qBACN;yBAAM;wBACH,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,IAAI,CAAC,WAAW;gCACrB,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf,CAAC,CAAC;qBACN;iBACJ;qBAAM;oBACH,IAAI,CAAC,UAAU,GAAG,CAAC;4BACf,GAAG,EAAE,CAAC,CAAC,OAAO;4BACd,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,KAAK,EAAE,CAAC;yBACX,CAAC,CAAA;iBACL;aACJ;iBAAM;gBACH,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;oBAChB,2DAA2D;oBAC3D,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtC,CAAC,GAAG,aAAa,CAAC;qBACrB;yBAAM;wBACH,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE;4BACd,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;yBACxD;6BAAM;4BACH,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;yBACzD;qBACJ;iBACJ;qBAAM;oBACH,oDAAoD;oBACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;wBAClF,CAAC,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,qBAAqB,CAAC;qBAC5E;yBAAM;wBACH,CAAC,GAAG,qBAAqB,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;qBAC/E;iBACJ;gBACD,IAAI,CAAC,UAAU,GAAG,CAAC;wBACf,GAAG,EAAE,CAAC;wBACN,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,KAAK;qBACf,CAAC,CAAC;aACN;YAED,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,MAAe,EAAe,EAAE;YACrD,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EACvD,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EACvD,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EACvD,KAAa,EAAE,QAAiB,EAChC,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EACjE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAC1B,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAC1B,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAC1B,MAAc,EAAE,MAAc,EAC9B,GAAW,EAAE,GAAW,CAAC;YAE7B,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE1B,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE3C,IAAI,KAAK,GAAG,KAAK,EAAE;oBACf,sCAAsC;oBACtC,IAAI,CAAC,UAAU,GAAG;wBACd;4BACI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnD,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,KAAK;yBACf;wBACD;4BACI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnD,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,KAAK;yBACf;qBACJ,CAAA;iBACJ;qBAAM;oBACH,QAAQ,GAAG,IAAI,iBAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBACvC,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;wBACvB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,eAAe;wBACf,IAAI,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACtD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC;wBAElD,qCAAqC;wBACrC,gEAAgE;wBAChE,IAAI,CAAC,KAAK,CAAC,EAAE;4BACT,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;gCACnB,IAAI,CAAC,UAAU,GAAG;oCACd;wCACI,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE;wCACpC,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK,CAAC,2CAA2C;qCAC3D;oCACD;wCACI,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE;wCACpC,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;iCAEJ,CAAA;6BACJ;iCAAM;gCACH,IAAI,CAAC,UAAU,GAAG;oCACd;wCACI,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;wCAChE,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;oCACD;wCACI,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;wCAChE,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;iCACJ,CAAA;6BACJ;yBACJ;6BAAM;4BACH,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;gCACnB,IAAI,CAAC,UAAU,GAAG;oCACd;wCACI,GAAG,EAAE,KAAK,QAAQ,CAAC,GAAG,EAAE;wCACxB,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;oCACD;wCACI,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE;wCACtB,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;iCACJ,CAAA;6BACJ;iCAAM;gCACH,IAAI,CAAC,UAAU,GAAG;oCACd;wCACI,GAAG,EAAE,aAAa,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;wCACpD,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;oCACD;wCACI,GAAG,EAAE,WAAW,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;wCAClD,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,KAAK;qCACf;iCACJ,CAAA;6BACJ;yBACJ;qBACJ;yBAAM;wBACH,eAAe;wBACf,MAAM,EAAE,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAC9D,EAAE,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;wBAChE,IAAI,CAAC,UAAU,GAAG;4BACd;gCACI,GAAG,EAAE,EAAE,CAAC,KAAK;gCACb,KAAK,EAAE,MAAM;gCACb,KAAK,EAAE,EAAE;6BACZ;4BACD;gCACI,GAAG,EAAE,EAAE,CAAC,KAAK;gCACb,KAAK,EAAE,MAAM;gCACb,KAAK,EAAE,EAAE;6BACZ;yBACJ,CAAA;qBACJ;iBACJ;aAEJ;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE;gBACpB,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC5C,IAAI,CAAC,UAAU,GAAG,CAAC;wBACf,GAAG,EAAE,GAAG,CAAC,KAAK;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,KAAK,EAAE,GAAG;qBACb,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,UAAU,GAAG,CAAC;wBACf,GAAG,EAAE,IAAI,CAAC,WAAW;wBACrB,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,KAAK;qBACf,CAAC,CAAC;aACN;YAGD,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;gBACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1E,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAE1E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;wBAClF,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,qBAAqB,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,mBAAmB;gCAC5I,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf;yBACA,CAAC;qBACL;yBAAM;wBACH,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;gCACrG,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf,CAAC,CAAA;qBACL;iBACJ;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE;oBACpF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;wBACrB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;4BAClF,IAAI,CAAC,UAAU,GAAG,CAAC;oCACf,GAAG,EAAE,qBAAqB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,yBAAyB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB;oCAClH,KAAK,EAAE,GAAG;oCACV,KAAK,EAAE,KAAK;iCACf;6BACA,CAAC;yBACL;6BAAM;4BACH,IAAI,CAAC,UAAU,GAAG,CAAC;oCACf,GAAG,EAAE,IAAI,CAAC,WAAW;oCACrB,KAAK,EAAE,GAAG;oCACV,KAAK,EAAE,KAAK;iCACf,CAAC,CAAC;yBACN;qBACJ;yBAAM;wBACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;4BAClF,IAAI,CAAC,UAAU,GAAG,CAAC;oCACf,GAAG,EAAE,IAAI,CAAC,KAAK;oCACf,KAAK,EAAE,GAAG;oCACV,KAAK,EAAE,KAAK;iCACf,CAAC,CAAC;yBACN;6BAAM;4BACH,kDAAkD;yBACrD;qBACJ;iBACJ;qBAAM;oBACH,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;wBAClB,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;gCACpD,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf,CAAC,CAAC;qBACN;yBAAM;wBACH,IAAI,CAAC,UAAU,GAAG,CAAC;gCACf,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;gCACrD,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf,CAAC,CAAC;qBACN;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAgB,EAAE;YAC1C,gEAAgE;YAChE,IAAI,CAAC,UAAU,GAAG,CAAC,EAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAE,0BAA0B;YAC7G,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC;QAtuBE,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QAEjB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE;gBAClC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aAC/B;iBAAM,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;SACJ;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,iBAAO,EAAE;gBACjC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;aACnC;iBAAM,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;aACxC;YAED,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,iBAAO,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;aACpC;iBAAM,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;aACzC;SACJ;aAAM;YACH,gCAAgC;YAChC,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,KAAc;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAID,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,6CAA6C;IAC7C,oBAAoB;IAEpB,IAAI,KAAK,CAAC,KAAc;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAID,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QAClB,mCAAmC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAID,6CAA6C;IAC7C,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;;gBAE5B,CACI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK;uBAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW;uBAC3C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC/C,EACH;YACE,OAAO,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC;QACD,OAAO,eAAe,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC/E,CAAC;IAED,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,IAAI,YAAY;QACZ,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC;IACvD,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACpE,OAAO,OAAO,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACpE,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,OAAO;QACP,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,SAAS;QACT,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAWD,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAI,iBAAiB,CAAC,KAAK;QACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACpC,CAAC;CAklBJ;AAnvBD,4BAmvBC"}
@@ -4,7 +4,6 @@
4
4
  import { literalType, Monom } from './monom';
5
5
  import { Token } from '../shutingyard';
6
6
  import { Fraction } from "../coefficients/fraction";
7
- import { ISolution } from "./equation";
8
7
  export declare type PolynomParsingType = string | Polynom | number | Fraction | Monom;
9
8
  /**
10
9
  * Polynom class can handle polynoms, reorder, resolve, ...
@@ -101,7 +100,7 @@ export declare class Polynom {
101
100
  * @param maxValue Defines the greatest value to search to (default is 20).
102
101
  */
103
102
  factorize: (letter?: string) => Polynom[];
104
- getZeroes: () => ISolution[];
103
+ getZeroes: () => (Fraction | boolean)[];
105
104
  monomByDegree: (degree?: Fraction | number, letter?: string) => Monom;
106
105
  monomsByDegree: (degree?: number | Fraction, letter?: string) => Monom[];
107
106
  monomByLetter: (letter: string) => Monom;
@@ -112,8 +111,6 @@ export declare class Polynom {
112
111
  lcmNumerator: () => number;
113
112
  gcdNumerator: () => number;
114
113
  commonMonom: () => Monom;
115
- limitToInfinity: (letter?: string) => Fraction;
116
- limitToNegativeInfinity: (letter?: string) => Fraction;
117
114
  private _parseString;
118
115
  private genDisplay;
119
116
  /**