ziko 0.0.14 → 0.0.16

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 (291) hide show
  1. package/dist/ziko.cjs +13435 -11825
  2. package/dist/ziko.js +13958 -12406
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +13401 -11859
  5. package/package.json +2 -1
  6. package/src/__helpers__/index.js +61 -41
  7. package/src/app/index.js +21 -12
  8. package/src/app/json-style-sheet.js +64 -0
  9. package/src/app/params.js +40 -0
  10. package/src/app/routes.js +58 -0
  11. package/src/app/spa-file-based-routing.js +74 -0
  12. package/src/app/spa.js +55 -0
  13. package/src/app/ziko-app.js +39 -0
  14. package/src/data/api/fetchdom.js +13 -13
  15. package/src/data/api/index.js +3 -3
  16. package/src/data/api/preload.js +10 -10
  17. package/src/data/converter/adoc.js +130 -130
  18. package/src/data/converter/array.js +42 -42
  19. package/src/data/converter/canvas.js +24 -24
  20. package/src/data/converter/css.js +37 -0
  21. package/src/data/converter/csv.js +32 -32
  22. package/src/data/converter/idea.txt +9 -9
  23. package/src/data/converter/index.js +37 -34
  24. package/src/data/converter/json.js +80 -80
  25. package/src/data/converter/markdown.js +95 -95
  26. package/src/data/converter/object.js +69 -69
  27. package/src/data/converter/svg.js +10 -10
  28. package/src/data/index.js +16 -73
  29. package/src/data/parser/index.js +1 -0
  30. package/src/data/parser/xml.js +46 -46
  31. package/src/data/string/patterns.js +11 -11
  32. package/src/data/string/string.js +169 -169
  33. package/src/{app/app.js → global/app/index.js} +45 -45
  34. package/src/{app → global}/component/index.js +38 -38
  35. package/src/global/globals/index.js +20 -0
  36. package/src/global/index.js +12 -0
  37. package/src/{app → global}/params/index.js +39 -39
  38. package/src/{app → global}/router/index.js +66 -66
  39. package/src/{app → global}/seo/index.js +42 -42
  40. package/src/global/style/index.js +1 -0
  41. package/src/{app → global}/themes/dark.js +884 -884
  42. package/src/{app → global}/themes/index.js +10 -10
  43. package/src/{app → global}/themes/light.js +254 -254
  44. package/src/graphics/canvas/canvas.js +188 -188
  45. package/src/graphics/canvas/elements/Basic/arc.js +42 -42
  46. package/src/graphics/canvas/elements/Basic/line.js +25 -25
  47. package/src/graphics/canvas/elements/Basic/points.js +47 -47
  48. package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
  49. package/src/graphics/canvas/elements/Basic/rect.js +45 -45
  50. package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
  51. package/src/graphics/canvas/elements/Element.js +114 -114
  52. package/src/graphics/canvas/elements/index.js +12 -12
  53. package/src/graphics/canvas/index.js +14 -14
  54. package/src/graphics/canvas/utils/color.js +7 -7
  55. package/src/graphics/canvas/utils/floodFill.js +57 -57
  56. package/src/graphics/index.js +68 -68
  57. package/src/graphics/svg/Elements/Basic/circle.js +25 -25
  58. package/src/graphics/svg/Elements/Basic/ellipse.js +20 -20
  59. package/src/graphics/svg/Elements/Basic/foreignObject.js +32 -32
  60. package/src/graphics/svg/Elements/Basic/groupe.js +29 -29
  61. package/src/graphics/svg/Elements/Basic/image.js +32 -32
  62. package/src/graphics/svg/Elements/Basic/line.js +28 -28
  63. package/src/graphics/svg/Elements/Basic/link.js +30 -30
  64. package/src/graphics/svg/Elements/Basic/path.js +58 -58
  65. package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
  66. package/src/graphics/svg/Elements/Basic/polyline.js +3 -3
  67. package/src/graphics/svg/Elements/Basic/rect.js +42 -42
  68. package/src/graphics/svg/Elements/Basic/text.js +25 -25
  69. package/src/graphics/svg/Elements/Derived/grid.js +8 -8
  70. package/src/graphics/svg/Elements/ZikoSvgElement.js +46 -46
  71. package/src/graphics/svg/Elements/index.js +14 -14
  72. package/src/graphics/svg/index.js +1 -1
  73. package/src/graphics/svg/svg.js +114 -114
  74. package/src/index.js +84 -88
  75. package/src/math/calculus/derivation/index.js +7 -0
  76. package/src/math/calculus/index.js +2 -1
  77. package/src/math/calculus/special-functions/bessel.js +30 -30
  78. package/src/math/calculus/special-functions/beta.js +37 -37
  79. package/src/math/calculus/special-functions/gamma.js +29 -29
  80. package/src/math/calculus/special-functions/index.js +4 -4
  81. package/src/math/complex/index.js +202 -202
  82. package/src/math/const.js +2 -2
  83. package/src/math/discret/Combinaison/index.js +33 -33
  84. package/src/math/discret/Conversion/index.js +85 -85
  85. package/src/math/discret/Logic/index.js +45 -45
  86. package/src/math/discret/Permutation/index.js +30 -30
  87. package/src/math/discret/Set/index.js +1 -1
  88. package/src/math/discret/Set/power-set.js +14 -14
  89. package/src/math/discret/Set/sub-set.js +10 -10
  90. package/src/math/discret/index.js +12 -23
  91. package/src/math/functions/helper.js +20 -0
  92. package/src/math/functions/index.js +161 -181
  93. package/src/math/index.js +32 -189
  94. package/src/math/matrix/Decomposition.js +90 -90
  95. package/src/math/matrix/LinearSystem.js +9 -9
  96. package/src/math/matrix/Matrix.js +716 -716
  97. package/src/math/matrix/index.js +2 -2
  98. package/src/math/random/index.js +172 -172
  99. package/src/math/signal/__np.py.txt +39 -39
  100. package/src/math/signal/conv.js +174 -174
  101. package/src/math/signal/fft.js +54 -54
  102. package/src/math/signal/filter.js +38 -38
  103. package/src/math/signal/functions.js +145 -145
  104. package/src/math/signal/index.js +109 -109
  105. package/src/math/statistics/Functions/index.js +99 -99
  106. package/src/math/statistics/index.js +15 -15
  107. package/src/math/utils/arithmetic.js +138 -138
  108. package/src/math/utils/checkers.js +29 -29
  109. package/src/math/utils/conversions.js +19 -19
  110. package/src/math/utils/discret.js +51 -51
  111. package/src/math/utils/index.js +101 -101
  112. package/src/math/utils/mapfun.js +49 -49
  113. package/src/reactivity/events/{Partiel/Input.js → Input.js} +62 -59
  114. package/src/reactivity/events/{Global/Pointer.js → Pointer.js} +232 -234
  115. package/src/reactivity/events/ZikoEvent.js +90 -90
  116. package/src/reactivity/events/{Global/Click.js → click.js} +60 -56
  117. package/src/reactivity/events/{Global/Clipboard.js → clipboard.js} +88 -84
  118. package/src/reactivity/events/{Global/CustomEvent.js → custom-event.js} +57 -53
  119. package/src/reactivity/events/{Global/Drag.js → drag.js} +136 -136
  120. package/src/reactivity/events/{Global/Focus.js → focus.js} +59 -56
  121. package/src/reactivity/events/{Partiel/Hash.js → hash.js} +47 -44
  122. package/src/reactivity/events/index.js +62 -62
  123. package/src/reactivity/events/{Global/Key.js → key.js} +102 -104
  124. package/src/reactivity/events/{Global/Mouse.js → mouse.js} +233 -230
  125. package/src/reactivity/events/{Global/Swipe.js → swipe.js} +149 -147
  126. package/src/reactivity/events/{Global/Wheel.js → wheel.js} +47 -44
  127. package/src/reactivity/hooks/{Contexte → contexte}/useSuccesifKeys.js +13 -13
  128. package/src/reactivity/hooks/{Decorators → decorators}/index.js +6 -6
  129. package/src/reactivity/hooks/{Decorators → decorators}/time.js +16 -16
  130. package/src/reactivity/hooks/{Decorators → decorators}/type.js +87 -87
  131. package/src/reactivity/hooks/head/index.js +5 -0
  132. package/src/reactivity/hooks/{UI → head}/useCssText.js +21 -21
  133. package/src/reactivity/hooks/{UI → head}/useFavIcon.js +37 -37
  134. package/src/reactivity/hooks/head/useHead.js +28 -0
  135. package/src/reactivity/hooks/head/useMeta.js +52 -0
  136. package/src/reactivity/hooks/{UI → head}/useTitle.js +29 -29
  137. package/src/reactivity/hooks/index.js +91 -85
  138. package/src/reactivity/hooks/{Interactions → interactions}/index.js +3 -3
  139. package/src/reactivity/hooks/{Interactions → interactions}/useBluetooth.js +47 -47
  140. package/src/reactivity/hooks/{Interactions → interactions}/useChannel.js +49 -49
  141. package/src/reactivity/hooks/{Interactions → interactions}/useEventEmmiter.js +63 -63
  142. package/src/reactivity/hooks/{Interactions → interactions}/useThread.js +43 -43
  143. package/src/reactivity/hooks/sensors/index.js +2 -0
  144. package/src/reactivity/hooks/{Sensors → sensors}/useBattery.js +35 -35
  145. package/src/reactivity/hooks/{Sensors → sensors}/useGeolocation.js +16 -16
  146. package/src/reactivity/hooks/{Storage → storage}/useStorage.js +72 -72
  147. package/src/reactivity/hooks/todo.md +26 -26
  148. package/src/reactivity/hooks/ui/index.js +5 -0
  149. package/src/reactivity/hooks/{UI → ui}/useMediaQuery.js +43 -43
  150. package/src/reactivity/hooks/{UI → ui}/useStyle.js +79 -79
  151. package/src/reactivity/hooks/{UI → ui}/useTheme.js +61 -61
  152. package/src/reactivity/idea +1 -1
  153. package/src/reactivity/index.js +11 -21
  154. package/src/reactivity/observer/attributes.js +28 -28
  155. package/src/reactivity/observer/children.js +36 -36
  156. package/src/reactivity/observer/index.js +6 -44
  157. package/src/reactivity/observer/intersection.js +43 -43
  158. package/src/reactivity/observer/mutation.js +112 -112
  159. package/src/reactivity/observer/resize.js +46 -46
  160. package/src/reactivity/observer/screen.js +44 -44
  161. package/src/reactivity/observer/screen.js.txt +83 -83
  162. package/src/reactivity/observer/screen.txt +12 -12
  163. package/src/time/animation.js +75 -75
  164. package/src/time/index.js +12 -54
  165. package/src/time/loop.js +87 -87
  166. package/src/time/utils/decorators.js +16 -16
  167. package/src/time/utils/ease.js +143 -143
  168. package/src/time/utils/index.js +17 -17
  169. package/src/time/utils/performance.js +15 -15
  170. package/src/time/utils/ui.js +25 -25
  171. package/src/types.js +73 -71
  172. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/accordion.js +42 -45
  173. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/collapsible.js +82 -82
  174. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/index.js +1 -1
  175. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/alert.js +80 -80
  176. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/palette.js +51 -51
  177. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/carousel/index.js +50 -50
  178. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/SubElements.js.txt +104 -104
  179. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-cell.js +194 -194
  180. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-note.js +71 -71
  181. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/index.js +1 -1
  182. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/sub-elements.js +66 -66
  183. package/src/{user-interface → ui}/elements/derived/elements/Swipper.js +3 -3
  184. package/src/{user-interface → ui}/elements/derived/elements/index.js +9 -9
  185. package/src/{user-interface/elements/derived/Flex.js → ui/elements/derived/flex/index.js} +102 -102
  186. package/src/{user-interface/elements/derived/Grid.js → ui/elements/derived/grid/index.js} +32 -32
  187. package/src/ui/elements/derived/index.js +12 -0
  188. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/menu3d.js +259 -259
  189. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/modal/index.js +91 -91
  190. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/breadcrumbs.js +53 -53
  191. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +112 -0
  192. package/src/ui/elements/derived/slider/hSlider.js +34 -0
  193. package/src/ui/elements/derived/slider/index.js +12 -0
  194. package/src/ui/elements/derived/slider/vSlider.js +27 -0
  195. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/__ZikoUISplitter__.js +61 -61
  196. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/hsplitter.js +39 -39
  197. package/src/ui/elements/derived/splitter/index.js +12 -0
  198. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/vsplitter.js +39 -39
  199. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/tabs/index.js +179 -179
  200. package/src/{user-interface → ui}/elements/primitives/ZikoUIContainerElement.js +126 -126
  201. package/src/{user-interface → ui}/elements/primitives/ZikoUIElement.js +492 -480
  202. package/src/{user-interface → ui}/elements/primitives/embaded/html.js +19 -20
  203. package/src/{user-interface → ui}/elements/primitives/embaded/index.js +3 -3
  204. package/src/{user-interface → ui}/elements/primitives/embaded/pdf.js +16 -17
  205. package/src/{user-interface → ui}/elements/primitives/embaded/youtube.js +23 -25
  206. package/src/{user-interface → ui}/elements/primitives/index.js +7 -7
  207. package/src/{user-interface → ui}/elements/primitives/io/Form/index.js +41 -41
  208. package/src/{user-interface → ui}/elements/primitives/io/Form/index.js.txt +104 -104
  209. package/src/{user-interface → ui}/elements/primitives/io/Inputs/__helpers__.js +51 -51
  210. package/src/{user-interface → ui}/elements/primitives/io/Inputs/index.js +12 -12
  211. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input/index.js +98 -98
  212. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  213. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  214. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-color/index.js +15 -15
  215. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  216. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  217. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  218. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  219. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +2 -0
  220. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  221. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  222. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  223. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-number/index.js +36 -36
  224. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  225. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-search/index.js +45 -45
  226. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  227. package/src/{user-interface → ui}/elements/primitives/io/Select/index.js +19 -19
  228. package/src/{user-interface → ui}/elements/primitives/io/Textarea/index.js +17 -17
  229. package/src/{user-interface → ui}/elements/primitives/io/index.js +3 -3
  230. package/src/{user-interface → ui}/elements/primitives/list/index.js +138 -138
  231. package/src/{user-interface → ui}/elements/primitives/media/Audio/index.js +16 -16
  232. package/src/{user-interface → ui}/elements/primitives/media/Image/figure.js +18 -18
  233. package/src/{user-interface → ui}/elements/primitives/media/Image/image.js +36 -36
  234. package/src/ui/elements/primitives/media/Image/index.js +2 -0
  235. package/src/{user-interface → ui}/elements/primitives/media/Video/index.js +26 -26
  236. package/src/{user-interface → ui}/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  237. package/src/{user-interface → ui}/elements/primitives/media/index.js +2 -2
  238. package/src/{user-interface → ui}/elements/primitives/misc/index.js +101 -100
  239. package/src/ui/elements/primitives/misc/xml-wrapper.js +37 -0
  240. package/src/{user-interface → ui}/elements/primitives/semantic/index.js +81 -81
  241. package/src/{user-interface → ui}/elements/primitives/table/elements.js +93 -93
  242. package/src/ui/elements/primitives/table/index.js +3 -0
  243. package/src/{user-interface → ui}/elements/primitives/table/table.js +115 -115
  244. package/src/{user-interface → ui}/elements/primitives/table/utils.js +11 -11
  245. package/src/{user-interface → ui}/elements/primitives/text/__ZikoUIText__.js +71 -71
  246. package/src/{user-interface → ui}/elements/primitives/text/heading.js +35 -35
  247. package/src/{user-interface → ui}/elements/primitives/text/index.js +2 -2
  248. package/src/{user-interface → ui}/elements/primitives/text/p.js +26 -26
  249. package/src/{user-interface → ui}/elements/primitives/text/text.js +80 -80
  250. package/src/ui/index.js +29 -0
  251. package/src/{user-interface → ui}/style/index.js +515 -509
  252. package/src/{user-interface → ui}/utils/index.js +69 -69
  253. package/src/reactivity/events/Global/Touch.js +0 -0
  254. package/src/reactivity/hooks/Sensors/index.js +0 -2
  255. package/src/reactivity/hooks/UI/index.js +0 -5
  256. package/src/user-interface/elements/derived/elements/splitter/index.js +0 -2
  257. package/src/user-interface/elements/derived/index.js +0 -3
  258. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +0 -2
  259. package/src/user-interface/elements/primitives/media/Image/index.js +0 -2
  260. package/src/user-interface/elements/primitives/table/index.js +0 -3
  261. package/src/user-interface/index.js +0 -190
  262. /package/src/app/{globals/index.js → globals.js} +0 -0
  263. /package/src/reactivity/events/{Partiel/Media.js → media.js} +0 -0
  264. /package/src/{app/accessibility/index.js → reactivity/events/touch.js} +0 -0
  265. /package/src/reactivity/hooks/{Contexte → contexte}/index.js +0 -0
  266. /package/src/reactivity/hooks/{Interactions → interactions}/useSerial.js +0 -0
  267. /package/src/reactivity/hooks/{Interactions → interactions}/useUsb.js +0 -0
  268. /package/src/reactivity/hooks/{Sensors → sensors}/useCamera.js +0 -0
  269. /package/src/reactivity/hooks/{Sensors → sensors}/useMicro.js +0 -0
  270. /package/src/reactivity/hooks/{Sensors → sensors}/useOrientation.js +0 -0
  271. /package/src/reactivity/hooks/{Storage → storage}/index.js +0 -0
  272. /package/src/reactivity/hooks/{Storage → storage}/useCookie.js +0 -0
  273. /package/src/reactivity/hooks/{Storage → storage}/useIndexedDb.js +0 -0
  274. /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
  275. /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
  276. /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
  277. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/index.js +0 -0
  278. /package/src/{user-interface → ui}/elements/derived/elements/Notification.js +0 -0
  279. /package/src/{user-interface → ui}/elements/derived/elements/Popover.js +0 -0
  280. /package/src/{user-interface → ui}/elements/derived/elements/Popup.js +0 -0
  281. /package/src/{user-interface → ui}/elements/derived/elements/Timeline.js +0 -0
  282. /package/src/{user-interface → ui}/elements/derived/elements/Toast.js +0 -0
  283. /package/src/{user-interface → ui}/elements/derived/elements/Treeview.js +0 -0
  284. /package/src/{user-interface → ui}/elements/derived/elements/columns.js +0 -0
  285. /package/src/{user-interface → ui}/elements/derived/elements/fab.js +0 -0
  286. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/index.js +0 -0
  287. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/index.js +0 -0
  288. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/index.js +0 -0
  289. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
  290. /package/src/{user-interface → ui}/elements/primitives/list/elements.js +0 -0
  291. /package/src/{user-interface → ui}/elements/primitives/text/pre.js +0 -0
