ziko 0.0.18 → 0.0.19

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 (267) hide show
  1. package/package.json +16 -45
  2. package/src/__helpers__/index.js +61 -61
  3. package/src/app/json-style-sheet.js +64 -64
  4. package/src/app/ziko-app.js +38 -38
  5. package/src/data/api/fetchdom.js +13 -13
  6. package/src/data/api/index.js +3 -3
  7. package/src/data/api/preload.js +10 -10
  8. package/src/data/converter/adoc.js +130 -130
  9. package/src/data/converter/array.js +42 -42
  10. package/src/data/converter/canvas.js +24 -24
  11. package/src/data/converter/css.js +36 -36
  12. package/src/data/converter/csv.js +32 -32
  13. package/src/data/converter/idea.txt +9 -9
  14. package/src/data/converter/index.js +36 -36
  15. package/src/data/converter/json.js +80 -80
  16. package/src/data/converter/markdown.js +95 -95
  17. package/src/data/converter/object.js +69 -69
  18. package/src/data/converter/svg.js +10 -10
  19. package/src/data/index.js +16 -16
  20. package/src/data/parser/xml.js +46 -46
  21. package/src/data/string/patterns.js +11 -11
  22. package/src/data/string/string.js +169 -169
  23. package/src/global/{themes → _themes}/dark.js +884 -884
  24. package/src/global/{themes → _themes}/index.js +10 -10
  25. package/src/global/{themes → _themes}/light.js +254 -254
  26. package/src/global/app/index.js +45 -45
  27. package/src/global/component/index.js +38 -38
  28. package/src/global/globals/index.js +20 -20
  29. package/src/global/index.js +3 -11
  30. package/src/global/params/index.js +39 -39
  31. package/src/global/router/index.js +66 -66
  32. package/src/global/seo/index.js +42 -42
  33. package/src/graphics/canvas/canvas.js +176 -176
  34. package/src/graphics/canvas/elements/{basic → Basic}/arc.js +42 -42
  35. package/src/graphics/canvas/elements/{basic → Basic}/line.js +25 -25
  36. package/src/graphics/canvas/elements/{basic → Basic}/points.js +47 -47
  37. package/src/graphics/canvas/elements/{basic → Basic}/polygon.js +6 -6
  38. package/src/graphics/canvas/elements/{basic → Basic}/rect.js +45 -45
  39. package/src/graphics/canvas/elements/{chart → Chart}/scatter.js +2 -2
  40. package/src/graphics/canvas/elements/{element.js → Element.js} +114 -114
  41. package/src/graphics/canvas/elements/index.js +12 -12
  42. package/src/graphics/canvas/index.js +1 -1
  43. package/src/graphics/canvas/utils/color.js +7 -7
  44. package/src/graphics/canvas/utils/floodFill.js +57 -57
  45. package/src/graphics/index.js +9 -9
  46. package/src/graphics/svg/{elements/basic → Elements/Basic}/circle.js +28 -28
  47. package/src/graphics/svg/{elements/basic → Elements/Basic}/ellipse.js +23 -23
  48. package/src/graphics/svg/{elements/basic → Elements/Basic}/foreign-object.js +35 -35
  49. package/src/graphics/svg/{elements/basic → Elements/Basic}/groupe.js +32 -32
  50. package/src/graphics/svg/{elements/basic → Elements/Basic}/image.js +35 -35
  51. package/src/graphics/svg/{elements/basic → Elements/Basic}/line.js +31 -31
  52. package/src/graphics/svg/{elements/basic → Elements/Basic}/link.js +33 -33
  53. package/src/graphics/svg/{elements/basic → Elements/Basic}/path.js +61 -61
  54. package/src/graphics/svg/{elements/basic → Elements/Basic}/polygon.js +31 -31
  55. package/src/graphics/svg/{elements/basic → Elements/Basic}/polyline.js +6 -6
  56. package/src/graphics/svg/{elements/basic → Elements/Basic}/rect.js +45 -45
  57. package/src/graphics/svg/{elements/basic → Elements/Basic}/text.js +28 -28
  58. package/src/graphics/svg/{elements/derived → Elements/Derived}/grid.js +8 -8
  59. package/src/graphics/svg/{elements → Elements}/index.js +2 -2
  60. package/src/graphics/svg/{elements → Elements}/ziko-svg-element.js +48 -48
  61. package/src/graphics/svg/index.js +1 -1
  62. package/src/graphics/svg/svg.js +68 -68
  63. package/src/index.js +85 -85
  64. package/src/math/calculus/index.js +2 -2
  65. package/src/math/calculus/special-functions/bessel.js +30 -30
  66. package/src/math/calculus/special-functions/beta.js +37 -37
  67. package/src/math/calculus/special-functions/gamma.js +29 -29
  68. package/src/math/calculus/special-functions/index.js +4 -4
  69. package/src/math/complex/index.js +202 -202
  70. package/src/math/const.js +2 -2
  71. package/src/math/discret/Combinaison/index.js +33 -33
  72. package/src/math/discret/Conversion/index.js +85 -85
  73. package/src/math/discret/Logic/index.js +45 -45
  74. package/src/math/discret/Permutation/index.js +30 -30
  75. package/src/math/discret/Set/index.js +1 -1
  76. package/src/math/discret/Set/power-set.js +14 -14
  77. package/src/math/discret/Set/sub-set.js +10 -10
  78. package/src/math/discret/index.js +11 -11
  79. package/src/math/functions/index.js +161 -161
  80. package/src/math/index.js +32 -32
  81. package/src/math/matrix/Decomposition.js +90 -90
  82. package/src/math/matrix/LinearSystem.js +9 -9
  83. package/src/math/matrix/Matrix.js +716 -716
  84. package/src/math/matrix/index.js +2 -2
  85. package/src/math/random/index.js +172 -172
  86. package/src/math/signal/__np.py.txt +39 -39
  87. package/src/math/signal/conv.js +174 -174
  88. package/src/math/signal/fft.js +54 -54
  89. package/src/math/signal/filter.js +38 -38
  90. package/src/math/signal/functions.js +145 -145
  91. package/src/math/signal/index.js +109 -109
  92. package/src/math/statistics/Functions/index.js +99 -99
  93. package/src/math/statistics/index.js +15 -15
  94. package/src/math/utils/arithmetic.js +138 -138
  95. package/src/math/utils/checkers.js +29 -29
  96. package/src/math/utils/conversions.js +19 -19
  97. package/src/math/utils/discret.js +51 -51
  98. package/src/math/utils/index.js +101 -101
  99. package/src/math/utils/mapfun.js +49 -49
  100. package/src/reactivity/events/Input.js +61 -61
  101. package/src/reactivity/events/Pointer.js +231 -231
  102. package/src/reactivity/events/ZikoEvent.js +90 -90
  103. package/src/reactivity/events/click.js +59 -59
  104. package/src/reactivity/events/clipboard.js +87 -87
  105. package/src/reactivity/events/custom-event.js +56 -56
  106. package/src/reactivity/events/drag.js +136 -136
  107. package/src/reactivity/events/focus.js +58 -58
  108. package/src/reactivity/events/hash.js +46 -46
  109. package/src/reactivity/events/index.js +12 -12
  110. package/src/reactivity/events/key.js +101 -101
  111. package/src/reactivity/events/mouse.js +232 -232
  112. package/src/reactivity/events/swipe.js +149 -149
  113. package/src/reactivity/events/wheel.js +46 -46
  114. package/src/reactivity/hooks/{contexte → Contexte}/useSuccesifKeys.js +13 -13
  115. package/src/reactivity/hooks/{decorators → Decorators}/index.js +6 -6
  116. package/src/reactivity/hooks/{decorators → Decorators}/time.js +16 -16
  117. package/src/reactivity/hooks/{decorators → Decorators}/type.js +87 -87
  118. package/src/reactivity/hooks/{head/useCssText.js → Head/_useCssText.js} +20 -20
  119. package/src/reactivity/hooks/{head → Head}/index.js +5 -5
  120. package/src/reactivity/hooks/{head → Head}/useFavIcon.js +37 -37
  121. package/src/reactivity/hooks/{head → Head}/useHead.js +27 -27
  122. package/src/reactivity/hooks/{head → Head}/useMeta.js +52 -52
  123. package/src/reactivity/hooks/{head → Head}/useTitle.js +29 -29
  124. package/src/reactivity/hooks/{interactions/useBluetooth.js → Interactions/_useBluetooth.js} +47 -47
  125. package/src/reactivity/hooks/{interactions → Interactions}/index.js +4 -4
  126. package/src/reactivity/hooks/{interactions → Interactions}/useChannel.js +49 -49
  127. package/src/reactivity/hooks/{interactions → Interactions}/useEventEmmiter.js +63 -63
  128. package/src/reactivity/hooks/{interactions → Interactions}/useThread.js +43 -43
  129. package/src/reactivity/hooks/Sensors/index.js +2 -0
  130. package/src/reactivity/hooks/{sensors → Sensors}/useBattery.js +35 -35
  131. package/src/reactivity/hooks/{sensors → Sensors}/useGeolocation.js +16 -16
  132. package/src/reactivity/hooks/{storage → Storage}/useStorage.js +72 -72
  133. package/src/reactivity/hooks/{ui → UI}/index.js +5 -5
  134. package/src/reactivity/hooks/{ui → UI}/useMediaQuery.js +43 -43
  135. package/src/reactivity/hooks/{ui → UI}/useStyle.js +79 -79
  136. package/src/reactivity/hooks/{ui → UI}/useTheme.js +61 -61
  137. package/src/reactivity/hooks/index.js +7 -7
  138. package/src/reactivity/hooks/todo.md +26 -26
  139. package/src/reactivity/idea +1 -1
  140. package/src/reactivity/index.js +11 -11
  141. package/src/reactivity/observer/attributes.js +28 -28
  142. package/src/reactivity/observer/children.js +36 -36
  143. package/src/reactivity/observer/index.js +6 -6
  144. package/src/reactivity/observer/intersection.js +43 -43
  145. package/src/reactivity/observer/mutation.js +112 -112
  146. package/src/reactivity/observer/resize.js +46 -46
  147. package/src/reactivity/observer/screen.js +44 -44
  148. package/src/reactivity/observer/screen.js.txt +83 -83
  149. package/src/reactivity/observer/screen.txt +12 -12
  150. package/src/time/animation.js +75 -75
  151. package/src/time/index.js +11 -11
  152. package/src/time/loop.js +87 -87
  153. package/src/time/utils/decorators.js +16 -16
  154. package/src/time/utils/ease.js +143 -143
  155. package/src/time/utils/index.js +17 -17
  156. package/src/time/utils/performance.js +15 -15
  157. package/src/time/utils/ui.js +25 -25
  158. package/src/types.js +73 -73
  159. package/src/ui/elements/derived/accordion/accordion.js +42 -42
  160. package/src/ui/elements/derived/accordion/collapsible.js +82 -82
  161. package/src/ui/elements/derived/accordion/index.js +1 -1
  162. package/src/ui/elements/derived/alert/alert.js +80 -80
  163. package/src/ui/elements/derived/alert/palette.js +51 -51
  164. package/src/ui/elements/derived/carousel/index.js +50 -50
  165. package/src/ui/elements/derived/code-note/SubElements.js.txt +104 -104
  166. package/src/ui/elements/derived/code-note/code-cell.js +194 -194
  167. package/src/ui/elements/derived/code-note/code-note.js +71 -71
  168. package/src/ui/elements/derived/code-note/index.js +1 -1
  169. package/src/ui/elements/derived/code-note/sub-elements.js +66 -66
  170. package/src/ui/elements/derived/elements/Swipper.js +3 -3
  171. package/src/ui/elements/derived/elements/index.js +9 -9
  172. package/src/ui/elements/derived/flex/index.js +102 -102
  173. package/src/ui/elements/derived/grid/index.js +32 -32
  174. package/src/ui/elements/derived/index.js +11 -11
  175. package/src/ui/elements/derived/menu/menu3d.js +259 -259
  176. package/src/ui/elements/derived/modal/index.js +91 -91
  177. package/src/ui/elements/derived/pagination/breadcrumbs.js +53 -53
  178. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +111 -111
  179. package/src/ui/elements/derived/slider/hSlider.js +33 -33
  180. package/src/ui/elements/derived/slider/index.js +11 -11
  181. package/src/ui/elements/derived/slider/vSlider.js +26 -26
  182. package/src/ui/elements/derived/splitter/__ZikoUISplitter__.js +61 -61
  183. package/src/ui/elements/derived/splitter/hsplitter.js +39 -39
  184. package/src/ui/elements/derived/splitter/index.js +11 -11
  185. package/src/ui/elements/derived/splitter/vsplitter.js +39 -39
  186. package/src/ui/elements/derived/tabs/index.js +179 -179
  187. package/src/ui/elements/primitives/ZikoUIContainerElement.js +163 -163
  188. package/src/ui/elements/primitives/ZikoUIElement.js +492 -492
  189. package/src/ui/elements/primitives/embaded/html.js +19 -19
  190. package/src/ui/elements/primitives/embaded/index.js +3 -3
  191. package/src/ui/elements/primitives/embaded/pdf.js +16 -16
  192. package/src/ui/elements/primitives/embaded/youtube.js +23 -23
  193. package/src/ui/elements/primitives/index.js +7 -7
  194. package/src/ui/elements/primitives/io/Form/index.js +41 -41
  195. package/src/ui/elements/primitives/io/Form/index.js.txt +104 -104
  196. package/src/ui/elements/primitives/io/Inputs/__helpers__.js +51 -51
  197. package/src/ui/elements/primitives/io/Inputs/index.js +12 -12
  198. package/src/ui/elements/primitives/io/Inputs/input/index.js +98 -98
  199. package/src/ui/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  200. package/src/ui/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  201. package/src/ui/elements/primitives/io/Inputs/input-color/index.js +15 -15
  202. package/src/ui/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  203. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  204. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  205. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  206. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +1 -1
  207. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  208. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  209. package/src/ui/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  210. package/src/ui/elements/primitives/io/Inputs/input-number/index.js +36 -36
  211. package/src/ui/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  212. package/src/ui/elements/primitives/io/Inputs/input-search/index.js +45 -45
  213. package/src/ui/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  214. package/src/ui/elements/primitives/io/Select/index.js +19 -19
  215. package/src/ui/elements/primitives/io/Textarea/index.js +17 -17
  216. package/src/ui/elements/primitives/io/index.js +3 -3
  217. package/src/ui/elements/primitives/list/index.js +138 -138
  218. package/src/ui/elements/primitives/media/Audio/index.js +16 -16
  219. package/src/ui/elements/primitives/media/Image/figure.js +18 -18
  220. package/src/ui/elements/primitives/media/Image/image.js +36 -36
  221. package/src/ui/elements/primitives/media/Image/index.js +1 -1
  222. package/src/ui/elements/primitives/media/Video/index.js +26 -26
  223. package/src/ui/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  224. package/src/ui/elements/primitives/media/index.js +2 -2
  225. package/src/ui/elements/primitives/misc/index.js +101 -101
  226. package/src/ui/elements/primitives/semantic/index.js +81 -81
  227. package/src/ui/elements/primitives/table/elements.js +93 -93
  228. package/src/ui/elements/primitives/table/index.js +2 -2
  229. package/src/ui/elements/primitives/table/table.js +115 -115
  230. package/src/ui/elements/primitives/table/utils.js +11 -11
  231. package/src/ui/elements/primitives/text/__ZikoUIText__.js +71 -71
  232. package/src/ui/elements/primitives/text/heading.js +35 -35
  233. package/src/ui/elements/primitives/text/index.js +2 -2
  234. package/src/ui/elements/primitives/text/p.js +26 -26
  235. package/src/ui/elements/primitives/text/text.js +80 -80
  236. package/src/ui/index.js +37 -37
  237. package/src/ui/style/index.js +504 -515
  238. package/src/ui/utils/index.js +69 -69
  239. package/starter/bin/index.js +11 -11
  240. package/dist/ziko.cjs +0 -12596
  241. package/dist/ziko.js +0 -13487
  242. package/dist/ziko.min.js +0 -9
  243. package/dist/ziko.mjs +0 -13118
  244. package/src/reactivity/hooks/sensors/index.js +0 -2
  245. /package/{readme.md → README.md} +0 -0
  246. /package/src/graphics/canvas/elements/{basic → Basic}/image.js +0 -0
  247. /package/src/graphics/canvas/elements/{basic → Basic}/path.js +0 -0
  248. /package/src/graphics/canvas/elements/{basic → Basic}/polyline.js +0 -0
  249. /package/src/graphics/canvas/elements/{basic → Basic}/text.js +0 -0
  250. /package/src/graphics/canvas/elements/{chart → Chart}/histogram.js +0 -0
  251. /package/src/graphics/canvas/elements/{chart → Chart}/plot.js +0 -0
  252. /package/src/graphics/canvas/elements/{chart → Chart}/stem.js +0 -0
  253. /package/src/graphics/svg/{elements/basic → Elements/Basic}/index.js +0 -0
  254. /package/src/graphics/svg/{elements/derived → Elements/Derived}/index.js +0 -0
  255. /package/src/reactivity/hooks/{contexte → Contexte}/index.js +0 -0
  256. /package/src/reactivity/hooks/{interactions → Interactions}/useSerial.js +0 -0
  257. /package/src/reactivity/hooks/{interactions → Interactions}/useUsb.js +0 -0
  258. /package/src/reactivity/hooks/{sensors → Sensors}/useCamera.js +0 -0
  259. /package/src/reactivity/hooks/{sensors → Sensors}/useMicro.js +0 -0
  260. /package/src/reactivity/hooks/{sensors → Sensors}/useOrientation.js +0 -0
  261. /package/src/reactivity/hooks/{storage → Storage}/index.js +0 -0
  262. /package/src/reactivity/hooks/{storage → Storage}/useCookie.js +0 -0
  263. /package/src/reactivity/hooks/{storage → Storage}/useIndexedDb.js +0 -0
  264. /package/src/reactivity/hooks/{ui → UI}/useCssLink.js +0 -0
  265. /package/src/reactivity/hooks/{ui → UI}/useLinearGradient.js +0 -0
  266. /package/src/reactivity/hooks/{ui → UI}/useRadialGradient.js +0 -0
  267. /package/src/reactivity/hooks/{ui → UI}/useRoot.js +0 -0
