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,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}