@@ -1,46 +1,46 @@
1
- import { Complex } from "../../complex/index.js";
2
- import { Matrix } from "../../matrix/Matrix.js";
3
- const Logic={
4
- _mode:Number,
5
- _map:function(func,a,b){
6
- if (a instanceof Matrix)
7
- return new Matrix(
8
- a.rows,
9
- a.cols,
10
- a.arr.flat(1).map((n) => func(n, b))
11
- );
12
- else if (a instanceof Complex) return new Complex(func(a.a, b), func(a.b, b));
13
- else if (a instanceof Array) return a.map((n) => func(n, b));
14
- },
15
- not:function(input){
16
- if(["number","boolean"].includes(typeof input)) return Logic._mode(!input);
17
- else return this._map(this.not,input)
18
- },
19
- and:function(a, ...b){
20
- if(["number","boolean"].includes(typeof a))return Logic._mode(b.reduce((n, m) => (n &= m), a));
21
- else return this._map(this.and,a,b)
22
- },
23
- or:function(a, ...b) {
24
- if(["number","boolean"].includes(typeof a)) return Logic._mode(b.reduce((n, m) => (n |= m), a));
25
- else return this._map(this.or,a,b);
26
- },
27
- nand:function(a, ...b) {
28
- return this.not(this.and(a, b));
29
- },
30
- nor:function(a, ...b) {
31
- return this.not(this.or(a, b));
32
- },
33
- xor:function(a,...b){
34
- let arr=[a,...b]
35
- if(["number","boolean"].includes(typeof a))return this._mode(arr.reduce((length,cur)=>{
36
- if(+cur===1)length+=1;
37
- return length;
38
- },0)===1);
39
- else return this._map(this.xor,a,b);
40
- },
41
- xnor:function(a,...b){
42
- return Logic.not(Logic.xor(a,b))
43
- }
44
-
45
- }
1
+ import { Complex } from "../../complex/index.js";
2
+ import { Matrix } from "../../matrix/Matrix.js";
3
+ const Logic={
4
+ _mode:Number,
5
+ _map:function(func,a,b){
6
+ if (a instanceof Matrix)
7
+ return new Matrix(
8
+ a.rows,
9
+ a.cols,
10
+ a.arr.flat(1).map((n) => func(n, b))
11
+ );
12
+ else if (a instanceof Complex) return new Complex(func(a.a, b), func(a.b, b));
13
+ else if (a instanceof Array) return a.map((n) => func(n, b));
14
+ },
15
+ not:function(input){
16
+ if(["number","boolean"].includes(typeof input)) return Logic._mode(!input);
17
+ else return this._map(this.not,input)
18
+ },
19
+ and:function(a, ...b){
20
+ if(["number","boolean"].includes(typeof a))return Logic._mode(b.reduce((n, m) => (n &= m), a));
21
+ else return this._map(this.and,a,b)
22
+ },
23
+ or:function(a, ...b) {
24
+ if(["number","boolean"].includes(typeof a)) return Logic._mode(b.reduce((n, m) => (n |= m), a));
25
+ else return this._map(this.or,a,b);
26
+ },
27
+ nand:function(a, ...b) {
28
+ return this.not(this.and(a, b));
29
+ },
30
+ nor:function(a, ...b) {
31
+ return this.not(this.or(a, b));
32
+ },
33
+ xor:function(a,...b){
34
+ let arr=[a,...b]
35
+ if(["number","boolean"].includes(typeof a))return this._mode(arr.reduce((length,cur)=>{
36
+ if(+cur===1)length+=1;
37
+ return length;
38
+ },0)===1);
39
+ else return this._map(this.xor,a,b);
40
+ },
41
+ xnor:function(a,...b){
42
+ return Logic.not(Logic.xor(a,b))
43
+ }
44
+
45
+ }
46
46
  export{Logic}
