pimath 0.0.13 → 0.0.14

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 (51) hide show
  1. package/dist/pi.js +1 -1
  2. package/dist/pi.js.map +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/algebra.Algebra.Equation.html +26 -0
  5. package/docs/classes/algebra.Algebra.LinearSystem.html +1 -0
  6. package/docs/classes/algebra.Algebra.LogicalSet.html +3 -0
  7. package/docs/classes/algebra.Algebra.Monom.html +36 -36
  8. package/docs/classes/algebra.Algebra.Polynom.html +11 -11
  9. package/docs/classes/algebra.Algebra.Rational.html +2 -0
  10. package/docs/classes/algebra.Equation.html +9 -9
  11. package/docs/classes/algebra.LinearSystem.html +1 -1
  12. package/docs/classes/algebra.Logicalset.html +2 -2
  13. package/docs/classes/algebra.Monom.html +36 -36
  14. package/docs/classes/algebra.Polynom.html +12 -12
  15. package/docs/classes/algebra.Rational.html +2 -2
  16. package/docs/classes/coefficients.Fraction.html +4 -4
  17. package/docs/classes/coefficients.Nthroot.html +1 -1
  18. package/docs/classes/geometry.Circle.html +1 -1
  19. package/docs/classes/geometry.Geometry.Circle.html +1 -0
  20. package/docs/classes/geometry.Geometry.Line.html +1 -0
  21. package/docs/classes/geometry.Geometry.Point.html +1 -0
  22. package/docs/classes/geometry.Geometry.Triangle.html +9 -0
  23. package/docs/classes/geometry.Geometry.Vector.html +1 -0
  24. package/docs/classes/geometry.Line.html +1 -1
  25. package/docs/classes/geometry.Point.html +1 -1
  26. package/docs/classes/geometry.Triangle.html +6 -6
  27. package/docs/classes/geometry.Vector.html +1 -1
  28. package/docs/classes/numeric.Numeric.html +5 -5
  29. package/docs/classes/shutingyard.Shutingyard.html +5 -5
  30. package/docs/interfaces/geometry.remarquableLines.html +1 -1
  31. package/docs/modules/algebra.Algebra.html +1 -1
  32. package/docs/modules/geometry.Geometry.html +1 -0
  33. package/docs/modules/geometry.html +1 -1
  34. package/docs/modules/random.Random.html +1 -1
  35. package/docs/modules/random.html +1 -1
  36. package/esm/maths/algebra/index.d.ts +12 -0
  37. package/esm/maths/algebra/index.js +16 -0
  38. package/esm/maths/algebra/index.js.map +1 -1
  39. package/esm/maths/algebra/polynom.d.ts +2 -0
  40. package/esm/maths/algebra/polynom.js +3 -0
  41. package/esm/maths/algebra/polynom.js.map +1 -1
  42. package/esm/maths/geometry/index.d.ts +17 -0
  43. package/esm/maths/geometry/index.js +23 -0
  44. package/esm/maths/geometry/index.js.map +1 -1
  45. package/esm/maths/random/index.js +1 -1
  46. package/esm/maths/random/index.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/maths/algebra/index.ts +8 -0
  49. package/src/maths/algebra/polynom.ts +5 -1
  50. package/src/maths/geometry/index.ts +15 -1
  51. package/src/maths/random/index.ts +2 -2
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>random | 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></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="random.html">random</a></li></ul><h1>Module random</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Namespaces</h3><ul class="tsd-index-list"><li class="tsd-kind-namespace tsd-parent-kind-module"><a href="random.Random.html" class="tsd-kind-icon">Random</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomMonomConfig" class="tsd-kind-icon">random<wbr/>Monom<wbr/>Config</a></li><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomPolynomConfig" class="tsd-kind-icon">random<wbr/>Polynom<wbr/>Config</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"><a id="randomMonomConfig" class="tsd-anchor"></a><h3>random<wbr/>Monom<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">random<wbr/>Monom<wbr/>Config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>degree<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>fraction<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>letters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>zero<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/319e2c4/src/maths/random/rndTypes.ts#L2">random/rndTypes.ts:2</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> degree<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> fraction<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> letters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> zero<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"><a id="randomPolynomConfig" class="tsd-anchor"></a><h3>random<wbr/>Polynom<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">random<wbr/>Polynom<wbr/>Config<span class="tsd-signature-symbol">:</span> <a href="random.html#randomMonomConfig" class="tsd-signature-type" data-tsd-kind="Type alias">randomMonomConfig</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>allowNullMonom<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>factorable<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>numberOfMonoms<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>unit<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/319e2c4/src/maths/random/rndTypes.ts#L9">random/rndTypes.ts:9</a></li></ul></aside></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="algebra.html">algebra</a></li><li class=" tsd-kind-module"><a href="coefficients.html">coefficients</a></li><li class=" tsd-kind-module"><a href="geometry.html">geometry</a></li><li class=" tsd-kind-module"><a href="numeric.html">numeric</a></li><li class="current tsd-kind-module"><a href="random.html">random</a><ul><li class=" tsd-kind-namespace tsd-parent-kind-module"><a href="random.Random.html">Random</a></li></ul></li><li class=" tsd-kind-module"><a href="shutingyard.html">shutingyard</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomMonomConfig" class="tsd-kind-icon">random<wbr/>Monom<wbr/>Config</a></li><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomPolynomConfig" class="tsd-kind-icon">random<wbr/>Polynom<wbr/>Config</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-type-alias"><span class="tsd-kind-icon">Type alias</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>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>random | 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></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="random.html">random</a></li></ul><h1>Module random</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Namespaces</h3><ul class="tsd-index-list"><li class="tsd-kind-namespace tsd-parent-kind-module"><a href="random.Random.html" class="tsd-kind-icon">Random</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomMonomConfig" class="tsd-kind-icon">random<wbr/>Monom<wbr/>Config</a></li><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomPolynomConfig" class="tsd-kind-icon">random<wbr/>Polynom<wbr/>Config</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"><a id="randomMonomConfig" class="tsd-anchor"></a><h3>random<wbr/>Monom<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">random<wbr/>Monom<wbr/>Config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>degree<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>fraction<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>letters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>zero<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/74c3285/src/maths/random/rndTypes.ts#L2">random/rndTypes.ts:2</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> degree<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> fraction<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> letters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> zero<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"><a id="randomPolynomConfig" class="tsd-anchor"></a><h3>random<wbr/>Polynom<wbr/>Config</h3><div class="tsd-signature tsd-kind-icon">random<wbr/>Polynom<wbr/>Config<span class="tsd-signature-symbol">:</span> <a href="random.html#randomMonomConfig" class="tsd-signature-type" data-tsd-kind="Type alias">randomMonomConfig</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>allowNullMonom<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>factorable<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>numberOfMonoms<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>unit<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/basilgass/PI/blob/74c3285/src/maths/random/rndTypes.ts#L9">random/rndTypes.ts:9</a></li></ul></aside></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="algebra.html">algebra</a></li><li class=" tsd-kind-module"><a href="coefficients.html">coefficients</a></li><li class=" tsd-kind-module"><a href="geometry.html">geometry</a></li><li class=" tsd-kind-module"><a href="numeric.html">numeric</a></li><li class="current tsd-kind-module"><a href="random.html">random</a><ul><li class=" tsd-kind-namespace tsd-parent-kind-module"><a href="random.Random.html">Random</a></li></ul></li><li class=" tsd-kind-module"><a href="shutingyard.html">shutingyard</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomMonomConfig" class="tsd-kind-icon">random<wbr/>Monom<wbr/>Config</a></li><li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="random.html#randomPolynomConfig" class="tsd-kind-icon">random<wbr/>Polynom<wbr/>Config</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-type-alias"><span class="tsd-kind-icon">Type alias</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>
@@ -6,9 +6,21 @@ export * from "./polynom";
6
6
  export * from "./rational";