@@ -1,51 +1,51 @@
1
- /** @module Math */
2
- import { floor } from "../functions/index.js";
3
-
4
- /**
5
- * Computes the cartesian product of two arrays.
6
- * @param {Array} a - The first array.
7
- * @param {Array} b - The second array.
8
- * @returns {Array} Returns an array representing the cartesian product of the input arrays.
9
- */
10
- const cartesianProduct = (a, b) => a.reduce((p, x) => [...p, ...b.map((y) => [x, y])], []);
11
-
12
- /**
13
- * Computes the greatest common divisor (GCD) of two numbers.
14
- * @param {number} n1 - The first number.
15
- * @param {number} n2 - The second number.
16
- * @returns {number} Returns the greatest common divisor of the two input numbers.
17
- */
18
- const pgcd = (n1, n2) => {
19
- let i,
20
- pgcd = 1;
21
- if (n1 == floor(n1) && n2 == floor(n2)) {
22
- for (i = 2; i <= n1 && i <= n2; ++i) {
23
- if (n1 % i == 0 && n2 % i == 0) pgcd = i;
24
- }
25
- return pgcd;
26
- } else console.log("error");
27
- }
28
-
29
- /**
30
- * Computes the least common multiple (LCM) of two numbers.
31
- * @param {number} n1 - The first number.
32
- * @param {number} n2 - The second number.
33
- * @returns {number} Returns the least common multiple of the two input numbers.
34
- */
35
- const ppcm = (n1, n2) => {
36
- let ppcm;
37
- if (n1 == floor(n1) && n2 == floor(n2)) {
38
- ppcm = n1 > n2 ? n1 : n2;
39
- while (true) {
40
- if (ppcm % n1 == 0 && ppcm % n2 == 0) break;
41
- ++ppcm;
42
- }
43
- return ppcm;
44
- } else console.log("error");
45
- }
46
-
47
- export {
48
- cartesianProduct,
49
- ppcm,
50
- pgcd
51
- }
1
+ /** @module Math */
2
+ import { floor } from "../functions/index.js";
3
+
4
+ /**
5
+ * Computes the cartesian product of two arrays.
6
+ * @param {Array} a - The first array.
7
+ * @param {Array} b - The second array.
8
+ * @returns {Array} Returns an array representing the cartesian product of the input arrays.
9
+ */
10
+ const cartesianProduct = (a, b) => a.reduce((p, x) => [...p, ...b.map((y) => [x, y])], []);
11
+
12
+ /**
13
+ * Computes the greatest common divisor (GCD) of two numbers.
14
+ * @param {number} n1 - The first number.
15
+ * @param {number} n2 - The second number.
16
+ * @returns {number} Returns the greatest common divisor of the two input numbers.
17
+ */
18
+ const pgcd = (n1, n2) => {
19
+ let i,
20
+ pgcd = 1;
21
+ if (n1 == floor(n1) && n2 == floor(n2)) {
22
+ for (i = 2; i <= n1 && i <= n2; ++i) {
23
+ if (n1 % i == 0 && n2 % i == 0) pgcd = i;
24
+ }
25
+ return pgcd;
26
+ } else console.log("error");
27
+ }
28
+
29
+ /**
30
+ * Computes the least common multiple (LCM) of two numbers.
31
+ * @param {number} n1 - The first number.
32
+ * @param {number} n2 - The second number.
33
+ * @returns {number} Returns the least common multiple of the two input numbers.
34
+ */
35
+ const ppcm = (n1, n2) => {
36
+ let ppcm;
37
+ if (n1 == floor(n1) && n2 == floor(n2)) {
38
+ ppcm = n1 > n2 ? n1 : n2;
39
+ while (true) {
40
+ if (ppcm % n1 == 0 && ppcm % n2 == 0) break;
41
+ ++ppcm;
42
+ }
43
+ return ppcm;
44
+ } else console.log("error");
45
+ }
46
+
47
+ export {
48
+ cartesianProduct,
49
+ ppcm,
50
+ pgcd
51
+ }
@@ -1,102 +1,102 @@
1
- import { mapfun } from "./mapfun.js";
2
- import {
3
- add,
4
- sub,
5
- mul,
6
- div,
7
- modulo
8
- } from "./arithmetic.js";
9
- import {
10
- zeros,
11
- ones,
12
- nums,
13
- norm,
14
- lerp,
15
- map,
16
- clamp,
17
- arange,
18
- linspace,
19
- logspace,
20
- geomspace
21
- } from "../signal/functions.js"
22
- import {
23
- deg2rad,
24
- rad2deg
25
- } from "./conversions.js"
26
- import{
27
- sum,
28
- prod,
29
- accum
30
- } from "../statistics/index.js"
31
- import{
32
- inRange,
33
- isApproximatlyEqual
34
- } from "./checkers.js"
35
- import{
36
- cartesianProduct,
37
- ppcm,
38
- pgcd
39
- } from "./discret.js"
40
- const Utils={
41
- add,
42
- sub,
43
- mul,
44
- div,
45
- modulo,
46
-
47
- zeros,
48
- ones,
49
- nums,
50
- norm,
51
- lerp,
52
- map,
53
- clamp,
54
- arange,
55
- linspace,
56
- logspace,
57
- geomspace,
58
-
59
- sum,
60
- prod,
61
- accum,
62
-
63
- cartesianProduct,
64
- ppcm,
65
- pgcd,
66
-
67
- deg2rad,
68
- rad2deg,
69
-
70
- inRange,
71
- isApproximatlyEqual
72
- }
73
- export {
74
- mapfun,
75
- Utils,
76
- zeros,
77
- ones,
78
- nums,
79
- sum,
80
- prod,
81
- add,
82
- mul,
83
- sub,
84
- div,
85
- modulo,
86
- rad2deg,
87
- deg2rad,
88
- arange,
89
- linspace,
90
- logspace,
91
- geomspace,
92
- norm,
93
- lerp,
94
- map,
95
- clamp,
96
- pgcd,
97
- ppcm,
98
- isApproximatlyEqual,
99
- inRange,
100
- cartesianProduct,
101
- };
1
+ import { mapfun } from "./mapfun.js";
2
+ import {
3
+ add,
4
+ sub,
5
+ mul,
6
+ div,
7
+ modulo
8
+ } from "./arithmetic.js";
9
+ import {
10
+ zeros,
11
+ ones,
12
+ nums,
13
+ norm,
14
+ lerp,
15
+ map,
16
+ clamp,
17
+ arange,
18
+ linspace,
19
+ logspace,
20
+ geomspace
21
+ } from "../signal/functions.js"
22
+ import {
23
+ deg2rad,
24
+ rad2deg
25
+ } from "./conversions.js"
26
+ import{
27
+ sum,
28
+ prod,
29
+ accum
30
+ } from "../statistics/index.js"
31
+ import{
32
+ inRange,
33
+ isApproximatlyEqual
34
+ } from "./checkers.js"
35
+ import{
36
+ cartesianProduct,
37
+ ppcm,
38
+ pgcd
39
+ } from "./discret.js"
40
+ const Utils={
41
+ add,
42
+ sub,
43
+ mul,
44
+ div,
45
+ modulo,
46
+
47
+ zeros,
48
+ ones,
49
+ nums,
50
+ norm,
51
+ lerp,
52
+ map,
53
+ clamp,
54
+ arange,
55
+ linspace,
56
+ logspace,
57
+ geomspace,
58
+
59
+ sum,
60
+ prod,
61
+ accum,
62
+
63
+ cartesianProduct,
64
+ ppcm,
65
+ pgcd,
66
+
67
+ deg2rad,
68
+ rad2deg,
69
+
70
+ inRange,
71
+ isApproximatlyEqual
72
+ }
73
+ export {
74
+ mapfun,
75
+ Utils,
76
+ zeros,
77
+ ones,
78
+ nums,
79
+ sum,
80
+ prod,
81
+ add,
82
+ mul,
83
+ sub,
84
+ div,
85
+ modulo,
86
+ rad2deg,
87
+ deg2rad,
88
+ arange,
89
+ linspace,
90
+ logspace,
91
+ geomspace,
92
+ norm,
93
+ lerp,
94
+ map,
95
+ clamp,
96
+ pgcd,
97
+ ppcm,
98
+ isApproximatlyEqual,
99
+ inRange,
100
+ cartesianProduct,
101
+ };
102
102
 