@@ -1,31 +1,31 @@
1
- class Permutation {
2
- static withDiscount(arr, l = arr.length) {
3
- if (l === 1) return arr.map((n) => [n]);
4
- const permutations = [];
5
- let smallerPermutations;
6
- smallerPermutations = this.withDiscount(arr, l - 1);
7
- arr.forEach((currentOption) => {
8
- smallerPermutations.forEach((smallerPermutation) => {
9
- permutations.push([currentOption].concat(smallerPermutation));
10
- });
11
- });
12
- return permutations;
13
- }
14
- static withoutDiscount(arr) {
15
- const l = arr.length;
16
- if (l === 1) return arr.map((n) => [n]);
17
- const permutations = [];
18
- const smallerPermutations = this.withoutDiscount(arr.slice(1));
19
- const firstOption = arr[0];
20
- for (let i = 0; i < smallerPermutations.length; i++) {
21
- const smallerPermutation = smallerPermutations[i];
22
- for (let j = 0; j <= smallerPermutation.length; j++) {
23
- const permutationPrefix = smallerPermutation.slice(0, j);
24
- const permutationSuffix = smallerPermutation.slice(j);
25
- permutations.push(permutationPrefix.concat([firstOption], permutationSuffix));
26
- }
27
- }
28
- return permutations;
29
- }
30
- }
1
+ class Permutation {
2
+ static withDiscount(arr, l = arr.length) {
3
+ if (l === 1) return arr.map((n) => [n]);
4
+ const permutations = [];
5
+ let smallerPermutations;
6
+ smallerPermutations = this.withDiscount(arr, l - 1);
7
+ arr.forEach((currentOption) => {
8
+ smallerPermutations.forEach((smallerPermutation) => {
9
+ permutations.push([currentOption].concat(smallerPermutation));
10
+ });
11
+ });
12
+ return permutations;
13
+ }
14
+ static withoutDiscount(arr) {
15
+ const l = arr.length;
16
+ if (l === 1) return arr.map((n) => [n]);
17
+ const permutations = [];
18
+ const smallerPermutations = this.withoutDiscount(arr.slice(1));
19
+ const firstOption = arr[0];
20
+ for (let i = 0; i < smallerPermutations.length; i++) {
21
+ const smallerPermutation = smallerPermutations[i];
22
+ for (let j = 0; j <= smallerPermutation.length; j++) {
23
+ const permutationPrefix = smallerPermutation.slice(0, j);
24
+ const permutationSuffix = smallerPermutation.slice(j);
25
+ permutations.push(permutationPrefix.concat([firstOption], permutationSuffix));
26
+ }
27
+ }
28
+ return permutations;
29
+ }
30
+ }
31
31
  export { Permutation }
