ziko 0.0.14 → 0.0.15

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 (289) hide show
  1. package/dist/ziko.cjs +13347 -11831
  2. package/dist/ziko.js +13867 -12409
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +13282 -11828
  5. package/package.json +2 -1
  6. package/src/__helpers__/index.js +61 -41
  7. package/src/app/index.js +20 -12
  8. package/src/app/json-style-sheet.js +64 -0
  9. package/src/app/routes.js +58 -0
  10. package/src/app/spa.js +56 -0
  11. package/src/app/ziko-app.js +39 -0
  12. package/src/data/api/fetchdom.js +13 -13
  13. package/src/data/api/index.js +3 -3
  14. package/src/data/api/preload.js +10 -10
  15. package/src/data/converter/adoc.js +130 -130
  16. package/src/data/converter/array.js +42 -42
  17. package/src/data/converter/canvas.js +24 -24
  18. package/src/data/converter/css.js +37 -0
  19. package/src/data/converter/csv.js +32 -32
  20. package/src/data/converter/idea.txt +9 -9
  21. package/src/data/converter/index.js +37 -34
  22. package/src/data/converter/json.js +80 -80
  23. package/src/data/converter/markdown.js +95 -95
  24. package/src/data/converter/object.js +69 -69
  25. package/src/data/converter/svg.js +10 -10
  26. package/src/data/index.js +16 -73
  27. package/src/data/parser/index.js +1 -0
  28. package/src/data/parser/xml.js +46 -46
  29. package/src/data/string/patterns.js +11 -11
  30. package/src/data/string/string.js +169 -169
  31. package/src/{app/app.js → global/app/index.js} +45 -45
  32. package/src/{app → global}/component/index.js +38 -38
  33. package/src/global/globals/index.js +20 -0
  34. package/src/global/index.js +12 -0
  35. package/src/global/params/index.js +40 -0
  36. package/src/{app → global}/router/index.js +66 -66
  37. package/src/{app → global}/seo/index.js +42 -42
  38. package/src/global/style/index.js +1 -0
  39. package/src/{app → global}/themes/dark.js +884 -884
  40. package/src/{app → global}/themes/index.js +10 -10
  41. package/src/{app → global}/themes/light.js +254 -254
  42. package/src/graphics/canvas/canvas.js +188 -188
  43. package/src/graphics/canvas/elements/Basic/arc.js +42 -42
  44. package/src/graphics/canvas/elements/Basic/line.js +25 -25
  45. package/src/graphics/canvas/elements/Basic/points.js +47 -47
  46. package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
  47. package/src/graphics/canvas/elements/Basic/rect.js +45 -45
  48. package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
  49. package/src/graphics/canvas/elements/Element.js +114 -114
  50. package/src/graphics/canvas/elements/index.js +12 -12
  51. package/src/graphics/canvas/index.js +14 -14
  52. package/src/graphics/canvas/utils/color.js +7 -7
  53. package/src/graphics/canvas/utils/floodFill.js +57 -57
  54. package/src/graphics/index.js +68 -68
  55. package/src/graphics/svg/Elements/Basic/circle.js +25 -25
  56. package/src/graphics/svg/Elements/Basic/ellipse.js +20 -20
  57. package/src/graphics/svg/Elements/Basic/foreignObject.js +32 -32
  58. package/src/graphics/svg/Elements/Basic/groupe.js +29 -29
  59. package/src/graphics/svg/Elements/Basic/image.js +32 -32
  60. package/src/graphics/svg/Elements/Basic/line.js +28 -28
  61. package/src/graphics/svg/Elements/Basic/link.js +30 -30
  62. package/src/graphics/svg/Elements/Basic/path.js +58 -58
  63. package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
  64. package/src/graphics/svg/Elements/Basic/polyline.js +3 -3
  65. package/src/graphics/svg/Elements/Basic/rect.js +42 -42
  66. package/src/graphics/svg/Elements/Basic/text.js +25 -25
  67. package/src/graphics/svg/Elements/Derived/grid.js +8 -8
  68. package/src/graphics/svg/Elements/ZikoSvgElement.js +46 -46
  69. package/src/graphics/svg/Elements/index.js +14 -14
  70. package/src/graphics/svg/index.js +1 -1
  71. package/src/graphics/svg/svg.js +114 -114
  72. package/src/index.js +83 -88
  73. package/src/math/calculus/derivation/index.js +7 -0
  74. package/src/math/calculus/index.js +2 -1
  75. package/src/math/calculus/special-functions/bessel.js +30 -30
  76. package/src/math/calculus/special-functions/beta.js +37 -37
  77. package/src/math/calculus/special-functions/gamma.js +29 -29
  78. package/src/math/calculus/special-functions/index.js +4 -4
  79. package/src/math/complex/index.js +202 -202
  80. package/src/math/const.js +2 -2
  81. package/src/math/discret/Combinaison/index.js +33 -33
  82. package/src/math/discret/Conversion/index.js +85 -85
  83. package/src/math/discret/Logic/index.js +45 -45
  84. package/src/math/discret/Permutation/index.js +30 -30
  85. package/src/math/discret/Set/index.js +1 -1
  86. package/src/math/discret/Set/power-set.js +14 -14
  87. package/src/math/discret/Set/sub-set.js +10 -10
  88. package/src/math/discret/index.js +12 -23
  89. package/src/math/functions/helper.js +20 -0
  90. package/src/math/functions/index.js +161 -181
  91. package/src/math/index.js +32 -189
  92. package/src/math/matrix/Decomposition.js +90 -90
  93. package/src/math/matrix/LinearSystem.js +9 -9
  94. package/src/math/matrix/Matrix.js +716 -716
  95. package/src/math/matrix/index.js +2 -2
  96. package/src/math/random/index.js +172 -172
  97. package/src/math/signal/__np.py.txt +39 -39
  98. package/src/math/signal/conv.js +174 -174
  99. package/src/math/signal/fft.js +54 -54
  100. package/src/math/signal/filter.js +38 -38
  101. package/src/math/signal/functions.js +145 -145
  102. package/src/math/signal/index.js +109 -109
  103. package/src/math/statistics/Functions/index.js +99 -99
  104. package/src/math/statistics/index.js +15 -15
  105. package/src/math/utils/arithmetic.js +138 -138
  106. package/src/math/utils/checkers.js +29 -29
  107. package/src/math/utils/conversions.js +19 -19
  108. package/src/math/utils/discret.js +51 -51
  109. package/src/math/utils/index.js +101 -101
  110. package/src/math/utils/mapfun.js +49 -49
  111. package/src/reactivity/events/{Partiel/Input.js → Input.js} +62 -59
  112. package/src/reactivity/events/{Global/Pointer.js → Pointer.js} +232 -234
  113. package/src/reactivity/events/ZikoEvent.js +90 -90
  114. package/src/reactivity/events/{Global/Click.js → click.js} +60 -56
  115. package/src/reactivity/events/{Global/Clipboard.js → clipboard.js} +88 -84
  116. package/src/reactivity/events/{Global/CustomEvent.js → custom-event.js} +57 -53
  117. package/src/reactivity/events/{Global/Drag.js → drag.js} +136 -136
  118. package/src/reactivity/events/{Global/Focus.js → focus.js} +59 -56
  119. package/src/reactivity/events/{Partiel/Hash.js → hash.js} +47 -44
  120. package/src/reactivity/events/index.js +62 -62
  121. package/src/reactivity/events/{Global/Key.js → key.js} +102 -104
  122. package/src/reactivity/events/{Global/Mouse.js → mouse.js} +233 -230
  123. package/src/reactivity/events/{Global/Swipe.js → swipe.js} +149 -147
  124. package/src/reactivity/events/{Global/Wheel.js → wheel.js} +47 -44
  125. package/src/reactivity/hooks/{Contexte → contexte}/useSuccesifKeys.js +13 -13
  126. package/src/reactivity/hooks/{Decorators → decorators}/index.js +6 -6
  127. package/src/reactivity/hooks/{Decorators → decorators}/time.js +16 -16
  128. package/src/reactivity/hooks/{Decorators → decorators}/type.js +87 -87
  129. package/src/reactivity/hooks/head/index.js +5 -0
  130. package/src/reactivity/hooks/{UI → head}/useCssText.js +21 -21
  131. package/src/reactivity/hooks/{UI → head}/useFavIcon.js +37 -37
  132. package/src/reactivity/hooks/head/useHead.js +28 -0
  133. package/src/reactivity/hooks/head/useMeta.js +52 -0
  134. package/src/reactivity/hooks/{UI → head}/useTitle.js +29 -29
  135. package/src/reactivity/hooks/index.js +91 -85
  136. package/src/reactivity/hooks/{Interactions → interactions}/index.js +3 -3
  137. package/src/reactivity/hooks/{Interactions → interactions}/useBluetooth.js +47 -47
  138. package/src/reactivity/hooks/{Interactions → interactions}/useChannel.js +49 -49
  139. package/src/reactivity/hooks/{Interactions → interactions}/useEventEmmiter.js +63 -63
  140. package/src/reactivity/hooks/{Interactions → interactions}/useThread.js +43 -43
  141. package/src/reactivity/hooks/sensors/index.js +2 -0
  142. package/src/reactivity/hooks/{Sensors → sensors}/useBattery.js +35 -35
  143. package/src/reactivity/hooks/{Sensors → sensors}/useGeolocation.js +16 -16
  144. package/src/reactivity/hooks/{Storage → storage}/useStorage.js +72 -72
  145. package/src/reactivity/hooks/todo.md +26 -26
  146. package/src/reactivity/hooks/ui/index.js +5 -0
  147. package/src/reactivity/hooks/{UI → ui}/useMediaQuery.js +43 -43
  148. package/src/reactivity/hooks/{UI → ui}/useStyle.js +79 -79
  149. package/src/reactivity/hooks/{UI → ui}/useTheme.js +61 -61
  150. package/src/reactivity/idea +1 -1
  151. package/src/reactivity/index.js +11 -21
  152. package/src/reactivity/observer/attributes.js +28 -28
  153. package/src/reactivity/observer/children.js +36 -36
  154. package/src/reactivity/observer/index.js +6 -44
  155. package/src/reactivity/observer/intersection.js +43 -43
  156. package/src/reactivity/observer/mutation.js +112 -112
  157. package/src/reactivity/observer/resize.js +46 -46
  158. package/src/reactivity/observer/screen.js +44 -44
  159. package/src/reactivity/observer/screen.js.txt +83 -83
  160. package/src/reactivity/observer/screen.txt +12 -12
  161. package/src/time/animation.js +75 -75
  162. package/src/time/index.js +12 -54
  163. package/src/time/loop.js +87 -87
  164. package/src/time/utils/decorators.js +16 -16
  165. package/src/time/utils/ease.js +143 -143
  166. package/src/time/utils/index.js +17 -17
  167. package/src/time/utils/performance.js +15 -15
  168. package/src/time/utils/ui.js +25 -25
  169. package/src/types.js +73 -71
  170. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/accordion.js +42 -45
  171. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/collapsible.js +82 -82
  172. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/index.js +1 -1
  173. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/alert.js +80 -80
  174. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/palette.js +51 -51
  175. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/carousel/index.js +50 -50
  176. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/SubElements.js.txt +104 -104
  177. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-cell.js +194 -194
  178. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-note.js +71 -71
  179. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/index.js +1 -1
  180. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/sub-elements.js +66 -66
  181. package/src/{user-interface → ui}/elements/derived/elements/Swipper.js +3 -3
  182. package/src/{user-interface → ui}/elements/derived/elements/index.js +9 -9
  183. package/src/{user-interface/elements/derived/Flex.js → ui/elements/derived/flex/index.js} +102 -102
  184. package/src/{user-interface/elements/derived/Grid.js → ui/elements/derived/grid/index.js} +32 -32
  185. package/src/ui/elements/derived/index.js +12 -0
  186. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/menu3d.js +259 -259
  187. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/modal/index.js +91 -91
  188. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/breadcrumbs.js +53 -53
  189. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +112 -0
  190. package/src/ui/elements/derived/slider/hSlider.js +34 -0
  191. package/src/ui/elements/derived/slider/index.js +12 -0
  192. package/src/ui/elements/derived/slider/vSlider.js +27 -0
  193. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/__ZikoUISplitter__.js +61 -61
  194. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/hsplitter.js +39 -39
  195. package/src/ui/elements/derived/splitter/index.js +12 -0
  196. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/vsplitter.js +39 -39
  197. package/src/{user-interface/elements/derived/elements → ui/elements/derived}/tabs/index.js +179 -179
  198. package/src/{user-interface → ui}/elements/primitives/ZikoUIContainerElement.js +126 -126
  199. package/src/{user-interface → ui}/elements/primitives/ZikoUIElement.js +492 -480
  200. package/src/{user-interface → ui}/elements/primitives/embaded/html.js +19 -20
  201. package/src/{user-interface → ui}/elements/primitives/embaded/index.js +3 -3
  202. package/src/{user-interface → ui}/elements/primitives/embaded/pdf.js +16 -17
  203. package/src/{user-interface → ui}/elements/primitives/embaded/youtube.js +23 -25
  204. package/src/{user-interface → ui}/elements/primitives/index.js +7 -7
  205. package/src/{user-interface → ui}/elements/primitives/io/Form/index.js +41 -41
  206. package/src/{user-interface → ui}/elements/primitives/io/Form/index.js.txt +104 -104
  207. package/src/{user-interface → ui}/elements/primitives/io/Inputs/__helpers__.js +51 -51
  208. package/src/{user-interface → ui}/elements/primitives/io/Inputs/index.js +12 -12
  209. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input/index.js +98 -98
  210. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  211. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  212. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-color/index.js +15 -15
  213. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  214. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  215. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  216. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  217. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +2 -0
  218. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  219. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  220. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  221. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-number/index.js +36 -36
  222. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  223. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-search/index.js +45 -45
  224. package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  225. package/src/{user-interface → ui}/elements/primitives/io/Select/index.js +19 -19
  226. package/src/{user-interface → ui}/elements/primitives/io/Textarea/index.js +17 -17
  227. package/src/{user-interface → ui}/elements/primitives/io/index.js +3 -3
  228. package/src/{user-interface → ui}/elements/primitives/list/index.js +138 -138
  229. package/src/{user-interface → ui}/elements/primitives/media/Audio/index.js +16 -16
  230. package/src/{user-interface → ui}/elements/primitives/media/Image/figure.js +18 -18
  231. package/src/{user-interface → ui}/elements/primitives/media/Image/image.js +36 -36
  232. package/src/ui/elements/primitives/media/Image/index.js +2 -0
  233. package/src/{user-interface → ui}/elements/primitives/media/Video/index.js +26 -26
  234. package/src/{user-interface → ui}/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  235. package/src/{user-interface → ui}/elements/primitives/media/index.js +2 -2
  236. package/src/{user-interface → ui}/elements/primitives/misc/index.js +100 -100
  237. package/src/{user-interface → ui}/elements/primitives/semantic/index.js +81 -81
  238. package/src/{user-interface → ui}/elements/primitives/table/elements.js +93 -93
  239. package/src/ui/elements/primitives/table/index.js +3 -0
  240. package/src/{user-interface → ui}/elements/primitives/table/table.js +115 -115
  241. package/src/{user-interface → ui}/elements/primitives/table/utils.js +11 -11
  242. package/src/{user-interface → ui}/elements/primitives/text/__ZikoUIText__.js +71 -71
  243. package/src/{user-interface → ui}/elements/primitives/text/heading.js +35 -35
  244. package/src/{user-interface → ui}/elements/primitives/text/index.js +2 -2
  245. package/src/{user-interface → ui}/elements/primitives/text/p.js +26 -26
  246. package/src/{user-interface → ui}/elements/primitives/text/text.js +80 -80
  247. package/src/ui/index.js +29 -0
  248. package/src/{user-interface → ui}/style/index.js +515 -509
  249. package/src/{user-interface → ui}/utils/index.js +69 -69
  250. package/src/reactivity/events/Global/Touch.js +0 -0
  251. package/src/reactivity/hooks/Sensors/index.js +0 -2
  252. package/src/reactivity/hooks/UI/index.js +0 -5
  253. package/src/user-interface/elements/derived/elements/splitter/index.js +0 -2
  254. package/src/user-interface/elements/derived/index.js +0 -3
  255. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +0 -2
  256. package/src/user-interface/elements/primitives/media/Image/index.js +0 -2
  257. package/src/user-interface/elements/primitives/table/index.js +0 -3
  258. package/src/user-interface/index.js +0 -190
  259. /package/src/app/{globals/index.js → globals.js} +0 -0
  260. /package/src/app/{params/index.js → params.js} +0 -0
  261. /package/src/reactivity/events/{Partiel/Media.js → media.js} +0 -0
  262. /package/src/{app/accessibility/index.js → reactivity/events/touch.js} +0 -0
  263. /package/src/reactivity/hooks/{Contexte → contexte}/index.js +0 -0
  264. /package/src/reactivity/hooks/{Interactions → interactions}/useSerial.js +0 -0
  265. /package/src/reactivity/hooks/{Interactions → interactions}/useUsb.js +0 -0
  266. /package/src/reactivity/hooks/{Sensors → sensors}/useCamera.js +0 -0
  267. /package/src/reactivity/hooks/{Sensors → sensors}/useMicro.js +0 -0
  268. /package/src/reactivity/hooks/{Sensors → sensors}/useOrientation.js +0 -0
  269. /package/src/reactivity/hooks/{Storage → storage}/index.js +0 -0
  270. /package/src/reactivity/hooks/{Storage → storage}/useCookie.js +0 -0
  271. /package/src/reactivity/hooks/{Storage → storage}/useIndexedDb.js +0 -0
  272. /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
  273. /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
  274. /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
  275. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/index.js +0 -0
  276. /package/src/{user-interface → ui}/elements/derived/elements/Notification.js +0 -0
  277. /package/src/{user-interface → ui}/elements/derived/elements/Popover.js +0 -0
  278. /package/src/{user-interface → ui}/elements/derived/elements/Popup.js +0 -0
  279. /package/src/{user-interface → ui}/elements/derived/elements/Timeline.js +0 -0
  280. /package/src/{user-interface → ui}/elements/derived/elements/Toast.js +0 -0
  281. /package/src/{user-interface → ui}/elements/derived/elements/Treeview.js +0 -0
  282. /package/src/{user-interface → ui}/elements/derived/elements/columns.js +0 -0
  283. /package/src/{user-interface → ui}/elements/derived/elements/fab.js +0 -0
  284. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/index.js +0 -0
  285. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/index.js +0 -0
  286. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/index.js +0 -0
  287. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
  288. /package/src/{user-interface → ui}/elements/primitives/list/elements.js +0 -0
  289. /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
  };