@@ -1,50 +1,50 @@
1
- /** @module Math */
2
- import { Matrix } from "../matrix/index.js";
3
- import { Complex , complex } from "../complex/index.js";
4
- import {ln,e,cos,sin,sqrt,cosh,sinh} from "../functions/index.js";
5
- import { Fixed } from "../functions/helper.js";
6
- /**
7
- * map a function to ...X
8
- * @param {function} fun
9
- * @param {...any} X
10
- * @returns {any|any[]}
11
- */
12
- const mapfun=(fun,...X)=>{
13
- const Y=X.map(x=>{
14
- if(x===null)return fun(null);
15
- if(["number","string","boolean","bigint","undefined"].includes(typeof x))return fun(x);
16
- if(x instanceof Array)return x.map(n=>mapfun(fun,n));
17
- if(ArrayBuffer.isView(x))return x.map(n=>fun(n));
18
- if(x instanceof Set)return new Set(mapfun(fun,...[...x]));
19
- if(x instanceof Map)return new Map([...x].map(n=>[n[0],mapfun(fun,n[1])]));
20
- if(x instanceof Matrix){
21
- return new Matrix(x.rows,x.cols,mapfun(x.arr.flat(1)))
22
- }
23
- if(x instanceof Complex){
24
- const [a,b,z,phi]=[x.a,x.b,x.z,x.phi];
25
- switch(fun){
26
- case Math.log:return complex(ln(z),phi); // Done
27
- case Math.exp:return complex(e(a)*cos(b),e(a)*sin(b)); // Done
28
- case Math.abs:return z; // Done
29
- case Math.sqrt:return complex(sqrt(z)*cos(phi/2),sqrt(z)*sin(phi/2)); // Done
30
- case Fixed.cos:return complex(cos(a)*cosh(b),-(sin(a)*sinh(b)));
31
- case Fixed.sin:return complex(sin(a)*cosh(b),cos(a)*sinh(b));
32
- case Fixed.tan:{
33
- const DEN=cos(2*a)+cosh(2*b);
34
- return complex(sin(2*a)/DEN,sinh(2*b)/DEN);
35
- }
36
- case Fixed.cosh:return complex(cosh(a)*cos(b),sinh(a)*sin(b));
37
- case Fixed.sinh:return complex(sinh(a)*cos(b),cosh(a)*sin(b));
38
- case Fixed.tanh:{
39
- const DEN=cosh(2*a)+cos(2*b);
40
- return complex(sinh(2*a)/DEN,sin(2*b)/DEN)
41
- }
42
- default : return fun(x)
43
- }
44
- }
45
- else if(x instanceof Object)return Object.fromEntries(Object.entries(x).map(n=>n=[n[0],mapfun(fun,n[1])]))
46
-
47
- });
48
- return Y.length==1?Y[0]:Y;
49
- }
1
+ /** @module Math */
2
+ import { Matrix } from "../matrix/index.js";
3
+ import { Complex , complex } from "../complex/index.js";
4
+ import {ln,e,cos,sin,sqrt,cosh,sinh} from "../functions/index.js";
5
+ import { Fixed } from "../functions/helper.js";
6
+ /**
7
+ * map a function to ...X
8
+ * @param {function} fun
9
+ * @param {...any} X
10
+ * @returns {any|any[]}
11
+ */
12
+ const mapfun=(fun,...X)=>{
13
+ const Y=X.map(x=>{
14
+ if(x===null)return fun(null);
15
+ if(["number","string","boolean","bigint","undefined"].includes(typeof x))return fun(x);
16
+ if(x instanceof Array)return x.map(n=>mapfun(fun,n));
17
+ if(ArrayBuffer.isView(x))return x.map(n=>fun(n));
18
+ if(x instanceof Set)return new Set(mapfun(fun,...[...x]));
19
+ if(x instanceof Map)return new Map([...x].map(n=>[n[0],mapfun(fun,n[1])]));
20
+ if(x instanceof Matrix){
21
+ return new Matrix(x.rows,x.cols,mapfun(x.arr.flat(1)))
22
+ }
23
+ if(x instanceof Complex){
24
+ const [a,b,z,phi]=[x.a,x.b,x.z,x.phi];
25
+ switch(fun){
26
+ case Math.log:return complex(ln(z),phi); // Done
27
+ case Math.exp:return complex(e(a)*cos(b),e(a)*sin(b)); // Done
28
+ case Math.abs:return z; // Done
29
+ case Math.sqrt:return complex(sqrt(z)*cos(phi/2),sqrt(z)*sin(phi/2)); // Done
30
+ case Fixed.cos:return complex(cos(a)*cosh(b),-(sin(a)*sinh(b)));
31
+ case Fixed.sin:return complex(sin(a)*cosh(b),cos(a)*sinh(b));
32
+ case Fixed.tan:{
33
+ const DEN=cos(2*a)+cosh(2*b);
34
+ return complex(sin(2*a)/DEN,sinh(2*b)/DEN);
35
+ }
36
+ case Fixed.cosh:return complex(cosh(a)*cos(b),sinh(a)*sin(b));
37
+ case Fixed.sinh:return complex(sinh(a)*cos(b),cosh(a)*sin(b));
38
+ case Fixed.tanh:{
39
+ const DEN=cosh(2*a)+cos(2*b);
40
+ return complex(sinh(2*a)/DEN,sin(2*b)/DEN)
41
+ }
42
+ default : return fun(x)
43
+ }
44
+ }
45
+ else if(x instanceof Object)return Object.fromEntries(Object.entries(x).map(n=>n=[n[0],mapfun(fun,n[1])]))
46
+
47
+ });
48
+ return Y.length==1?Y[0]:Y;
49
+ }
50
50
  export {mapfun}