@@ -1,2 +1,2 @@
1
- export * from "./power-set.js";
1
+ export * from "./power-set.js";
2
2
  export * from "./sub-set.js";
@@ -1,15 +1,15 @@
1
- const powerSet=originalSet=>{
2
- const subSets = [];
3
- const NUMBER_OF_COMBINATIONS = 2 ** originalSet.length;
4
- for (let i = 0; i < NUMBER_OF_COMBINATIONS; i += 1) {
5
- const subSet = [];
6
- for (let j = 0; j < originalSet.length; j += 1) {
7
- if (i & (1 << j)) {
8
- subSet.push(originalSet[j]);
9
- }
10
- }
11
- subSets.push(subSet);
12
- }
13
- return subSets;
14
- }
1
+ const powerSet=originalSet=>{
2
+ const subSets = [];
3
+ const NUMBER_OF_COMBINATIONS = 2 ** originalSet.length;
4
+ for (let i = 0; i < NUMBER_OF_COMBINATIONS; i += 1) {
5
+ const subSet = [];
6
+ for (let j = 0; j < originalSet.length; j += 1) {
7
+ if (i & (1 << j)) {
8
+ subSet.push(originalSet[j]);
9
+ }
10
+ }
11
+ subSets.push(subSet);
12
+ }
13
+ return subSets;
14
+ }
15
15
  export{powerSet}
