ziko 0.0.13 → 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 (290) hide show
  1. package/dist/ziko.cjs +13310 -11794
  2. package/dist/ziko.js +13868 -12352
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +13286 -11774
  5. package/package.json +5 -4
  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 -0
  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 -49
  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 -478
  200. package/src/ui/elements/primitives/embaded/html.js +20 -0
  201. package/src/ui/elements/primitives/embaded/index.js +3 -0
  202. package/src/ui/elements/primitives/embaded/pdf.js +17 -0
  203. package/src/ui/elements/primitives/embaded/youtube.js +24 -0
  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 -97
  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 -35
  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 -99
  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/embaded/index.js +0 -1
  256. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +0 -2
  257. package/src/user-interface/elements/primitives/media/Image/index.js +0 -2
  258. package/src/user-interface/elements/primitives/table/index.js +0 -3
  259. package/src/user-interface/index.js +0 -188
  260. /package/src/app/{globals/index.js → globals.js} +0 -0
  261. /package/src/app/{params/index.js → params.js} +0 -0
  262. /package/src/reactivity/events/{Partiel/Media.js → media.js} +0 -0
  263. /package/src/{app/accessibility/index.js → reactivity/events/touch.js} +0 -0
  264. /package/src/reactivity/hooks/{Contexte → contexte}/index.js +0 -0
  265. /package/src/reactivity/hooks/{Interactions → interactions}/useSerial.js +0 -0
  266. /package/src/reactivity/hooks/{Interactions → interactions}/useUsb.js +0 -0
  267. /package/src/reactivity/hooks/{Sensors → sensors}/useCamera.js +0 -0
  268. /package/src/reactivity/hooks/{Sensors → sensors}/useMicro.js +0 -0
  269. /package/src/reactivity/hooks/{Sensors → sensors}/useOrientation.js +0 -0
  270. /package/src/reactivity/hooks/{Storage → storage}/index.js +0 -0
  271. /package/src/reactivity/hooks/{Storage → storage}/useCookie.js +0 -0
  272. /package/src/reactivity/hooks/{Storage → storage}/useIndexedDb.js +0 -0
  273. /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
  274. /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
  275. /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
  276. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/index.js +0 -0
  277. /package/src/{user-interface → ui}/elements/derived/elements/Notification.js +0 -0
  278. /package/src/{user-interface → ui}/elements/derived/elements/Popover.js +0 -0
  279. /package/src/{user-interface → ui}/elements/derived/elements/Popup.js +0 -0
  280. /package/src/{user-interface → ui}/elements/derived/elements/Timeline.js +0 -0
  281. /package/src/{user-interface → ui}/elements/derived/elements/Toast.js +0 -0
  282. /package/src/{user-interface → ui}/elements/derived/elements/Treeview.js +0 -0
  283. /package/src/{user-interface → ui}/elements/derived/elements/columns.js +0 -0
  284. /package/src/{user-interface → ui}/elements/derived/elements/fab.js +0 -0
  285. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/index.js +0 -0
  286. /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/index.js +0 -0
  287. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/index.js +0 -0
  288. /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
  289. /package/src/{user-interface → ui}/elements/primitives/list/elements.js +0 -0
  290. /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
+ }