@@ -1,62 +1,62 @@
1
- import { ZikoEvent , EVENT_CONTROLLER } from "./ZikoEvent.js";
2
- function input_controller(e){
3
- EVENT_CONTROLLER.call(this,e,"input",null,null)
4
- }
5
- function change_controller(e){
6
- EVENT_CONTROLLER.call(this,e,"change",null,null)
7
- }
8
- class ZikoEventInput extends ZikoEvent{
9
- constructor(target){
10
- super(target);
11
- this.event=null;
12
- this.cache={
13
- prefixe:"",
14
- preventDefault:{
15
- input:false,
16
- change:false,
17
- },
18
- paused:{
19
- input:false,
20
- change:false,
21
- },
22
- stream:{
23
- enabled:{
24
- input:false,
25
- change:false,
26
- },
27
- clear:{
28
- input:false,
29
- change:false,
30
- },
31
- history:{
32
- input:[],
33
- change:[],
34
- }
35
- },
36
- callbacks:{
37
- input:[],
38
- change:[],
39
- }
40
- }
41
- this.__controller={
42
- input:input_controller.bind(this),
43
- change:change_controller.bind(this),
44
- }
45
- }
46
- get value(){
47
- return this.target.value;
48
- }
49
- onInput(...callbacks){
50
- this.__onEvent("input",{},...callbacks)
51
- return this;
52
- }
53
- onChange(...callbacks){
54
- this.__onEvent("change",{},...callbacks)
55
- return this;
56
- }
57
- }
58
- const useInputEvent=target=>new ZikoEventInput(target);
59
- export{
60
- useInputEvent,
61
- ZikoEventInput
1
+ import { ZikoEvent , EVENT_CONTROLLER } from "./ZikoEvent.js";
2
+ function input_controller(e){
3
+ EVENT_CONTROLLER.call(this,e,"input",null,null)
4
+ }
5
+ function change_controller(e){
6
+ EVENT_CONTROLLER.call(this,e,"change",null,null)
7
+ }
8
+ class ZikoEventInput extends ZikoEvent{
9
+ constructor(target){
10
+ super(target);
11
+ this.event=null;
12
+ this.cache={
13
+ prefixe:"",
14
+ preventDefault:{
15
+ input:false,
16
+ change:false,
17
+ },
18
+ paused:{
19
+ input:false,
20
+ change:false,
21
+ },
22
+ stream:{
23
+ enabled:{
24
+ input:false,
25
+ change:false,
26
+ },
27
+ clear:{
28
+ input:false,
29
+ change:false,
30
+ },
31
+ history:{
32
+ input:[],
33
+ change:[],
34
+ }
35
+ },
36
+ callbacks:{
37
+ input:[],
38
+ change:[],
39
+ }
40
+ }
41
+ this.__controller={
42
+ input:input_controller.bind(this),
43
+ change:change_controller.bind(this),
44
+ }
45
+ }
46
+ get value(){
47
+ return this.target.value;
48
+ }
49
+ onInput(...callbacks){
50
+ this.__onEvent("input",{},...callbacks)
51
+ return this;
52
+ }
53
+ onChange(...callbacks){
54
+ this.__onEvent("change",{},...callbacks)
55
+ return this;
56
+ }
57
+ }
58
+ const useInputEvent=target=>new ZikoEventInput(target);
59
+ export{
60
+ useInputEvent,
61
+ ZikoEventInput
62
62
  }