7
7
  import { Polynom as _Polynom } from "./polynom";
8
8
  import { Monom as _Monom } from "./monom";
9
+ import { LinearSystem as _LinearSystem } from "./linearSystem";
10
+ import { Equation as _Equation } from "./equation";
11
+ import { Logicalset as _LogicalSet } from "./logicalset";
12
+ import { Rational as _Rational } from "./rational";
9
13
  export declare namespace Algebra {
10
14
  class Polynom extends _Polynom {
11
15
  }
12
16
  class Monom extends _Monom {
13
17
  }
18
+ class LinearSystem extends _LinearSystem {
19
+ }
20
+ class Equation extends _Equation {
21
+ }
22
+ class LogicalSet extends _LogicalSet {
23
+ }
24
+ class Rational extends _Rational {
25
+ }
14
26
  }
@@ -6,6 +6,10 @@ export * from "./polynom";
6
6
  export * from "./rational";
7
7
  import { Polynom as _Polynom } from "./polynom";
8
8
  import { Monom as _Monom } from "./monom";
9
+ import { LinearSystem as _LinearSystem } from "./linearSystem";
10
+ import { Equation as _Equation } from "./equation";
11
+ import { Logicalset as _LogicalSet } from "./logicalset";
12
+ import { Rational as _Rational } from "./rational";
9
13
  export var Algebra;
