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,100 +1,100 @@
1
- // Mixed calcul
2
- const sum=(...x)=>{
3
- if(x.every(n=>typeof n==="number")){
4
- let s = x[0];
5
- for (let i = 1; i < x.length; i++) s += x[i];
6
- return s;
7
- }
8
- const Y=[];
9
- for(let i=0;i<x.length;i++){
10
- if(x[i] instanceof Array)Y.push(sum(...x[i]));
11
- else if(x[i] instanceof Object){
12
- Y.push(sum(...Object.values(x[i])))
13
- }
14
- }
15
- return Y.length===1?Y[0]:Y;
16
- }
17
- const prod=(...x)=>{
18
- if(x.every(n=>typeof n==="number")){
19
- let p = x[0];
20
- for (let i = 1; i < x.length; i++) p *= x[i];
21
- return p;
22
- }
23
- const Y=[];
24
- for(let i=0;i<x.length;i++){
25
- if(x[i] instanceof Array)Y.push(prod(...x[i]));
26
- else if(x[i] instanceof Object){
27
- Y.push(prod(...Object.values(x[i])))
28
- }
29
- }
30
- return Y.length===1?Y[0]:Y;
31
- }
32
- const min=(...num)=>{
33
- if(num.every(n=>typeof n==="number"))return Math.min(...num);
34
- const Y=[];
35
- for(let i=0;i<num.length;i++){
36
- if(num[i] instanceof Array)Y.push(min(...num[i]));
37
- else if(num[i] instanceof Object){
38
- Y.push(
39
- Object.fromEntries(
40
- [Object.entries(num[i]).sort((a,b)=>a[1]-b[1])[0]]
41
- )
42
- )
43
- }
44
- }
45
- return Y.length===1?Y[0]:Y;
46
- }
47
- const max=(...num)=>{
48
- if(num.every(n=>typeof n==="number"))return Math.max(...num);
49
- const Y=[];
50
- for(let i=0;i<num.length;i++){
51
- if(num[i] instanceof Array)Y.push(min(...num[i]));
52
- else if(num[i] instanceof Object){
53
- Y.push(
54
- Object.fromEntries(
55
- [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
56
- )
57
- )
58
- }
59
- }
60
- return Y.length===1?Y[0]:Y;
61
- }
62
- const accum=(...num)=>{
63
- if(num.every(n=>typeof n==="number")){
64
- let acc = num.reduce((x, y) => [...x, x[x.length - 1] + y], [0]);
65
- acc.shift();
66
- return acc;
67
- }
68
- const Y=[];
69
- for(let i=0;i<num.length;i++){
70
- if(num[i] instanceof Array)Y.push(accum(...num[i]));
71
- else if(num[i] instanceof Object){
72
- Y.push(null
73
- // Object.fromEntries(
74
- // [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
75
- // )
76
- )
77
- }
78
- }
79
- return Y.length===1?Y[0]:Y;
80
- }
81
-
82
- // sort
83
-
84
- export{
85
- sum,
86
- prod,
87
- min,
88
- max,
89
- accum
90
- }
91
-
92
- //moy
93
- //med
94
- //variance
95
- //std
96
- //mode
97
- //acccum
98
- //min2max
99
- //max2min
1
+ // Mixed calcul
2
+ const sum=(...x)=>{
3
+ if(x.every(n=>typeof n==="number")){
4
+ let s = x[0];
5
+ for (let i = 1; i < x.length; i++) s += x[i];
6
+ return s;
7
+ }
8
+ const Y=[];
9
+ for(let i=0;i<x.length;i++){
10
+ if(x[i] instanceof Array)Y.push(sum(...x[i]));
11
+ else if(x[i] instanceof Object){
12
+ Y.push(sum(...Object.values(x[i])))
13
+ }
14
+ }
15
+ return Y.length===1?Y[0]:Y;
16
+ }
17
+ const prod=(...x)=>{
18
+ if(x.every(n=>typeof n==="number")){
19
+ let p = x[0];
20
+ for (let i = 1; i < x.length; i++) p *= x[i];
21
+ return p;
22
+ }
23
+ const Y=[];
24
+ for(let i=0;i<x.length;i++){
25
+ if(x[i] instanceof Array)Y.push(prod(...x[i]));
26
+ else if(x[i] instanceof Object){
27
+ Y.push(prod(...Object.values(x[i])))
28
+ }
29
+ }
30
+ return Y.length===1?Y[0]:Y;
31
+ }
32
+ const min=(...num)=>{
33
+ if(num.every(n=>typeof n==="number"))return Math.min(...num);
34
+ const Y=[];
35
+ for(let i=0;i<num.length;i++){
36
+ if(num[i] instanceof Array)Y.push(min(...num[i]));
37
+ else if(num[i] instanceof Object){
38
+ Y.push(
39
+ Object.fromEntries(
40
+ [Object.entries(num[i]).sort((a,b)=>a[1]-b[1])[0]]
41
+ )
42
+ )
43
+ }
44
+ }
45
+ return Y.length===1?Y[0]:Y;
46
+ }
47
+ const max=(...num)=>{
48
+ if(num.every(n=>typeof n==="number"))return Math.max(...num);
49
+ const Y=[];
50
+ for(let i=0;i<num.length;i++){
51
+ if(num[i] instanceof Array)Y.push(min(...num[i]));
52
+ else if(num[i] instanceof Object){
53
+ Y.push(
54
+ Object.fromEntries(
55
+ [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
56
+ )
57
+ )
58
+ }
59
+ }
60
+ return Y.length===1?Y[0]:Y;
61
+ }
62
+ const accum=(...num)=>{
63
+ if(num.every(n=>typeof n==="number")){
64
+ let acc = num.reduce((x, y) => [...x, x[x.length - 1] + y], [0]);
65
+ acc.shift();
66
+ return acc;
67
+ }
68
+ const Y=[];
69
+ for(let i=0;i<num.length;i++){
70
+ if(num[i] instanceof Array)Y.push(accum(...num[i]));
71
+ else if(num[i] instanceof Object){
72
+ Y.push(null
73
+ // Object.fromEntries(
74
+ // [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
75
+ // )
76
+ )
77
+ }
78
+ }
79
+ return Y.length===1?Y[0]:Y;
80
+ }
81
+
82
+ // sort
83
+
84
+ export{
85
+ sum,
86
+ prod,
87
+ min,
88
+ max,
89
+ accum
90
+ }
91
+
92
+ //moy
93
+ //med
94
+ //variance
95
+ //std
96
+ //mode
97
+ //acccum
98
+ //min2max
99
+ //max2min
100
100
  //percentile
@@ -1,16 +1,16 @@
1
- import {
2
- sum,
3
- prod,
4
- min,
5
- max,
6
- accum
7
- } from "./Functions/index.js"
8
- const Stats={
9
- sum,
10
- prod,
11
- min,
12
- max,
13
- accum,
14
- }
15
- export default Stats;
1
+ import {
2
+ sum,
3
+ prod,
4
+ min,
5
+ max,
6
+ accum
7
+ } from "./Functions/index.js"
8
+ const Stats={
9
+ sum,
10
+ prod,
11
+ min,
12
+ max,
13
+ accum,
14
+ }
15
+ export default Stats;
16
16
  export * from "./Functions/index.js"
@@ -1,139 +1,139 @@
1
- import { Complex,complex} from "../complex/index.js";
2
- import { Matrix } from "../matrix/index.js";
3
- const _add=(a,b)=>{
4
- if(typeof(a)==="number"){
5
- if (typeof b == "number") return a + b;
6
- else if (b instanceof Complex)return complex(a + b.a, b.b);
7
- else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).add(b);
8
- else if (b instanceof Array)return b.map(n=>add(n,a));
9
- }
10
- else if(a instanceof Complex||a instanceof Matrix){
11
- if(b instanceof Array)return b.map(n=>a.clone.add(n));
12
- return a.clone.add(b);
13
- }
14
- else if(a instanceof Array){
15
- if(b instanceof Array){
16
- if(a.length === b.length)return a.map((n,i)=>add(n,b[i]))
17
- }
18
- else {
19
- return a.map(n=>add(n,b));
20
- }
21
- }
22
- }
23
- const _sub=(a,b)=>{
24
- if(typeof(a)==="number"){
25
- if (typeof b == "number") return a - b;
26
- else if (b instanceof Complex)return complex(a - b.a, -b.b);
27
- else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).sub(b);
28
- else if (b instanceof Array)return b.map(n=>sub(n,a));
29
- }
30
- else if(a instanceof Complex||a instanceof Matrix){
31
- if(b instanceof Array)return b.map(n=>a.clone.sub(n));
32
- return a.clone.sub(b);
33
- }
34
- else if(a instanceof Array){
35
- if(b instanceof Array){
36
- if(b instanceof Array){
37
- if(a.length === b.length)return a.map((n,i)=>sub(n,b[i]))
38
- }
39
- }
40
- else {
41
- return a.map(n=>sub(n,b));
42
- }
43
- }
44
- }
45
- const _mul=(a,b)=>{
46
- if(typeof(a)==="number"){
47
- if (typeof b == "number") return a * b;
48
- else if (b instanceof Complex)return complex(a * b.a,a * b.b);
49
- else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).mul(b);
50
- else if (b instanceof Array)return b.map(n=>mul(a,n));
51
- }
52
- else if(a instanceof Complex||a instanceof Matrix){
53
- if(b instanceof Array)return b.map(n=>a.clone.mul(n));
54
- return a.clone.mul(b);
55
- }
56
- else if(a instanceof Array){
57
- if(b instanceof Array){
58
- if(b instanceof Array){
59
- if(a.length === b.length)return a.map((n,i)=>mul(n,b[i]))
60
- }
61
- }
62
- else {
63
- return a.map(n=>mul(n,b));
64
- }
65
- }
66
- }
67
- const _div=(a,b)=>{
68
- if(typeof(a)==="number"){
69
- if (typeof b == "number") return a / b;
70
- else if (b instanceof Complex)return complex(a / b.a,a / b.b);
71
- else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).div(b);
72
- else if (b instanceof Array)return b.map(n=>div(a,n));
73
- }
74
- else if(a instanceof Complex||a instanceof Matrix){
75
- if(b instanceof Array)return b.map(n=>a.clone.div(n));
76
- return a.clone.div(b);
77
- }
78
- else if(a instanceof Array){
79
- if(b instanceof Array){
80
- if(b instanceof Array){
81
- if(a.length === b.length)return a.map((n,i)=>div(n,b[i]))
82
- }
83
- }
84
- else {
85
- return a.map(n=>div(n,b));
86
- }
87
- }
88
- }
89
- const _modulo=(a,b)=>{
90
- if(typeof(a)==="number"){
91
- if (typeof b == "number") return a % b;
92
- else if (b instanceof Complex)return complex(a % b.a,a % b.b);
93
- else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).modulo(b);
94
- else if (b instanceof Array)return b.map(n=>div(a,n));
95
- }
96
- else if(a instanceof Complex||a instanceof Matrix){
97
- if(b instanceof Array)return b.map(n=>a.clone.div(n));
98
- return a.clone.div(b);
99
- }
100
- else if(a instanceof Array){
101
- if(b instanceof Array){
102
- }
103
- else {
104
- return a.map(n=>add(n,b));
105
- }
106
- }
107
- }
108
- const add=(a,...b)=>{
109
- var res=a;
110
- for(let i=0;i<b.length;i++)res=_add(res,b[i])
111
- return res;
112
- }
113
- const sub=(a,...b)=>{
114
- var res=a;
115
- for(let i=0;i<b.length;i++)res=_sub(res,b[i])
116
- return res;
117
- }
118
- const mul=(a,...b)=>{
119
- var res=a;
120
- for(let i=0;i<b.length;i++)res=_mul(res,b[i])
121
- return res;
122
- }
123
- const div=(a,...b)=>{
124
- var res=a;
125
- for(let i=0;i<b.length;i++)res=_div(res,b[i])
126
- return res;
127
- }
128
- const modulo=(a,...b)=>{
129
- var res=a;
130
- for(let i=0;i<b.length;i++)res=_modulo(res,b[i])
131
- return res;
132
- }
133
- export{
134
- add,
135
- sub,
136
- mul,
137
- div,
138
- modulo
1
+ import { Complex,complex} from "../complex/index.js";
2
+ import { Matrix } from "../matrix/index.js";
3
+ const _add=(a,b)=>{
4
+ if(typeof(a)==="number"){
5
+ if (typeof b == "number") return a + b;
6
+ else if (b instanceof Complex)return complex(a + b.a, b.b);
7
+ else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).add(b);
8
+ else if (b instanceof Array)return b.map(n=>add(n,a));
9
+ }
10
+ else if(a instanceof Complex||a instanceof Matrix){
11
+ if(b instanceof Array)return b.map(n=>a.clone.add(n));
12
+ return a.clone.add(b);
13
+ }
14
+ else if(a instanceof Array){
15
+ if(b instanceof Array){
16
+ if(a.length === b.length)return a.map((n,i)=>add(n,b[i]))
17
+ }
18
+ else {
19
+ return a.map(n=>add(n,b));
20
+ }
21
+ }
22
+ }
23
+ const _sub=(a,b)=>{
24
+ if(typeof(a)==="number"){
25
+ if (typeof b == "number") return a - b;
26
+ else if (b instanceof Complex)return complex(a - b.a, -b.b);
27
+ else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).sub(b);
28
+ else if (b instanceof Array)return b.map(n=>sub(n,a));
29
+ }
30
+ else if(a instanceof Complex||a instanceof Matrix){
31
+ if(b instanceof Array)return b.map(n=>a.clone.sub(n));
32
+ return a.clone.sub(b);
33
+ }
34
+ else if(a instanceof Array){
35
+ if(b instanceof Array){
36
+ if(b instanceof Array){
37
+ if(a.length === b.length)return a.map((n,i)=>sub(n,b[i]))
38
+ }
39
+ }
40
+ else {
41
+ return a.map(n=>sub(n,b));
42
+ }
43
+ }
44
+ }
45
+ const _mul=(a,b)=>{
46
+ if(typeof(a)==="number"){
47
+ if (typeof b == "number") return a * b;
48
+ else if (b instanceof Complex)return complex(a * b.a,a * b.b);
49
+ else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).mul(b);
50
+ else if (b instanceof Array)return b.map(n=>mul(a,n));
51
+ }
52
+ else if(a instanceof Complex||a instanceof Matrix){
53
+ if(b instanceof Array)return b.map(n=>a.clone.mul(n));
54
+ return a.clone.mul(b);
55
+ }
56
+ else if(a instanceof Array){
57
+ if(b instanceof Array){
58
+ if(b instanceof Array){
59
+ if(a.length === b.length)return a.map((n,i)=>mul(n,b[i]))
60
+ }
61
+ }
62
+ else {
63
+ return a.map(n=>mul(n,b));
64
+ }
65
+ }
66
+ }
67
+ const _div=(a,b)=>{
68
+ if(typeof(a)==="number"){
69
+ if (typeof b == "number") return a / b;
70
+ else if (b instanceof Complex)return complex(a / b.a,a / b.b);
71
+ else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).div(b);
72
+ else if (b instanceof Array)return b.map(n=>div(a,n));
73
+ }
74
+ else if(a instanceof Complex||a instanceof Matrix){
75
+ if(b instanceof Array)return b.map(n=>a.clone.div(n));
76
+ return a.clone.div(b);
77
+ }
78
+ else if(a instanceof Array){
79
+ if(b instanceof Array){
80
+ if(b instanceof Array){
81
+ if(a.length === b.length)return a.map((n,i)=>div(n,b[i]))
82
+ }
83
+ }
84
+ else {
85
+ return a.map(n=>div(n,b));
86
+ }
87
+ }
88
+ }
89
+ const _modulo=(a,b)=>{
90
+ if(typeof(a)==="number"){
91
+ if (typeof b == "number") return a % b;
92
+ else if (b instanceof Complex)return complex(a % b.a,a % b.b);
93
+ else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).modulo(b);
94
+ else if (b instanceof Array)return b.map(n=>div(a,n));
95
+ }
96
+ else if(a instanceof Complex||a instanceof Matrix){
97
+ if(b instanceof Array)return b.map(n=>a.clone.div(n));
98
+ return a.clone.div(b);
99
+ }
100
+ else if(a instanceof Array){
101
+ if(b instanceof Array){
102
+ }
103
+ else {
104
+ return a.map(n=>add(n,b));
105
+ }
106
+ }
107
+ }
108
+ const add=(a,...b)=>{
109
+ var res=a;
110
+ for(let i=0;i<b.length;i++)res=_add(res,b[i])
111
+ return res;
112
+ }
113
+ const sub=(a,...b)=>{
114
+ var res=a;
115
+ for(let i=0;i<b.length;i++)res=_sub(res,b[i])
116
+ return res;
117
+ }
118
+ const mul=(a,...b)=>{
119
+ var res=a;
120
+ for(let i=0;i<b.length;i++)res=_mul(res,b[i])
121
+ return res;
122
+ }
123
+ const div=(a,...b)=>{
124
+ var res=a;
125
+ for(let i=0;i<b.length;i++)res=_div(res,b[i])
126
+ return res;
127
+ }
128
+ const modulo=(a,...b)=>{
129
+ var res=a;
130
+ for(let i=0;i<b.length;i++)res=_modulo(res,b[i])
131
+ return res;
132
+ }
133
+ export{
134
+ add,
135
+ sub,
136
+ mul,
137
+ div,
138
+ modulo
139
139
  }
