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,146 +1,146 @@
1
- import { Complex , complex } from "../complex/index.js";
2
- import { abs , pow , sqrtn , max , min} from "../functions/index.js";
3
- import { mul } from "../utils/index.js";
4
- import { E } from "../const.js";
5
- import { Matrix } from "../matrix/Matrix.js";
6
- const zeros=(n)=>new Array(n).fill(0);
7
- const ones=(n)=>new Array(n).fill(1);
8
- const nums=(num,n)=>new Array(n).fill(num);
9
- const norm=(value, min, max)=>{
10
- if (typeof value === "number") return min !== max ? (value - min) / (max - min) : 0;
11
- else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, norm(value.arr.flat(1), min, max));
12
- else if (value instanceof Complex) return new Complex(norm(value.a, min, max), norm(value.b, min, max));
13
- else if (value instanceof Array) {
14
- if (value.every((n) => typeof (n === "number"))) {
15
- return value.map((n) => norm(n, min, max));
16
- } else {
17
- let y = new Array(value.length);
18
- for (let i = 0; i < value.length; i++) {
19
- y[i] = norm(value[i]);
20
- }
21
- }
22
- }
23
- }
24
- const lerp=(value, min, max)=>{
25
- if (typeof value === "number") return (max - min) * value + min;
26
- else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, lerp(value.arr.flat(1), min, max));
27
- else if (value instanceof Complex) return new Complex(lerp(value.a, min, max), lerp(value.b, min, max));
28
- else if (value instanceof Array) {
29
- if (value.every((n) => typeof (n === "number"))) {
30
- return value.map((n) => lerp(n, min, max));
31
- } else {
32
- let y = new Array(value.length);
33
- for (let i = 0; i < value.length; i++) {
34
- y[i] = lerp(value[i]);
35
- }
36
- }
37
- }
38
- }
39
- const map=(value, a, b, c, d)=>{
40
- if (typeof value === "number") return lerp(norm(value, a, b), c, d);
41
- else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, map(value.arr.flat(1), a, b, c, d));
42
- else if (value instanceof Complex) return new Complex(map(value.a, b, c, d), map(value.b, a, b, c, d));
43
- else if (value instanceof Array) {
44
- if (value.every((n) => typeof (n === "number"))) {
45
- return value.map((n) => map(n, a, b, c, d));
46
- } else {
47
- let y = new Array(value.length);
48
- for (let i = 0; i < value.length; i++) {
49
- y[i] = map(value[i], a, b, c, d);
50
- }
51
- }
52
- }
53
- }
54
- const clamp=(x, a , b)=>{
55
- const [min_value,max_value]=[min(a,b),max(a,b)]
56
- if (typeof x === "number") return min(max(x, min_value), max_value);
57
- else if (x instanceof Matrix) return new Matrix(x.rows, x.cols, clamp(x.arr.flat(1), min_value, max_value));
58
- else if (x instanceof Complex) return new Complex(clamp(x.a, min_value, max_value), clamp(x.b, min_value, max_value));
59
- else if (x instanceof Array) {
60
- if (x.every((n) => typeof (n === "number"))) {
61
- return x.map((n) => clamp(n, min_value, max_value));
62
- } else {
63
- let y = new Array(x.length);
64
- for (let i = 0; i < x.length; i++) {
65
- y[i] = clamp(x[i], min_value, max_value);
66
- }
67
- }
68
- }
69
- }
70
- const arange=(a, b, step , include = false)=>{
71
- let tab = [];
72
- if(a<b){
73
- for (let i = a; include?i<=b:i<b; i += step) tab.push((i * 10) / 10);
74
- }
75
- else{
76
- for(let i = a; include?i>=b:i>b; i -= step) tab.push((i * 10) / 10);
77
- }
78
- return tab;
79
- }
80
- const linspace=(a,b,n=abs(b-a)+1,endpoint=true)=>{
81
- if(Math.floor(n)!==n)return;
82
- if([a,b].every(n=>typeof n==="number")){
83
- const [max,min]=[a,b].sort((a,b)=>b-a);
84
- var Y = [];
85
- let step ;
86
- endpoint ? step = (max - min) / (n - 1) : step = (max - min) / n;
87
- for (var i = 0; i < n; i++) {
88
- a<b?Y.push(min+step*i):Y.push(max-step*i);
89
- }
90
- return Y
91
- }
92
-
93
- if([a,b].some(n=>n instanceof Complex)){
94
- const z1=complex(a)
95
- const z2=complex(b)
96
- n=n||Math.abs(z1.a-z2.a)+1;
97
- const X=linspace(z1.a,z2.a,n,endpoint);
98
- const Y=linspace(z1.b,z2.b,n,endpoint);
99
- let Z=new Array(n).fill(null);
100
- Z=Z.map((n,i)=>complex(X[i],Y[i]));
101
- return Z;
102
- }
103
- }
104
- const logspace=(a,b,n=b-a+1,base=E,endpoint=true)=>{
105
- return linspace(a,b,n,endpoint).map(n=>pow(base,n))
106
- }
107
- const geomspace=(a,b,n=abs(b-a)+1,endpoint=true)=>{
108
- if(Math.floor(n)!==n)return;
109
- if([a,b].every(n=>typeof n==="number")){
110
- const [max,min]=[a,b].sort((a,b)=>b-a);
111
- let base;
112
- endpoint ? base = sqrtn(max/min,n-1) : base = sqrtn(max/min,n) ;
113
- const Y = [min];
114
- for (let i = 1; i < n; i++) {
115
- Y.push(Y[i-1]*base)
116
- }
117
- return a<b?Y:Y.reverse()
118
- }
119
-
120
- if([a,b].some(n=>n instanceof Complex)){
121
- const z1=complex(a)
122
- const z2=complex(b)
123
- n=n||Math.abs(z1.a-z2.a)+1;
124
- let base;
125
- endpoint ? base = sqrtn(z2.div(z1),n-1) : base = sqrtn(z2.div(z1),n) ;
126
- const Y = [z1];
127
- for (let i = 1; i < n; i++) {
128
- Y.push(mul(Y[i-1],base))
129
- }
130
- return Y;
131
- }
132
- }
133
- export {
134
- zeros,
135
- ones,
136
- nums,
137
- norm,
138
- lerp,
139
- map,
140
- clamp,
141
- arange,
142
- linspace,
143
- logspace,
144
- geomspace,
145
-
1
+ import { Complex , complex } from "../complex/index.js";
2
+ import { abs , pow , sqrtn , max , min} from "../functions/index.js";
3
+ import { mul } from "../utils/index.js";
4
+ import { E } from "../const.js";
5
+ import { Matrix } from "../matrix/Matrix.js";
6
+ const zeros=(n)=>new Array(n).fill(0);
7
+ const ones=(n)=>new Array(n).fill(1);
8
+ const nums=(num,n)=>new Array(n).fill(num);
9
+ const norm=(value, min, max)=>{
10
+ if (typeof value === "number") return min !== max ? (value - min) / (max - min) : 0;
11
+ else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, norm(value.arr.flat(1), min, max));
12
+ else if (value instanceof Complex) return new Complex(norm(value.a, min, max), norm(value.b, min, max));
13
+ else if (value instanceof Array) {
14
+ if (value.every((n) => typeof (n === "number"))) {
15
+ return value.map((n) => norm(n, min, max));
16
+ } else {
17
+ let y = new Array(value.length);
18
+ for (let i = 0; i < value.length; i++) {
19
+ y[i] = norm(value[i]);
20
+ }
21
+ }
22
+ }
23
+ }
24
+ const lerp=(value, min, max)=>{
25
+ if (typeof value === "number") return (max - min) * value + min;
26
+ else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, lerp(value.arr.flat(1), min, max));
27
+ else if (value instanceof Complex) return new Complex(lerp(value.a, min, max), lerp(value.b, min, max));
28
+ else if (value instanceof Array) {
29
+ if (value.every((n) => typeof (n === "number"))) {
30
+ return value.map((n) => lerp(n, min, max));
31
+ } else {
32
+ let y = new Array(value.length);
33
+ for (let i = 0; i < value.length; i++) {
34
+ y[i] = lerp(value[i]);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ const map=(value, a, b, c, d)=>{
40
+ if (typeof value === "number") return lerp(norm(value, a, b), c, d);
41
+ else if (value instanceof Matrix) return new Matrix(value.rows, value.cols, map(value.arr.flat(1), a, b, c, d));
42
+ else if (value instanceof Complex) return new Complex(map(value.a, b, c, d), map(value.b, a, b, c, d));
43
+ else if (value instanceof Array) {
44
+ if (value.every((n) => typeof (n === "number"))) {
45
+ return value.map((n) => map(n, a, b, c, d));
46
+ } else {
47
+ let y = new Array(value.length);
48
+ for (let i = 0; i < value.length; i++) {
49
+ y[i] = map(value[i], a, b, c, d);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ const clamp=(x, a , b)=>{
55
+ const [min_value,max_value]=[min(a,b),max(a,b)]
56
+ if (typeof x === "number") return min(max(x, min_value), max_value);
57
+ else if (x instanceof Matrix) return new Matrix(x.rows, x.cols, clamp(x.arr.flat(1), min_value, max_value));
58
+ else if (x instanceof Complex) return new Complex(clamp(x.a, min_value, max_value), clamp(x.b, min_value, max_value));
59
+ else if (x instanceof Array) {
60
+ if (x.every((n) => typeof (n === "number"))) {
61
+ return x.map((n) => clamp(n, min_value, max_value));
62
+ } else {
63
+ let y = new Array(x.length);
64
+ for (let i = 0; i < x.length; i++) {
65
+ y[i] = clamp(x[i], min_value, max_value);
66
+ }
67
+ }
68
+ }
69
+ }
70
+ const arange=(a, b, step , include = false)=>{
71
+ let tab = [];
72
+ if(a<b){
73
+ for (let i = a; include?i<=b:i<b; i += step) tab.push((i * 10) / 10);
74
+ }
75
+ else{
76
+ for(let i = a; include?i>=b:i>b; i -= step) tab.push((i * 10) / 10);
77
+ }
78
+ return tab;
79
+ }
80
+ const linspace=(a,b,n=abs(b-a)+1,endpoint=true)=>{
81
+ if(Math.floor(n)!==n)return;
82
+ if([a,b].every(n=>typeof n==="number")){
83
+ const [max,min]=[a,b].sort((a,b)=>b-a);
84
+ var Y = [];
85
+ let step ;
86
+ endpoint ? step = (max - min) / (n - 1) : step = (max - min) / n;
87
+ for (var i = 0; i < n; i++) {
88
+ a<b?Y.push(min+step*i):Y.push(max-step*i);
89
+ }
90
+ return Y
91
+ }
92
+
93
+ if([a,b].some(n=>n instanceof Complex)){
94
+ const z1=complex(a)
95
+ const z2=complex(b)
96
+ n=n||Math.abs(z1.a-z2.a)+1;
97
+ const X=linspace(z1.a,z2.a,n,endpoint);
98
+ const Y=linspace(z1.b,z2.b,n,endpoint);
99
+ let Z=new Array(n).fill(null);
100
+ Z=Z.map((n,i)=>complex(X[i],Y[i]));
101
+ return Z;
102
+ }
103
+ }
104
+ const logspace=(a,b,n=b-a+1,base=E,endpoint=true)=>{
105
+ return linspace(a,b,n,endpoint).map(n=>pow(base,n))
106
+ }
107
+ const geomspace=(a,b,n=abs(b-a)+1,endpoint=true)=>{
108
+ if(Math.floor(n)!==n)return;
109
+ if([a,b].every(n=>typeof n==="number")){
110
+ const [max,min]=[a,b].sort((a,b)=>b-a);
111
+ let base;
112
+ endpoint ? base = sqrtn(max/min,n-1) : base = sqrtn(max/min,n) ;
113
+ const Y = [min];
114
+ for (let i = 1; i < n; i++) {
115
+ Y.push(Y[i-1]*base)
116
+ }
117
+ return a<b?Y:Y.reverse()
118
+ }
119
+
120
+ if([a,b].some(n=>n instanceof Complex)){
121
+ const z1=complex(a)
122
+ const z2=complex(b)
123
+ n=n||Math.abs(z1.a-z2.a)+1;
124
+ let base;
125
+ endpoint ? base = sqrtn(z2.div(z1),n-1) : base = sqrtn(z2.div(z1),n) ;
126
+ const Y = [z1];
127
+ for (let i = 1; i < n; i++) {
128
+ Y.push(mul(Y[i-1],base))
129
+ }
130
+ return Y;
131
+ }
132
+ }
133
+ export {
134
+ zeros,
135
+ ones,
136
+ nums,
137
+ norm,
138
+ lerp,
139
+ map,
140
+ clamp,
141
+ arange,
142
+ linspace,
143
+ logspace,
144
+ geomspace,
145
+
146
146
  }
@@ -1,110 +1,110 @@
1
- import { mapfun } from "../utils/index.js";
2
- import { abs , sinc , sign , sin } from "../functions/index.js"
3
- import { Random } from "../random/index.js";
4
- import {
5
- zeros,
6
- ones,
7
- nums,
8
- arange,
9
- linspace,
10
- logspace,
11
- geomspace,
12
- map,
13
- norm,
14
- lerp,
15
- clamp,
16
- } from "./functions.js";
17
- import{
18
- fft,
19
- ifft
20
- } from "./fft.js"
21
- import {
22
- conv,
23
- conv1d,
24
- conv2d,
25
- circularConv,
26
- linearConv,
27
- circularConv1d,
28
- linearConv1d,
29
- circularConv2d,
30
- linearConv2d
31
- } from "./conv.js";
32
- import {
33
- filter
34
- } from "./filter.js";
35
- //import { Matrix } from "../Matrix/index.js";
36
- const Signal={
37
- zeros,
38
- ones,
39
- nums,
40
- arange,
41
- linspace,
42
- logspace,
43
- geomspace,
44
- map,
45
- norm,
46
- lerp,
47
- clamp,
48
- noise(n,min = 0,max = 1){
49
- return Random.floats(n,min,max);
50
- },
51
- echelon(t,t0 = 0 , A = 1){
52
- if(!(t instanceof Array))t=[t];
53
- const Y = mapfun(n=>n>=t0?1:0,...t);
54
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A
55
- },
56
- rampe(t,t0 = 0 , A = 1){
57
- if(!(t instanceof Array))t=[t]
58
- const Y = mapfun(n=>n>=t0?n-t0:0,...t);
59
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A
60
- },
61
- sign(t,t0 = 0 , A = 1){
62
- if(!(t instanceof Array))t=[t]
63
- const Y = mapfun(n=>Math.sign(n-t0),...t);
64
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A
65
- },
66
- rect(t,T,t0 = 0, A = 1){
67
- if(!(t instanceof Array))t=[t];
68
- const Y = mapfun(n=>((t0-T/2 < n) && (t0+T/2 > n)? 1 - 2 * abs(n/T) : 0),...t)
69
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A
70
- },
71
- tri(t,T,t0 = 0 , A = 1){
72
- if(!(t instanceof Array))t=[t]
73
- const Y = mapfun(n=>((t0-T/2 < n) && (t0+T/2 > n)? 1 - 2 * abs(n/T) : 0),...t)
74
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
75
- },
76
- dirac(t,t0){
77
- return mapfun(n=>n===t0?Infinity:0,...t);
78
- },
79
- lorentz(t , t0 = 0 , A = 1){
80
- if(!(t instanceof Array))t=[t]
81
- const Y = mapfun(n => 1/(1+(n-t0)**2),...t);
82
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
83
- },
84
- sinc(t , t0 , A = 1){
85
- if(!(t instanceof Array))t=[t]
86
- const Y = mapfun(n=>sinc(n-t0),...t);
87
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
88
- },
89
- square(t,T=1,A=1){
90
- if(!(t instanceof Array))t=[t]
91
- const Y = mapfun(n=>sign(sin(n*2*Math.PI/T)),...t);
92
- return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
93
- },
94
- sawtooth(){
95
-
96
- },
97
- conv,
98
- conv1d,
99
- conv2d,
100
- circularConv,
101
- linearConv,
102
- circularConv1d,
103
- linearConv1d,
104
- circularConv2d,
105
- linearConv2d,
106
- fft,
107
- ifft,
108
- filter,
109
- }
1
+ import { mapfun } from "../utils/index.js";
2
+ import { abs , sinc , sign , sin } from "../functions/index.js"
3
+ import { Random } from "../random/index.js";
4
+ import {
5
+ zeros,
6
+ ones,
7
+ nums,
8
+ arange,
9
+ linspace,
10
+ logspace,
11
+ geomspace,
12
+ map,
13
+ norm,
14
+ lerp,
15
+ clamp,
16
+ } from "./functions.js";
17
+ import{
18
+ fft,
19
+ ifft
20
+ } from "./fft.js"
21
+ import {
22
+ conv,
23
+ conv1d,
24
+ conv2d,
25
+ circularConv,
26
+ linearConv,
27
+ circularConv1d,
28
+ linearConv1d,
29
+ circularConv2d,
30
+ linearConv2d
31
+ } from "./conv.js";
32
+ import {
33
+ filter
34
+ } from "./filter.js";
35
+ //import { Matrix } from "../Matrix/index.js";
36
+ const Signal={
37
+ zeros,
38
+ ones,
39
+ nums,
40
+ arange,
41
+ linspace,
42
+ logspace,
43
+ geomspace,
44
+ map,
45
+ norm,
46
+ lerp,
47
+ clamp,
48
+ noise(n,min = 0,max = 1){
49
+ return Random.floats(n,min,max);
50
+ },
51
+ echelon(t,t0 = 0 , A = 1){
52
+ if(!(t instanceof Array))t=[t];
53
+ const Y = mapfun(n=>n>=t0?1:0,...t);
54
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A
55
+ },
56
+ rampe(t,t0 = 0 , A = 1){
57
+ if(!(t instanceof Array))t=[t]
58
+ const Y = mapfun(n=>n>=t0?n-t0:0,...t);
59
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A
60
+ },
61
+ sign(t,t0 = 0 , A = 1){
62
+ if(!(t instanceof Array))t=[t]
63
+ const Y = mapfun(n=>Math.sign(n-t0),...t);
64
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A
65
+ },
66
+ rect(t,T,t0 = 0, A = 1){
67
+ if(!(t instanceof Array))t=[t];
68
+ const Y = mapfun(n=>((t0-T/2 < n) && (t0+T/2 > n)? 1 - 2 * abs(n/T) : 0),...t)
69
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A
70
+ },
71
+ tri(t,T,t0 = 0 , A = 1){
72
+ if(!(t instanceof Array))t=[t]
73
+ const Y = mapfun(n=>((t0-T/2 < n) && (t0+T/2 > n)? 1 - 2 * abs(n/T) : 0),...t)
74
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
75
+ },
76
+ dirac(t,t0){
77
+ return mapfun(n=>n===t0?Infinity:0,...t);
78
+ },
79
+ lorentz(t , t0 = 0 , A = 1){
80
+ if(!(t instanceof Array))t=[t]
81
+ const Y = mapfun(n => 1/(1+(n-t0)**2),...t);
82
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
83
+ },
84
+ sinc(t , t0 , A = 1){
85
+ if(!(t instanceof Array))t=[t]
86
+ const Y = mapfun(n=>sinc(n-t0),...t);
87
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
88
+ },
89
+ square(t,T=1,A=1){
90
+ if(!(t instanceof Array))t=[t]
91
+ const Y = mapfun(n=>sign(sin(n*2*Math.PI/T)),...t);
92
+ return Y instanceof Array ? Y.map(n=>n*A) : Y*A;
93
+ },
94
+ sawtooth(){
95
+
96
+ },
97
+ conv,
98
+ conv1d,
99
+ conv2d,
100
+ circularConv,
101
+ linearConv,
102
+ circularConv1d,
103
+ linearConv1d,
104
+ circularConv2d,
105
+ linearConv2d,
106
+ fft,
107
+ ifft,
108
+ filter,
109
+ }
110
110
  export{Signal}