@@ -1,10 +1,10 @@
1
- import { arange } from "../../utils/index.js";
2
-
3
- // const subSet = (...arr) => {
4
- // let list = arange(0, 2 ** arr.length, 1);
5
- // let bin = list.map((n) => n.toString(2).padStart(arr.length, '0')).map((n) => n.split("").map((n) => +n));
6
- // let sub = bin.map((n) => n.map((m, i) => (m === 1 ? arr[i] : null))).map((n) => n.filter((x) => x !== null));
7
- // return sub;
8
- // };
9
- const subSet = null
10
- export { subSet };
1
+ import { arange } from "../../utils/index.js";
2
+
3
+ // const subSet = (...arr) => {
4
+ // let list = arange(0, 2 ** arr.length, 1);
5
+ // let bin = list.map((n) => n.toString(2).padStart(arr.length, '0')).map((n) => n.split("").map((n) => +n));
6
+ // let sub = bin.map((n) => n.map((m, i) => (m === 1 ? arr[i] : null))).map((n) => n.filter((x) => x !== null));
7
+ // return sub;
8
+ // };
9
+ const subSet = null
10
+ export { subSet };
@@ -1,23 +1,12 @@
1
- import { powerSet , subSet } from "./Set/index.js";
2
- import { Base } from "./Conversion/index.js";
3
- import { Logic } from "./Logic/index.js";
4
- import {
5
- Permutation,
6
- } from "./Permutation/index.js"
7
- import {
8
- Combinaison,
9
- combinaison,
10
- } from "./Combinaison/index.js"
11
-
12
-
13
- const Discret={
14
- Logic,
15
- Base,
16
- Permutation,
17
- Combinaison,
18
- combinaison,
19
- powerSet,
20
- subSet
21
- }
22
- export default Discret;
23
- export{Logic,Base,Permutation,Combinaison,powerSet,subSet}
1
+ import { powerSet , subSet } from "./Set/index.js";
2
+ import { Base } from "./Conversion/index.js";
3
+ import { Logic } from "./Logic/index.js";
4
+ import {
5
+ Permutation,
6
+ } from "./Permutation/index.js"
7
+ import {
8
+ Combinaison,
9
+ combinaison,
10
+ } from "./Combinaison/index.js"
11
+
12
+ export{Logic,Base,Permutation,Combinaison,combinaison,powerSet,subSet}
@@ -0,0 +1,20 @@
1
+ export const Fixed={
2
+ cos:x=>+Math.cos(x).toFixed(15),
3
+ sin:x=>+Math.sin(x).toFixed(15),
4
+ tan:x=>+Math.tan(x).toFixed(31),
5
+ sinc:x=>+Math.sin(Math.PI*x)/(Math.PI*x),
6
+ sec:x=>+1/Math.cos(x).toFixed(15),
7
+ csc:x=>+1/Math.sin(x).toFixed(15),
8
+ cot:x=>+1/Math.tan(x).toFixed(15),
9
+ acos:x=>+Math.acos(x).toFixed(15),
10
+ asin:x=>+Math.asin(x).toFixed(15),
11
+ atan:x=>+Math.atan(x).toFixed(15),
12
+ acot:x=>+Math.PI/2-Math.atan(x).toFixed(15),
13
+ cosh:x=>+Math.cosh(x).toFixed(15),
14
+ sinh:x=>+Math.sinh(x).toFixed(15),
15
+ tanh:x=>+Math.tanh(x).toFixed(15),
16
+ coth:n=>+(1/2*Math.log((1+n)/(1-n))).toFixed(15),
17
+ acosh:x=>+Math.acosh(x).toFixed(15),
18
+ asinh:x=>+Math.asinh(x).toFixed(15),
19
+ atanh:x=>+Math.atanh(x).toFixed(15),
20
+ }
@@ -1,182 +1,162 @@
1
- import { Complex } from "../complex/index.js";
2
- import { mapfun } from "../utils/mapfun.js";
3
- import {
4
- min,
5
- max
6
- }from "../statistics/index.js";
7
- import {
8
- gamma,
9
- bessel,
10
- beta
11
- } from "../calculus/index.js";
12
- export const Fixed={
13
- cos:x=>+Math.cos(x).toFixed(15),
14
- sin:x=>+Math.sin(x).toFixed(15),
15
- tan:x=>+Math.tan(x).toFixed(31),
16
- sinc:x=>+Math.sin(Math.PI*x)/(Math.PI*x),
17
- sec:x=>+1/Math.cos(x).toFixed(15),
18
- csc:x=>+1/Math.sin(x).toFixed(15),
19
- cot:x=>+1/Math.tan(x).toFixed(15),
20
- acos:x=>+Math.acos(x).toFixed(15),
21
- asin:x=>+Math.asin(x).toFixed(15),
22
- atan:x=>+Math.atan(x).toFixed(15),
23
- acot:x=>+Math.PI/2-Math.atan(x).toFixed(15),
24
- cosh:x=>+Math.cosh(x).toFixed(15),
25
- sinh:x=>+Math.sinh(x).toFixed(15),
26
- tanh:x=>+Math.tanh(x).toFixed(15),
27
- coth:n=>+(1/2*Math.log((1+n)/(1-n))).toFixed(15),
28
- acosh:x=>+Math.acosh(x).toFixed(15),
29
- asinh:x=>+Math.asinh(x).toFixed(15),
30
- atanh:x=>+Math.atanh(x).toFixed(15),
31
-
32
-
33
- }
34
- const abs=(...x)=>mapfun(Math.abs,...x);
35
- const sqrt=(...x)=>mapfun(Math.sqrt,...x);
36
- const pow=(x,n)=>{
37
- if(typeof x === "number"){
38
- if(typeof n === "number")return Math.pow(x,n);
39
- else if(n instanceof Complex)return Complex.fromExpo(x**n.a,n.b*ln(x))
40
- else return mapfun(a=>pow(x,a),...n);
41
- }
42
- else if(x instanceof Complex){
43
- if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
44
- else if(n instanceof Complex)return Complex.fromExpo(
45
- x.z**n.a*e(-x.phi*n.b),
46
- ln(x.z)*n.b+n.a*x.phi
47
- )
48
- else return mapfun(a=>pow(x,a),...n);
49
- }
50
- else if(x instanceof Array){
51
- if(typeof n === "number") return mapfun(a=>pow(a,n),...x);
52
- else if(n instanceof Array){
53
- const Y=[];
54
- for(let i=0;i<x.length;i++){
55
- Y.push(mapfun(a=>pow(x[i],a),...n))
56
- }
57
- return Y;
58
- }
59
- }
60
- }
61
- const sqrtn=(x,n)=>{
62
- if(typeof x === "number"){
63
- if(typeof n === "number")return Math.pow(x,1/n);
64
- else return mapfun(a=>sqrtn(x,a),...n);
65
- }
66
- else if(x instanceof Complex){
67
- if(typeof n === "number")return Complex.fromExpo(sqrtn(x.z,n),x.phi/n);
68
- else return mapfun(a=>sqrtn(x,a),...n);
69
- }
70
- else if(x instanceof Array){
71
- if(typeof n === "number") return mapfun(a=>sqrtn(a,n),...x);
72
- else if(n instanceof Array){
73
- const Y=[];
74
- for(let i=0;i<x.length;i++){
75
- Y.push(mapfun(a=>sqrtn(x[i],a),...n))
76
- }
77
- return Y;
78
- }
79
- }
80
- }
81
- const e=(...x)=>mapfun(Math.exp,...x);
82
- const ln=(...x)=>mapfun(Math.log,...x);
83
- const cos=(...x)=>mapfun(Fixed.cos,...x);
84
- const sin=(...x)=>mapfun(Fixed.sin,...x);
85
- const tan=(...x)=>mapfun(Fixed.tan,...x);
86
- const sec=(...x)=>mapfun(Fixed.sec,...x);
87
- const sinc=(...x)=>mapfun(Fixed.sinc,...x)
88
- const csc=(...x)=>mapfun(Fixed.csc,...x);
89
- const cot=(...x)=>mapfun(Fixed.cot,...x);
90
- const acos=(...x)=>mapfun(Fixed.acos,...x);
91
- const asin=(...x)=>mapfun(Fixed.asin,...x);
92
- const atan=(...x)=>mapfun(Fixed.atan,...x);
93
- const acot=(...x)=>mapfun(Fixed.acot,...x);
94
- const cosh=(...x)=>mapfun(Fixed.cosh,...x);
95
- const sinh=(...x)=>mapfun(Fixed.sinh,...x);
96
- const tanh=(...x)=>mapfun(Fixed.tanh,...x);
97
- const coth=(...x)=>mapfun(Fixed.coth,...x);
98
- const acosh=(...x)=>mapfun(Fixed.acosh,...x);
99
- const asinh=(...x)=>mapfun(Fixed.asinh,...x);
100
- const atanh=(...x)=>mapfun(Fixed.atanh,...x);
101
- const ceil=(...x)=>mapfun(Math.ceil,...x);
102
- const floor=(...x)=>mapfun(Math.floor,...x);
103
- const round=(...x)=>mapfun(Math.round,...x);
104
- const atan2=(x,y,rad=true)=>{
105
- if(typeof x === "number"){
106
- if(typeof y === "number")return rad?Math.atan2(x,y):Math.atan2(x,y)*180/Math.PI;
107
- else return mapfun(a=>atan2(x,a,rad),...y);
108
- }
109
- // else if(x instanceof Complex){
110
- // if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
111
- // else return mapfun(a=>pow(x,a),...n);
112
- // }
113
- else if(x instanceof Array){
114
- if(typeof y === "number") return mapfun(a=>atan2(a,y,rad),...x);
115
- else if(y instanceof Array){
116
- const Y=[];
117
- for(let i=0;i<x.length;i++){
118
- Y.push(mapfun(a=>pow(x[i],a,rad),...y))
119
- }
120
- return Y;
121
- }
122
- }
123
- }
124
- const fact=(...x)=>mapfun(n=> {
125
- let i,
126
- y = 1;
127
- if (n == 0) y = 1;
128
- else if (n > 0) for (i = 1; i <= n; i++) y *= i;
129
- else y = NaN;
130
- return y;
131
- },...x);
132
- const sign=(...x)=>mapfun(Math.sign,...x);
133
-
134
- const sig=(...x)=>mapfun(n=>1/(1+e(-n)),...x);
135
-
136
- const hypot=(...x)=>{
137
- if(x.every(n=>typeof n === "number"))return Math.hypot(...x);
138
- if(x.every(n=>n instanceof Array))return mapfun(
139
- Math.hypot,
140
- ...x
141
- )
142
- }
143
-
144
- export{
145
- cos,
146
- sin,
147
- tan,
148
- sinc,
149
- cot,
150
- sec,
151
- csc,
152
- abs,
153
- sqrt,
154
- pow,
155
- sqrtn,
156
- e,
157
- ln,
158
- acos,
159
- asin,
160
- atan,
161
- acot,
162
- cosh,
163
- sinh,
164
- tanh,
165
- coth,
166
- acosh,
167
- asinh,
168
- atanh,
169
- min,
170
- max,
171
- sign,
172
- floor,
173
- ceil,
174
- round,
175
- fact,
176
- hypot,
177
- sig,
178
- atan2,
179
- gamma,
180
- bessel,
181
- beta
1
+ import { Fixed } from "./helper.js";
2
+ import { Complex } from "../complex/index.js";
3
+ import { mapfun } from "../utils/mapfun.js";
4
+ import {
5
+ min,
6
+ max
7
+ }from "../statistics/index.js";
8
+ import {
9
+ gamma,
10
+ bessel,
11
+ beta
12
+ } from "../calculus/index.js";
13
+
14
+ const abs=(...x)=>mapfun(Math.abs,...x);
15
+ const sqrt=(...x)=>mapfun(Math.sqrt,...x);
16
+ const pow=(x,n)=>{
17
+ if(typeof x === "number"){
18
+ if(typeof n === "number")return Math.pow(x,n);
19
+ else if(n instanceof Complex)return Complex.fromExpo(x**n.a,n.b*ln(x))
20
+ else return mapfun(a=>pow(x,a),...n);
21
+ }
22
+ else if(x instanceof Complex){
23
+ if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
24
+ else if(n instanceof Complex)return Complex.fromExpo(
25
+ x.z**n.a*e(-x.phi*n.b),
26
+ ln(x.z)*n.b+n.a*x.phi
27
+ )
28
+ else return mapfun(a=>pow(x,a),...n);
29
+ }
30
+ else if(x instanceof Array){
31
+ if(typeof n === "number") return mapfun(a=>pow(a,n),...x);
32
+ else if(n instanceof Array){
33
+ const Y=[];
34
+ for(let i=0;i<x.length;i++){
35
+ Y.push(mapfun(a=>pow(x[i],a),...n))
36
+ }
37
+ return Y;
38
+ }
39
+ }
40
+ }
41
+ const sqrtn=(x,n)=>{
42
+ if(typeof x === "number"){
43
+ if(typeof n === "number")return Math.pow(x,1/n);
44
+ else return mapfun(a=>sqrtn(x,a),...n);
45
+ }
46
+ else if(x instanceof Complex){
47
+ if(typeof n === "number")return Complex.fromExpo(sqrtn(x.z,n),x.phi/n);
48
+ else return mapfun(a=>sqrtn(x,a),...n);
49
+ }
50
+ else if(x instanceof Array){
51
+ if(typeof n === "number") return mapfun(a=>sqrtn(a,n),...x);
52
+ else if(n instanceof Array){
53
+ const Y=[];
54
+ for(let i=0;i<x.length;i++){
55
+ Y.push(mapfun(a=>sqrtn(x[i],a),...n))
56
+ }
57
+ return Y;
58
+ }
59
+ }
60
+ }
61
+ const e=(...x)=>mapfun(Math.exp,...x);
62
+ const ln=(...x)=>mapfun(Math.log,...x);
63
+ const cos=(...x)=>mapfun(Fixed.cos,...x);
64
+ const sin=(...x)=>mapfun(Fixed.sin,...x);
65
+ const tan=(...x)=>mapfun(Fixed.tan,...x);
66
+ const sec=(...x)=>mapfun(Fixed.sec,...x);
67
+ const sinc=(...x)=>mapfun(Fixed.sinc,...x)
68
+ const csc=(...x)=>mapfun(Fixed.csc,...x);
69
+ const cot=(...x)=>mapfun(Fixed.cot,...x);
70
+ const acos=(...x)=>mapfun(Fixed.acos,...x);
71
+ const asin=(...x)=>mapfun(Fixed.asin,...x);
72
+ const atan=(...x)=>mapfun(Fixed.atan,...x);
73
+ const acot=(...x)=>mapfun(Fixed.acot,...x);
74
+ const cosh=(...x)=>mapfun(Fixed.cosh,...x);
75
+ const sinh=(...x)=>mapfun(Fixed.sinh,...x);
76
+ const tanh=(...x)=>mapfun(Fixed.tanh,...x);
77
+ const coth=(...x)=>mapfun(Fixed.coth,...x);
78
+ const acosh=(...x)=>mapfun(Fixed.acosh,...x);
79
+ const asinh=(...x)=>mapfun(Fixed.asinh,...x);
80
+ const atanh=(...x)=>mapfun(Fixed.atanh,...x);
81
+ const ceil=(...x)=>mapfun(Math.ceil,...x);
82
+ const floor=(...x)=>mapfun(Math.floor,...x);
83
+ const round=(...x)=>mapfun(Math.round,...x);
84
+ const atan2=(x,y,rad=true)=>{
85
+ if(typeof x === "number"){
86
+ if(typeof y === "number")return rad?Math.atan2(x,y):Math.atan2(x,y)*180/Math.PI;
87
+ else return mapfun(a=>atan2(x,a,rad),...y);
88
+ }
89
+ // else if(x instanceof Complex){
90
+ // if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
91
+ // else return mapfun(a=>pow(x,a),...n);
92
+ // }
93
+ else if(x instanceof Array){
94
+ if(typeof y === "number") return mapfun(a=>atan2(a,y,rad),...x);
95
+ else if(y instanceof Array){
96
+ const Y=[];
97
+ for(let i=0;i<x.length;i++){
98
+ Y.push(mapfun(a=>pow(x[i],a,rad),...y))
99
+ }
100
+ return Y;
101
+ }
102
+ }
103
+ }
104
+ const fact=(...x)=>mapfun(n=> {
105
+ let i,
106
+ y = 1;
107
+ if (n == 0) y = 1;
108
+ else if (n > 0) for (i = 1; i <= n; i++) y *= i;
109
+ else y = NaN;
110
+ return y;
111
+ },...x);
112
+ const sign=(...x)=>mapfun(Math.sign,...x);
113
+
114
+ const sig=(...x)=>mapfun(n=>1/(1+e(-n)),...x);
115
+
116
+ const hypot=(...x)=>{
117
+ if(x.every(n=>typeof n === "number"))return Math.hypot(...x);
118
+ if(x.every(n=>n instanceof Array))return mapfun(
119
+ Math.hypot,
120
+ ...x
121
+ )
122
+ }
123
+
124
+ export{
125
+ cos,
126
+ sin,
127
+ tan,
128
+ sinc,
129
+ cot,
130
+ sec,
131
+ csc,
132
+ abs,
133
+ sqrt,
134
+ pow,
135
+ sqrtn,
136
+ e,
137
+ ln,
138
+ acos,
139
+ asin,
140
+ atan,
141
+ acot,
142
+ cosh,
143
+ sinh,
144
+ tanh,
145
+ coth,
146
+ acosh,
147
+ asinh,
148
+ atanh,
149
+ min,
150
+ max,
151
+ sign,
152
+ floor,
153
+ ceil,
154
+ round,
155
+ fact,
156
+ hypot,
157
+ sig,
158
+ atan2,
159
+ gamma,
160
+ bessel,
161
+ beta
182
162
  };