@@ -1,29 +1,29 @@
1
- /** @module Math */
2
- /**
3
- * Checks if a value is within the specified range.
4
- * @function
5
- * @param {number} x - The value to check.
6
- * @param {number} a - The start of the range.
7
- * @param {number} b - The end of the range.
8
- * @returns {boolean} Returns true if the value is within the range [a, b], otherwise false.
9
- */
10
- const inRange = (x, a, b) => {
11
- const [min, max] = [Math.min(a, b), Math.max(a, b)];
12
- return x >= min && x <= max;
13
- }
14
-
15
- /**
16
- * Checks if two numbers are approximately equal within a given error margin.
17
- * @param {number} a - The first number.
18
- * @param {number} b - The second number.
19
- * @param {number} [Err=0.0001] - The maximum acceptable difference between the two numbers.
20
- * @returns {boolean} Returns true if the two numbers are approximately equal within the specified error margin, otherwise false.
21
- */
22
- const isApproximatlyEqual = (a, b, Err = 0.0001) => {
23
- return Math.abs(a - b) <= Err;
24
- }
25
-
26
- export {
27
- inRange,
28
- isApproximatlyEqual
29
- }
1
+ /** @module Math */
2
+ /**
3
+ * Checks if a value is within the specified range.
4
+ * @function
5
+ * @param {number} x - The value to check.
6
+ * @param {number} a - The start of the range.
7
+ * @param {number} b - The end of the range.
8
+ * @returns {boolean} Returns true if the value is within the range [a, b], otherwise false.
9
+ */
10
+ const inRange = (x, a, b) => {
11
+ const [min, max] = [Math.min(a, b), Math.max(a, b)];
12
+ return x >= min && x <= max;
13
+ }
14
+
15
+ /**
16
+ * Checks if two numbers are approximately equal within a given error margin.
17
+ * @param {number} a - The first number.
18
+ * @param {number} b - The second number.
19
+ * @param {number} [Err=0.0001] - The maximum acceptable difference between the two numbers.
20
+ * @returns {boolean} Returns true if the two numbers are approximately equal within the specified error margin, otherwise false.
21
+ */
22
+ const isApproximatlyEqual = (a, b, Err = 0.0001) => {
23
+ return Math.abs(a - b) <= Err;
24
+ }
25
+
26
+ export {
27
+ inRange,
28
+ isApproximatlyEqual
29
+ }
@@ -1,19 +1,19 @@
1
- /** @module Math */
2
- /**
3
- * Converts degrees to radians.
4
- * @param {...number} deg - Degrees to convert.
5
- * @returns {number|number[]} Returns an array of radians corresponding to the input degrees.
6
- */
7
- const deg2rad = (...deg) => mapfun(x => x * Math.PI / 180, ...deg);
8
-
9
- /**
10
- * Converts radians to degrees.
11
- * @param {...number} rad - Radians to convert.
12
- * @returns {number|number[]} Returns an array of degrees corresponding to the input radians.
13
- */
14
- const rad2deg = (...rad) => mapfun(x => x / Math.PI * 180, ...rad);
15
-
16
- export {
17
- deg2rad,
18
- rad2deg
19
- }
1
+ /** @module Math */
2
+ /**
3
+ * Converts degrees to radians.
4
+ * @param {...number} deg - Degrees to convert.
5
+ * @returns {number|number[]} Returns an array of radians corresponding to the input degrees.
6
+ */
7
+ const deg2rad = (...deg) => mapfun(x => x * Math.PI / 180, ...deg);
8
+
9
+ /**
10
+ * Converts radians to degrees.
11
+ * @param {...number} rad - Radians to convert.
12
+ * @returns {number|number[]} Returns an array of degrees corresponding to the input radians.
13
+ */
14
+ const rad2deg = (...rad) => mapfun(x => x / Math.PI * 180, ...rad);
15
+
16
+ export {
17
+ deg2rad,
18
+ rad2deg
19
+ }