ziko 0.0.18 → 0.0.20

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/dist/ziko.cjs +10682 -11306
  2. package/dist/ziko.js +10490 -11999
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +10491 -11996
  5. package/package.json +16 -45
  6. package/src/__helpers__/index.js +61 -61
  7. package/src/app/json-style-sheet.js +64 -64
  8. package/src/app/ziko-app.js +38 -38
  9. package/src/data/api/fetchdom.js +13 -13
  10. package/src/data/api/index.js +3 -3
  11. package/src/data/api/preload.js +10 -10
  12. package/src/data/converter/adoc.js +130 -130
  13. package/src/data/converter/array.js +42 -42
  14. package/src/data/converter/canvas.js +24 -24
  15. package/src/data/converter/css.js +36 -36
  16. package/src/data/converter/csv.js +32 -32
  17. package/src/data/converter/idea.txt +9 -9
  18. package/src/data/converter/index.js +36 -36
  19. package/src/data/converter/json.js +80 -80
  20. package/src/data/converter/markdown.js +95 -95
  21. package/src/data/converter/object.js +69 -69
  22. package/src/data/converter/svg.js +10 -10
  23. package/src/data/index.js +16 -16
  24. package/src/data/parser/xml.js +46 -46
  25. package/src/data/string/patterns.js +11 -11
  26. package/src/data/string/string.js +169 -169
  27. package/src/global/{themes → _themes}/dark.js +884 -884
  28. package/src/global/{themes → _themes}/index.js +10 -10
  29. package/src/global/{themes → _themes}/light.js +254 -254
  30. package/src/global/app/index.js +45 -45
  31. package/src/global/component/index.js +38 -38
  32. package/src/global/globals/index.js +20 -20
  33. package/src/global/index.js +3 -11
  34. package/src/global/params/index.js +39 -39
  35. package/src/global/router/index.js +66 -66
  36. package/src/global/seo/index.js +42 -42
  37. package/src/graphics/canvas/canvas.js +176 -176
  38. package/src/graphics/canvas/elements/{basic → Basic}/arc.js +42 -42
  39. package/src/graphics/canvas/elements/{basic → Basic}/line.js +25 -25
  40. package/src/graphics/canvas/elements/{basic → Basic}/points.js +47 -47
  41. package/src/graphics/canvas/elements/{basic → Basic}/polygon.js +6 -6
  42. package/src/graphics/canvas/elements/{basic → Basic}/rect.js +45 -45
  43. package/src/graphics/canvas/elements/{chart → Chart}/scatter.js +2 -2
  44. package/src/graphics/canvas/elements/{element.js → Element.js} +114 -114
  45. package/src/graphics/canvas/elements/index.js +12 -12
  46. package/src/graphics/canvas/index.js +1 -1
  47. package/src/graphics/canvas/utils/color.js +7 -7
  48. package/src/graphics/canvas/utils/floodFill.js +57 -57
  49. package/src/graphics/index.js +9 -9
  50. package/src/graphics/svg/{elements/basic → Elements/Basic}/circle.js +28 -28
  51. package/src/graphics/svg/{elements/basic → Elements/Basic}/ellipse.js +23 -23
  52. package/src/graphics/svg/{elements/basic → Elements/Basic}/foreign-object.js +35 -35
  53. package/src/graphics/svg/{elements/basic → Elements/Basic}/groupe.js +32 -32
  54. package/src/graphics/svg/{elements/basic → Elements/Basic}/image.js +35 -35
  55. package/src/graphics/svg/{elements/basic → Elements/Basic}/line.js +31 -31
  56. package/src/graphics/svg/{elements/basic → Elements/Basic}/link.js +33 -33
  57. package/src/graphics/svg/{elements/basic → Elements/Basic}/path.js +61 -61
  58. package/src/graphics/svg/{elements/basic → Elements/Basic}/polygon.js +31 -31
  59. package/src/graphics/svg/{elements/basic → Elements/Basic}/polyline.js +6 -6
  60. package/src/graphics/svg/{elements/basic → Elements/Basic}/rect.js +45 -45
  61. package/src/graphics/svg/{elements/basic → Elements/Basic}/text.js +28 -28
  62. package/src/graphics/svg/{elements/derived → Elements/Derived}/grid.js +8 -8
  63. package/src/graphics/svg/{elements → Elements}/index.js +2 -2
  64. package/src/graphics/svg/{elements → Elements}/ziko-svg-element.js +48 -48
  65. package/src/graphics/svg/index.js +1 -1
  66. package/src/graphics/svg/svg.js +68 -68
  67. package/src/index.js +85 -85
  68. package/src/math/calculus/index.js +2 -2
  69. package/src/math/calculus/special-functions/bessel.js +30 -30
  70. package/src/math/calculus/special-functions/beta.js +37 -37
  71. package/src/math/calculus/special-functions/gamma.js +29 -29
  72. package/src/math/calculus/special-functions/index.js +4 -4
  73. package/src/math/complex/index.js +202 -202
  74. package/src/math/const.js +2 -2
  75. package/src/math/discret/Combinaison/index.js +33 -33
  76. package/src/math/discret/Conversion/index.js +85 -85
  77. package/src/math/discret/Logic/index.js +45 -45
  78. package/src/math/discret/Permutation/index.js +30 -30
  79. package/src/math/discret/Set/index.js +1 -1
  80. package/src/math/discret/Set/power-set.js +14 -14
  81. package/src/math/discret/Set/sub-set.js +10 -10
  82. package/src/math/discret/index.js +11 -11
  83. package/src/math/functions/index.js +161 -161
  84. package/src/math/index.js +32 -32
  85. package/src/math/matrix/Decomposition.js +90 -90
  86. package/src/math/matrix/LinearSystem.js +9 -9
  87. package/src/math/matrix/Matrix.js +716 -716
  88. package/src/math/matrix/index.js +2 -2
  89. package/src/math/random/index.js +172 -172
  90. package/src/math/signal/__np.py.txt +39 -39
  91. package/src/math/signal/conv.js +174 -174
  92. package/src/math/signal/fft.js +54 -54
  93. package/src/math/signal/filter.js +38 -38
  94. package/src/math/signal/functions.js +145 -145
  95. package/src/math/signal/index.js +109 -109
  96. package/src/math/statistics/Functions/index.js +99 -99
  97. package/src/math/statistics/index.js +15 -15
  98. package/src/math/utils/arithmetic.js +138 -138
  99. package/src/math/utils/checkers.js +29 -29
  100. package/src/math/utils/conversions.js +19 -19
  101. package/src/math/utils/discret.js +51 -51
  102. package/src/math/utils/index.js +101 -101
  103. package/src/math/utils/mapfun.js +49 -49
  104. package/src/reactivity/events/Input.js +61 -61
  105. package/src/reactivity/events/Pointer.js +231 -231
  106. package/src/reactivity/events/ZikoEvent.js +90 -90
  107. package/src/reactivity/events/click.js +59 -59
  108. package/src/reactivity/events/clipboard.js +87 -87
  109. package/src/reactivity/events/custom-event.js +56 -56
  110. package/src/reactivity/events/drag.js +136 -136
  111. package/src/reactivity/events/focus.js +58 -58
  112. package/src/reactivity/events/hash.js +46 -46
  113. package/src/reactivity/events/index.js +12 -12
  114. package/src/reactivity/events/key.js +101 -101
  115. package/src/reactivity/events/mouse.js +232 -232
  116. package/src/reactivity/events/swipe.js +149 -149
  117. package/src/reactivity/events/wheel.js +46 -46
  118. package/src/reactivity/hooks/{contexte → Contexte}/useSuccesifKeys.js +13 -13
  119. package/src/reactivity/hooks/{decorators → Decorators}/index.js +6 -6
  120. package/src/reactivity/hooks/{decorators → Decorators}/time.js +16 -16
  121. package/src/reactivity/hooks/{decorators → Decorators}/type.js +87 -87
  122. package/src/reactivity/hooks/{head/useCssText.js → Head/_useCssText.js} +20 -20
  123. package/src/reactivity/hooks/{head → Head}/index.js +5 -5
  124. package/src/reactivity/hooks/{head → Head}/useFavIcon.js +37 -37
  125. package/src/reactivity/hooks/{head → Head}/useHead.js +27 -27
  126. package/src/reactivity/hooks/{head → Head}/useMeta.js +52 -52
  127. package/src/reactivity/hooks/{head → Head}/useTitle.js +29 -29
  128. package/src/reactivity/hooks/{interactions/useBluetooth.js → Interactions/_useBluetooth.js} +47 -47
  129. package/src/reactivity/hooks/{interactions → Interactions}/index.js +4 -4
  130. package/src/reactivity/hooks/{interactions → Interactions}/useChannel.js +49 -49
  131. package/src/reactivity/hooks/{interactions → Interactions}/useEventEmmiter.js +63 -63
  132. package/src/reactivity/hooks/{interactions → Interactions}/useThread.js +43 -43
  133. package/src/reactivity/hooks/Sensors/index.js +2 -0
  134. package/src/reactivity/hooks/{sensors → Sensors}/useBattery.js +35 -35
  135. package/src/reactivity/hooks/{sensors → Sensors}/useGeolocation.js +16 -16
  136. package/src/reactivity/hooks/{storage → Storage}/useStorage.js +72 -72
  137. package/src/reactivity/hooks/{ui → UI}/index.js +5 -5
  138. package/src/reactivity/hooks/{ui → UI}/useMediaQuery.js +43 -43
  139. package/src/reactivity/hooks/{ui → UI}/useStyle.js +79 -79
  140. package/src/reactivity/hooks/{ui → UI}/useTheme.js +61 -61
  141. package/src/reactivity/hooks/index.js +7 -7
  142. package/src/reactivity/hooks/todo.md +26 -26
  143. package/src/reactivity/idea +1 -1
  144. package/src/reactivity/index.js +11 -11
  145. package/src/reactivity/observer/attributes.js +28 -28
  146. package/src/reactivity/observer/children.js +36 -36
  147. package/src/reactivity/observer/index.js +6 -6
  148. package/src/reactivity/observer/intersection.js +43 -43
  149. package/src/reactivity/observer/mutation.js +112 -112
  150. package/src/reactivity/observer/resize.js +46 -46
  151. package/src/reactivity/observer/screen.js +44 -44
  152. package/src/reactivity/observer/screen.js.txt +83 -83
  153. package/src/reactivity/observer/screen.txt +12 -12
  154. package/src/time/animation.js +75 -75
  155. package/src/time/index.js +11 -11
  156. package/src/time/loop.js +87 -87
  157. package/src/time/utils/decorators.js +16 -16
  158. package/src/time/utils/ease.js +143 -143
  159. package/src/time/utils/index.js +17 -17
  160. package/src/time/utils/performance.js +15 -15
  161. package/src/time/utils/ui.js +25 -25
  162. package/src/types.js +73 -73
  163. package/src/ui/elements/derived/accordion/accordion.js +42 -42
  164. package/src/ui/elements/derived/accordion/collapsible.js +82 -82
  165. package/src/ui/elements/derived/accordion/index.js +1 -1
  166. package/src/ui/elements/derived/alert/alert.js +80 -80
  167. package/src/ui/elements/derived/alert/palette.js +51 -51
  168. package/src/ui/elements/derived/carousel/index.js +50 -50
  169. package/src/ui/elements/derived/code-note/SubElements.js.txt +104 -104
  170. package/src/ui/elements/derived/code-note/code-cell.js +194 -194
  171. package/src/ui/elements/derived/code-note/code-note.js +71 -71
  172. package/src/ui/elements/derived/code-note/index.js +1 -1
  173. package/src/ui/elements/derived/code-note/sub-elements.js +66 -66
  174. package/src/ui/elements/derived/elements/Swipper.js +3 -3
  175. package/src/ui/elements/derived/elements/index.js +9 -9
  176. package/src/ui/elements/derived/flex/index.js +102 -102
  177. package/src/ui/elements/derived/grid/index.js +32 -32
  178. package/src/ui/elements/derived/index.js +11 -11
  179. package/src/ui/elements/derived/menu/menu3d.js +259 -259
  180. package/src/ui/elements/derived/modal/index.js +91 -91
  181. package/src/ui/elements/derived/pagination/breadcrumbs.js +53 -53
  182. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +111 -111
  183. package/src/ui/elements/derived/slider/hSlider.js +33 -33
  184. package/src/ui/elements/derived/slider/index.js +11 -11
  185. package/src/ui/elements/derived/slider/vSlider.js +26 -26
  186. package/src/ui/elements/derived/splitter/__ZikoUISplitter__.js +61 -61
  187. package/src/ui/elements/derived/splitter/hsplitter.js +39 -39
  188. package/src/ui/elements/derived/splitter/index.js +11 -11
  189. package/src/ui/elements/derived/splitter/vsplitter.js +39 -39
  190. package/src/ui/elements/derived/tabs/index.js +179 -179
  191. package/src/ui/elements/primitives/ZikoUIContainerElement.js +163 -163
  192. package/src/ui/elements/primitives/ZikoUIElement.js +492 -492
  193. package/src/ui/elements/primitives/embaded/html.js +19 -19
  194. package/src/ui/elements/primitives/embaded/index.js +3 -3
  195. package/src/ui/elements/primitives/embaded/pdf.js +16 -16
  196. package/src/ui/elements/primitives/embaded/youtube.js +23 -23
  197. package/src/ui/elements/primitives/index.js +7 -7
  198. package/src/ui/elements/primitives/io/Form/index.js +41 -41
  199. package/src/ui/elements/primitives/io/Form/index.js.txt +104 -104
  200. package/src/ui/elements/primitives/io/Inputs/__helpers__.js +51 -51
  201. package/src/ui/elements/primitives/io/Inputs/index.js +12 -12
  202. package/src/ui/elements/primitives/io/Inputs/input/index.js +98 -98
  203. package/src/ui/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  204. package/src/ui/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  205. package/src/ui/elements/primitives/io/Inputs/input-color/index.js +15 -15
  206. package/src/ui/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  207. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  208. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  209. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  210. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +1 -1
  211. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  212. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  213. package/src/ui/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  214. package/src/ui/elements/primitives/io/Inputs/input-number/index.js +36 -36
  215. package/src/ui/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  216. package/src/ui/elements/primitives/io/Inputs/input-search/index.js +45 -45
  217. package/src/ui/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  218. package/src/ui/elements/primitives/io/Select/index.js +19 -19
  219. package/src/ui/elements/primitives/io/Textarea/index.js +17 -17
  220. package/src/ui/elements/primitives/io/index.js +3 -3
  221. package/src/ui/elements/primitives/list/index.js +138 -138
  222. package/src/ui/elements/primitives/media/Audio/index.js +16 -16
  223. package/src/ui/elements/primitives/media/Image/figure.js +18 -18
  224. package/src/ui/elements/primitives/media/Image/image.js +36 -36
  225. package/src/ui/elements/primitives/media/Image/index.js +1 -1
  226. package/src/ui/elements/primitives/media/Video/index.js +26 -26
  227. package/src/ui/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  228. package/src/ui/elements/primitives/media/index.js +2 -2
  229. package/src/ui/elements/primitives/misc/index.js +101 -101
  230. package/src/ui/elements/primitives/semantic/index.js +81 -81
  231. package/src/ui/elements/primitives/table/elements.js +93 -93
  232. package/src/ui/elements/primitives/table/index.js +2 -2
  233. package/src/ui/elements/primitives/table/table.js +115 -115
  234. package/src/ui/elements/primitives/table/utils.js +11 -11
  235. package/src/ui/elements/primitives/text/__ZikoUIText__.js +71 -71
  236. package/src/ui/elements/primitives/text/heading.js +35 -35
  237. package/src/ui/elements/primitives/text/index.js +2 -2
  238. package/src/ui/elements/primitives/text/p.js +26 -26
  239. package/src/ui/elements/primitives/text/text.js +80 -80
  240. package/src/ui/index.js +37 -37
  241. package/src/ui/style/index.js +504 -515
  242. package/src/ui/utils/index.js +69 -69
  243. package/starter/bin/index.js +11 -11
  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}