10
14
  (function (Algebra) {
11
15
  class Polynom extends _Polynom {
@@ -14,5 +18,17 @@ export var Algebra;
14
18
  class Monom extends _Monom {
15
19
  }
16
20
  Algebra.Monom = Monom;
21
+ class LinearSystem extends _LinearSystem {
22
+ }
23
+ Algebra.LinearSystem = LinearSystem;
24
+ class Equation extends _Equation {
25
+ }
26
+ Algebra.Equation = Equation;
27
+ class LogicalSet extends _LogicalSet {
28
+ }
29
+ Algebra.LogicalSet = LogicalSet;
30
+ class Rational extends _Rational {
31
+ }
32
+ Algebra.Rational = Rational;
17
33
  })(Algebra || (Algebra = {}));
18
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/algebra/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,MAAM,SAAS,CAAC;AAExC,MAAM,KAAW,OAAO,CAGvB;AAHD,WAAiB,OAAO;IACpB,MAAa,OAAQ,SAAQ,QAAQ;KAAE;IAA1B,eAAO,UAAmB,CAAA;IACvC,MAAa,KAAM,SAAQ,MAAM;KAAE;IAAtB,aAAK,QAAiB,CAAA;AACvC,CAAC,EAHgB,OAAO,KAAP,OAAO,QAGvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/algebra/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,YAAY,IAAI,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAC,QAAQ,IAAI,SAAS,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,EAAC,UAAU,IAAI,WAAW,EAAC,MAAM,cAAc,CAAA;AACtD,OAAO,EAAC,QAAQ,IAAI,SAAS,EAAC,MAAM,YAAY,CAAC;AAEjD,MAAM,KAAW,OAAO,CAOvB;AAPD,WAAiB,OAAO;IACpB,MAAa,OAAQ,SAAQ,QAAQ;KAAE;IAA1B,eAAO,UAAmB,CAAA;IACvC,MAAa,KAAM,SAAQ,MAAM;KAAE;IAAtB,aAAK,QAAiB,CAAA;IACnC,MAAa,YAAa,SAAQ,aAAa;KAAE;IAApC,oBAAY,eAAwB,CAAA;IACjD,MAAa,QAAS,SAAQ,SAAS;KAAE;IAA5B,gBAAQ,WAAoB,CAAA;IACzC,MAAa,UAAW,SAAQ,WAAW;KAAE;IAAhC,kBAAU,aAAsB,CAAA;IAC7C,MAAa,QAAS,SAAQ,SAAS;KAAE;IAA5B,gBAAQ,WAAoB,CAAA;AAC7C,CAAC,EAPgB,OAAO,KAAP,OAAO,QAOvB"}
@@ -1,4 +1,5 @@
1
1
  import { Monom } from './monom';
2
+ import { randomPolynomConfig } from "../random";
2
3
  import { Fraction } from "../coefficients/fraction";
3
4
  export declare class Polynom {
4
5
  private _rawString;
@@ -27,6 +28,7 @@ export declare class Polynom {
27
28
  zero: () => Polynom;
28
29
  one: () => Polynom;
29
30
  empty: () => Polynom;
31
+ random(config?: randomPolynomConfig): Polynom;
30
32
  private _randomizeDefaults;
31
33
  get randomizeDefaults(): {
32
34
  [key: string]: number | string | boolean;
@@ -204,6 +204,9 @@ export class Polynom {
204
204
  this._rawString = '';
205
205
  return this;
206
206
  };
207
+ random(config) {
208
+ return Random.polynom(config);
209
+ }
207
210
  _randomizeDefaults = {
208
211
  degree: 2,
209
212
  unit: true,
@@ -1 +1 @@
1
- {"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,20 @@ export * from "./triangle";
3
3
  export * from "./point";
4
4
  export * from "./circle";
5
5
  export * from "./line";
6
+ import { Circle as _Circle } from "./circle";
7
+ import { Line as _Line } from "./line";
8
+ import { Point as _Point } from "./point";
9
+ import { Triangle as _Triangle } from "./triangle";
10
+ import { Vector as _Vector } from "./vector";
11
+ export declare namespace Geometry {
12
+ class Circle extends _Circle {
13
+ }
14
+ class Line extends _Line {
15
+ }
16
+ class Point extends _Point {
17
+ }
18
+ class Triangle extends _Triangle {
19
+ }
20
+ class Vector extends _Vector {
21
+ }
22
+ }
@@ -3,4 +3,27 @@ export * from "./triangle";
3
3
  export * from "./point";
4
4
  export * from "./circle";
5
5
  export * from "./line";
6
+ import { Circle as _Circle } from "./circle";
7
+ import { Line as _Line } from "./line";
8
+ import { Point as _Point } from "./point";
9
+ import { Triangle as _Triangle } from "./triangle";
10
+ import { Vector as _Vector } from "./vector";
11
+ export var Geometry;
12
+ (function (Geometry) {
13
+ class Circle extends _Circle {
14
+ }
15
+ Geometry.Circle = Circle;
16
+ class Line extends _Line {
17
+ }
18
+ Geometry.Line = Line;
19
+ class Point extends _Point {
20
+ }
21
+ Geometry.Point = Point;
22
+ class Triangle extends _Triangle {
23
+ }
24
+ Geometry.Triangle = Triangle;
25
+ class Vector extends _Vector {
26
+ }
27
+ Geometry.Vector = Vector;
28
+ })(Geometry || (Geometry = {}));
6
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AAEtB,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,IAAI,IAAI,KAAK,EAAC,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,QAAQ,IAAI,SAAS,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,MAAM,UAAU,CAAC;AAE3C,MAAM,KAAW,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IACrB,MAAa,MAAO,SAAQ,OAAO;KAAE;IAAxB,eAAM,SAAkB,CAAA;IACrC,MAAa,IAAK,SAAQ,KAAK;KAAE;IAApB,aAAI,OAAgB,CAAA;IACjC,MAAa,KAAM,SAAQ,MAAM;KAAE;IAAtB,cAAK,QAAiB,CAAA;IACnC,MAAa,QAAS,SAAQ,SAAS;KAAE;IAA5B,iBAAQ,WAAoB,CAAA;IACzC,MAAa,MAAO,SAAQ,OAAO;KAAE;IAAxB,eAAM,SAAkB,CAAA;AACzC,CAAC,EANgB,QAAQ,KAAR,QAAQ,QAMxB"}
@@ -5,7 +5,7 @@ export * from "./rndTypes";
5
5
  export var Random;
6
6
  (function (Random) {
7
7
  function polynom(config) {
8
- return new rndPolynom(config).generate();
8
+ return (new rndPolynom(config)).generate();
9
9
  }
10
10
  Random.polynom = polynom;
11
11
  function monom(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/random/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIxC,cAAc,YAAY,CAAA;AAC1B,MAAM,KAAW,MAAM,CAetB;AAfD,WAAiB,MAAM;IACnB,SAAgB,OAAO,CAAC,MAA4B;QAChD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,SAAgB,KAAK,CAAC,MAA0B;QAC5C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,MAAM,CAAC,IAAW,EAAE,EAAS,IAAW,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAC,EAAE,CAAC,CAAA,CAAA,CAAC;IAA7E,aAAM,SAAuE,CAAA;IAC7F,SAAgB,SAAS,CAAC,GAAU,EAAE,SAAkB,IAAW,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA,CAAA,CAAC;IAAlG,gBAAS,YAAyF,CAAA;IAClH,SAAgB,IAAI,CAAC,OAAe,IAAY,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,CAAA,CAAC;IAAtE,WAAI,OAAkE,CAAA;IACtF,SAAgB,KAAK,CAAC,GAAS,EAAE,MAAc,IAAU,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA,CAAA,CAAC;IAApF,YAAK,QAA+E,CAAA;IACpG,SAAgB,IAAI,CAAC,GAAS,IAAQ,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC;IAAxD,WAAI,OAAoD,CAAA;IACxE,SAAgB,OAAO,CAAC,GAAS,IAAQ,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC;IAAtD,cAAO,UAA+C,CAAA;AAC1E,CAAC,EAfgB,MAAM,KAAN,MAAM,QAetB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/random/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIxC,cAAc,YAAY,CAAA;AAC1B,MAAM,KAAW,MAAM,CAetB;AAfD,WAAiB,MAAM;IACnB,SAAgB,OAAO,CAAC,MAA4B;QAChD,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,CAAC;IAFe,cAAO,UAEtB,CAAA;IAED,SAAgB,KAAK,CAAC,MAA0B;QAC5C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,MAAM,CAAC,IAAW,EAAE,EAAS,IAAW,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAC,EAAE,CAAC,CAAA,CAAA,CAAC;IAA7E,aAAM,SAAuE,CAAA;IAC7F,SAAgB,SAAS,CAAC,GAAU,EAAE,SAAkB,IAAW,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA,CAAA,CAAC;IAAlG,gBAAS,YAAyF,CAAA;IAClH,SAAgB,IAAI,CAAC,OAAe,IAAY,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,CAAA,CAAC;IAAtE,WAAI,OAAkE,CAAA;IACtF,SAAgB,KAAK,CAAC,GAAS,EAAE,MAAc,IAAU,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA,CAAA,CAAC;IAApF,YAAK,QAA+E,CAAA;IACpG,SAAgB,IAAI,CAAC,GAAS,IAAQ,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC;IAAxD,WAAI,OAAoD,CAAA;IACxE,SAAgB,OAAO,CAAC,GAAS,IAAQ,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC;IAAtD,cAAO,UAA+C,CAAA;AAC1E,CAAC,EAfgB,MAAM,KAAN,MAAM,QAetB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "description": "A math library for teacher :)",
5
5
  "scripts": {
6
6
  "test": "mocha -r ts-node/register 'tests/**/*.test.ts'",
@@ -7,8 +7,16 @@ export * from "./rational"
7
7
 
8
8
  import {Polynom as _Polynom} from "./polynom";
9
9
  import {Monom as _Monom} from "./monom";
10
+ import {LinearSystem as _LinearSystem} from "./linearSystem";
11
+ import {Equation as _Equation} from "./equation";
12
+ import {Logicalset as _LogicalSet} from "./logicalset"
13
+ import {Rational as _Rational} from "./rational";
10
14
 
11
15
  export namespace Algebra {
12
16
  export class Polynom extends _Polynom{}
13
17
  export class Monom extends _Monom{}
18
+ export class LinearSystem extends _LinearSystem{}
19
+ export class Equation extends _Equation{}
20
+ export class LogicalSet extends _LogicalSet{}
21
+ export class Rational extends _Rational{}
14
22
  }
@@ -6,7 +6,7 @@
6
6
  import {Monom} from './monom';
7
7
  import {Shutingyard} from '../shutingyard';
8
8
  import {Numeric} from '../numeric';
9
- import {Random} from "../random";
9
+ import {Random, randomPolynomConfig} from "../random";
10
10
  import {Fraction} from "../coefficients/fraction";
11
11
 
12
12
  /**
@@ -294,6 +294,10 @@ import {Fraction} from "../coefficients/fraction";
294
294
  // -----------------------------------------------
295
295
  // Polynom generators and randomizers
296
296
  // -----------------------------------------------
297
+ random(config?:randomPolynomConfig){
298
+ return Random.polynom(config);
299
+ }
300
+
297
301
  private _randomizeDefaults: { [key: string]: number | string | boolean } = {
298
302
  degree: 2,
299
303
  unit: true,
@@ -2,4 +2,18 @@ export * from "./vector"
2
2
  export * from "./triangle"
3
3
  export * from "./point"
4
4
  export * from "./circle"
5
- export * from "./line"
5
+ export * from "./line"
6
+
7
+ import {Circle as _Circle} from "./circle";
8
+ import {Line as _Line} from "./line";
9
+ import {Point as _Point} from "./point";
10
+ import {Triangle as _Triangle} from "./triangle";
11
+ import {Vector as _Vector} from "./vector";
12
+
13
+ export namespace Geometry {
14
+ export class Circle extends _Circle{}
15
+ export class Line extends _Line{}
16
+ export class Point extends _Point{}
17
+ export class Triangle extends _Triangle{}
18
+ export class Vector extends _Vector{}
19
+ }
@@ -7,11 +7,11 @@ import {Monom, Polynom} from "../algebra";
7
7
  export * from "./rndTypes"
8
8
  export namespace Random {
9
9
  export function polynom(config?: randomPolynomConfig): Polynom {
10
- return new rndPolynom(config).generate()
10
+ return (new rndPolynom(config)).generate()
11
11
  }
12
12
 
13
13
  export function monom(config?: randomMonomConfig): Monom {
14
- return new rndMonom(config).generate()
14
+ return (new rndMonom(config)).generate()
15
15
  }
16
16
 
17
17
  export function number(from:number, to:number):number { return rndHelpers.randomInt(from,to)}