ziko 0.0.17 → 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/README.md +91 -200
  2. package/package.json +17 -46
  3. package/src/__helpers__/index.js +61 -61
  4. package/src/app/json-style-sheet.js +64 -64
  5. package/src/app/spa-file-based-routing.js +0 -1
  6. package/src/app/ziko-app.js +38 -38
  7. package/src/data/api/fetchdom.js +13 -13
  8. package/src/data/api/index.js +3 -3
  9. package/src/data/api/preload.js +10 -10
  10. package/src/data/converter/adoc.js +130 -130
  11. package/src/data/converter/array.js +42 -42
  12. package/src/data/converter/canvas.js +24 -24
  13. package/src/data/converter/css.js +36 -36
  14. package/src/data/converter/csv.js +32 -32
  15. package/src/data/converter/idea.txt +9 -9
  16. package/src/data/converter/index.js +36 -36
  17. package/src/data/converter/json.js +80 -80
  18. package/src/data/converter/markdown.js +95 -95
  19. package/src/data/converter/object.js +69 -69
  20. package/src/data/converter/svg.js +10 -10
  21. package/src/data/datatypes/color.js +11 -0
  22. package/src/data/index.js +16 -16
  23. package/src/data/parser/xml.js +46 -46
  24. package/src/data/string/patterns.js +11 -11
  25. package/src/data/string/string.js +169 -169
  26. package/src/global/{themes → _themes}/dark.js +884 -884
  27. package/src/global/{themes → _themes}/index.js +10 -10
  28. package/src/global/{themes → _themes}/light.js +254 -254
  29. package/src/global/app/index.js +45 -45
  30. package/src/global/component/index.js +38 -38
  31. package/src/global/globals/index.js +20 -20
  32. package/src/global/index.js +3 -11
  33. package/src/global/params/index.js +39 -39
  34. package/src/global/router/index.js +66 -66
  35. package/src/global/seo/index.js +42 -42
  36. package/src/graphics/canvas/canvas.js +176 -189
  37. package/src/graphics/canvas/elements/Basic/arc.js +42 -42
  38. package/src/graphics/canvas/elements/Basic/line.js +25 -25
  39. package/src/graphics/canvas/elements/Basic/points.js +47 -47
  40. package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
  41. package/src/graphics/canvas/elements/Basic/rect.js +45 -45
  42. package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
  43. package/src/graphics/canvas/elements/Element.js +114 -114
  44. package/src/graphics/canvas/elements/index.js +13 -13
  45. package/src/graphics/canvas/index.js +2 -15
  46. package/src/graphics/canvas/utils/color.js +7 -7
  47. package/src/graphics/canvas/utils/floodFill.js +57 -57
  48. package/src/graphics/index.js +10 -69
  49. package/src/graphics/svg/Elements/Basic/circle.js +29 -26
  50. package/src/graphics/svg/Elements/Basic/ellipse.js +24 -21
  51. package/src/graphics/svg/Elements/Basic/{foreignObject.js → foreign-object.js} +36 -33
  52. package/src/graphics/svg/Elements/Basic/groupe.js +32 -29
  53. package/src/graphics/svg/Elements/Basic/image.js +36 -33
  54. package/src/graphics/svg/Elements/Basic/index.js +11 -0
  55. package/src/graphics/svg/Elements/Basic/line.js +32 -29
  56. package/src/graphics/svg/Elements/Basic/link.js +33 -30
  57. package/src/graphics/svg/Elements/Basic/path.js +62 -59
  58. package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
  59. package/src/graphics/svg/Elements/Basic/polyline.js +7 -4
  60. package/src/graphics/svg/Elements/Basic/rect.js +46 -43
  61. package/src/graphics/svg/Elements/Basic/text.js +29 -26
  62. package/src/graphics/svg/Elements/Derived/grid.js +8 -8
  63. package/src/graphics/svg/Elements/Derived/index.js +1 -0
  64. package/src/graphics/svg/Elements/index.js +2 -14
  65. package/src/graphics/svg/Elements/{ZikoSvgElement.js → ziko-svg-element.js} +48 -46
  66. package/src/graphics/svg/index.js +2 -2
  67. package/src/graphics/svg/svg.js +68 -114
  68. package/src/index.js +85 -84
  69. package/src/math/calculus/index.js +2 -2
  70. package/src/math/calculus/special-functions/bessel.js +30 -30
  71. package/src/math/calculus/special-functions/beta.js +37 -37
  72. package/src/math/calculus/special-functions/gamma.js +29 -29
  73. package/src/math/calculus/special-functions/index.js +4 -4
  74. package/src/math/complex/index.js +202 -202
  75. package/src/math/const.js +2 -2
  76. package/src/math/discret/Combinaison/index.js +33 -33
  77. package/src/math/discret/Conversion/index.js +85 -85
  78. package/src/math/discret/Logic/index.js +45 -45
  79. package/src/math/discret/Permutation/index.js +30 -30
  80. package/src/math/discret/Set/index.js +1 -1
  81. package/src/math/discret/Set/power-set.js +14 -14
  82. package/src/math/discret/Set/sub-set.js +10 -10
  83. package/src/math/discret/index.js +11 -11
  84. package/src/math/functions/index.js +161 -161
  85. package/src/math/index.js +32 -32
  86. package/src/math/matrix/Decomposition.js +90 -90
  87. package/src/math/matrix/LinearSystem.js +9 -9
  88. package/src/math/matrix/Matrix.js +716 -716
  89. package/src/math/matrix/index.js +2 -2
  90. package/src/math/random/index.js +172 -172
  91. package/src/math/signal/__np.py.txt +39 -39
  92. package/src/math/signal/conv.js +174 -174
  93. package/src/math/signal/fft.js +54 -54
  94. package/src/math/signal/filter.js +38 -38
  95. package/src/math/signal/functions.js +145 -145
  96. package/src/math/signal/index.js +109 -109
  97. package/src/math/statistics/Functions/index.js +99 -99
  98. package/src/math/statistics/index.js +15 -15
  99. package/src/math/utils/arithmetic.js +138 -138
  100. package/src/math/utils/checkers.js +29 -29
  101. package/src/math/utils/conversions.js +19 -19
  102. package/src/math/utils/discret.js +51 -51
  103. package/src/math/utils/index.js +101 -101
  104. package/src/math/utils/mapfun.js +49 -49
  105. package/src/reactivity/events/Input.js +61 -61
  106. package/src/reactivity/events/Pointer.js +231 -231
  107. package/src/reactivity/events/ZikoEvent.js +90 -90
  108. package/src/reactivity/events/click.js +59 -59
  109. package/src/reactivity/events/clipboard.js +87 -87
  110. package/src/reactivity/events/custom-event.js +56 -56
  111. package/src/reactivity/events/drag.js +136 -136
  112. package/src/reactivity/events/focus.js +58 -58
  113. package/src/reactivity/events/hash.js +46 -46
  114. package/src/reactivity/events/index.js +12 -63
  115. package/src/reactivity/events/key.js +101 -101
  116. package/src/reactivity/events/mouse.js +232 -232
  117. package/src/reactivity/events/swipe.js +149 -149
  118. package/src/reactivity/events/wheel.js +46 -46
  119. package/src/reactivity/hooks/{contexte → Contexte}/useSuccesifKeys.js +13 -13
  120. package/src/reactivity/hooks/{decorators → Decorators}/index.js +6 -6
  121. package/src/reactivity/hooks/{decorators → Decorators}/time.js +16 -16
  122. package/src/reactivity/hooks/{decorators → Decorators}/type.js +87 -87
  123. package/src/reactivity/hooks/{head/useCssText.js → Head/_useCssText.js} +20 -20
  124. package/src/reactivity/hooks/{head → Head}/index.js +5 -5
  125. package/src/reactivity/hooks/{head → Head}/useFavIcon.js +37 -37
  126. package/src/reactivity/hooks/{head → Head}/useHead.js +27 -27
  127. package/src/reactivity/hooks/{head → Head}/useMeta.js +52 -52
  128. package/src/reactivity/hooks/{head → Head}/useTitle.js +29 -29
  129. package/src/reactivity/hooks/{interactions/useBluetooth.js → Interactions/_useBluetooth.js} +47 -47
  130. package/src/reactivity/hooks/{interactions → Interactions}/index.js +4 -4
  131. package/src/reactivity/hooks/{interactions → Interactions}/useChannel.js +49 -49
  132. package/src/reactivity/hooks/{interactions → Interactions}/useEventEmmiter.js +63 -63
  133. package/src/reactivity/hooks/{interactions → Interactions}/useThread.js +43 -43
  134. package/src/reactivity/hooks/Sensors/index.js +2 -0
  135. package/src/reactivity/hooks/{sensors → Sensors}/useBattery.js +35 -35
  136. package/src/reactivity/hooks/{sensors → Sensors}/useGeolocation.js +16 -16
  137. package/src/reactivity/hooks/{storage → Storage}/useStorage.js +72 -72
  138. package/src/reactivity/hooks/{ui → UI}/index.js +6 -5
  139. package/src/reactivity/hooks/{ui → UI}/useMediaQuery.js +43 -43
  140. package/src/reactivity/hooks/UI/useRoot.js +39 -0
  141. package/src/reactivity/hooks/{ui → UI}/useStyle.js +79 -79
  142. package/src/reactivity/hooks/{ui → UI}/useTheme.js +61 -61
  143. package/src/reactivity/hooks/index.js +8 -91
  144. package/src/reactivity/hooks/todo.md +26 -26
  145. package/src/reactivity/idea +1 -1
  146. package/src/reactivity/index.js +11 -11
  147. package/src/reactivity/observer/attributes.js +28 -28
  148. package/src/reactivity/observer/children.js +36 -36
  149. package/src/reactivity/observer/index.js +6 -6
  150. package/src/reactivity/observer/intersection.js +43 -43
  151. package/src/reactivity/observer/mutation.js +112 -112
  152. package/src/reactivity/observer/resize.js +46 -46
  153. package/src/reactivity/observer/screen.js +44 -44
  154. package/src/reactivity/observer/screen.js.txt +83 -83
  155. package/src/reactivity/observer/screen.txt +12 -12
  156. package/src/time/animation.js +75 -75
  157. package/src/time/index.js +11 -11
  158. package/src/time/loop.js +87 -87
  159. package/src/time/utils/decorators.js +16 -16
  160. package/src/time/utils/ease.js +143 -143
  161. package/src/time/utils/index.js +17 -17
  162. package/src/time/utils/performance.js +15 -15
  163. package/src/time/utils/ui.js +25 -25
  164. package/src/types.js +73 -73
  165. package/src/ui/elements/derived/accordion/accordion.js +42 -42
  166. package/src/ui/elements/derived/accordion/collapsible.js +82 -82
  167. package/src/ui/elements/derived/accordion/index.js +1 -1
  168. package/src/ui/elements/derived/alert/alert.js +80 -80
  169. package/src/ui/elements/derived/alert/palette.js +51 -51
  170. package/src/ui/elements/derived/carousel/index.js +50 -50
  171. package/src/ui/elements/derived/code-note/SubElements.js.txt +104 -104
  172. package/src/ui/elements/derived/code-note/code-cell.js +194 -194
  173. package/src/ui/elements/derived/code-note/code-note.js +71 -71
  174. package/src/ui/elements/derived/code-note/index.js +1 -1
  175. package/src/ui/elements/derived/code-note/sub-elements.js +66 -66
  176. package/src/ui/elements/derived/elements/Swipper.js +3 -3
  177. package/src/ui/elements/derived/elements/index.js +9 -9
  178. package/src/ui/elements/derived/flex/index.js +102 -102
  179. package/src/ui/elements/derived/grid/index.js +32 -32
  180. package/src/ui/elements/derived/index.js +11 -11
  181. package/src/ui/elements/derived/menu/menu3d.js +259 -259
  182. package/src/ui/elements/derived/modal/index.js +91 -91
  183. package/src/ui/elements/derived/pagination/breadcrumbs.js +53 -53
  184. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +111 -111
  185. package/src/ui/elements/derived/slider/hSlider.js +33 -33
  186. package/src/ui/elements/derived/slider/index.js +11 -11
  187. package/src/ui/elements/derived/slider/vSlider.js +26 -26
  188. package/src/ui/elements/derived/splitter/__ZikoUISplitter__.js +61 -61
  189. package/src/ui/elements/derived/splitter/hsplitter.js +39 -39
  190. package/src/ui/elements/derived/splitter/index.js +11 -11
  191. package/src/ui/elements/derived/splitter/vsplitter.js +39 -39
  192. package/src/ui/elements/derived/tabs/index.js +179 -179
  193. package/src/ui/elements/primitives/ZikoUIContainerElement.js +163 -126
  194. package/src/ui/elements/primitives/ZikoUIElement.js +492 -492
  195. package/src/ui/elements/primitives/embaded/html.js +19 -19
  196. package/src/ui/elements/primitives/embaded/index.js +3 -3
  197. package/src/ui/elements/primitives/embaded/pdf.js +16 -16
  198. package/src/ui/elements/primitives/embaded/youtube.js +23 -23
  199. package/src/ui/elements/primitives/index.js +7 -7
  200. package/src/ui/elements/primitives/io/Form/index.js +41 -41
  201. package/src/ui/elements/primitives/io/Form/index.js.txt +104 -104
  202. package/src/ui/elements/primitives/io/Inputs/__helpers__.js +51 -51
  203. package/src/ui/elements/primitives/io/Inputs/index.js +12 -12
  204. package/src/ui/elements/primitives/io/Inputs/input/index.js +98 -98
  205. package/src/ui/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  206. package/src/ui/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  207. package/src/ui/elements/primitives/io/Inputs/input-color/index.js +15 -15
  208. package/src/ui/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  209. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  210. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  211. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  212. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +1 -1
  213. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  214. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  215. package/src/ui/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  216. package/src/ui/elements/primitives/io/Inputs/input-number/index.js +36 -36
  217. package/src/ui/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  218. package/src/ui/elements/primitives/io/Inputs/input-search/index.js +45 -45
  219. package/src/ui/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  220. package/src/ui/elements/primitives/io/Select/index.js +19 -19
  221. package/src/ui/elements/primitives/io/Textarea/index.js +17 -17
  222. package/src/ui/elements/primitives/io/index.js +3 -3
  223. package/src/ui/elements/primitives/list/index.js +138 -138
  224. package/src/ui/elements/primitives/media/Audio/index.js +16 -16
  225. package/src/ui/elements/primitives/media/Image/figure.js +18 -18
  226. package/src/ui/elements/primitives/media/Image/image.js +36 -36
  227. package/src/ui/elements/primitives/media/Image/index.js +1 -1
  228. package/src/ui/elements/primitives/media/Video/index.js +26 -26
  229. package/src/ui/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  230. package/src/ui/elements/primitives/media/index.js +2 -2
  231. package/src/ui/elements/primitives/misc/index.js +101 -101
  232. package/src/ui/elements/primitives/misc/xml-wrapper.js +3 -2
  233. package/src/ui/elements/primitives/semantic/index.js +81 -81
  234. package/src/ui/elements/primitives/table/elements.js +93 -93
  235. package/src/ui/elements/primitives/table/index.js +2 -2
  236. package/src/ui/elements/primitives/table/table.js +115 -115
  237. package/src/ui/elements/primitives/table/utils.js +11 -11
  238. package/src/ui/elements/primitives/text/__ZikoUIText__.js +71 -71
  239. package/src/ui/elements/primitives/text/heading.js +35 -35
  240. package/src/ui/elements/primitives/text/index.js +2 -2
  241. package/src/ui/elements/primitives/text/p.js +26 -26
  242. package/src/ui/elements/primitives/text/text.js +80 -80
  243. package/src/ui/index.js +37 -37
  244. package/src/ui/style/index.js +504 -515
  245. package/src/ui/utils/index.js +69 -69
  246. package/starter/bin/index.js +11 -11
  247. package/dist/ziko.cjs +0 -14018
  248. package/dist/ziko.js +0 -14028
  249. package/dist/ziko.min.js +0 -9
  250. package/dist/ziko.mjs +0 -13688
  251. package/src/graphics/canvas/elements/Groupe.js +0 -0
  252. package/src/graphics/canvas/elements/grid.js +0 -0
  253. package/src/graphics/canvas/filter/index.js +0 -0
  254. package/src/graphics/canvas/paint/index.js +0 -0
  255. package/src/reactivity/hooks/sensors/index.js +0 -2
  256. /package/src/reactivity/hooks/{contexte → Contexte}/index.js +0 -0
  257. /package/src/reactivity/hooks/{interactions → Interactions}/useSerial.js +0 -0
  258. /package/src/reactivity/hooks/{interactions → Interactions}/useUsb.js +0 -0
  259. /package/src/reactivity/hooks/{sensors → Sensors}/useCamera.js +0 -0
  260. /package/src/reactivity/hooks/{sensors → Sensors}/useMicro.js +0 -0
  261. /package/src/reactivity/hooks/{sensors → Sensors}/useOrientation.js +0 -0
  262. /package/src/reactivity/hooks/{storage → Storage}/index.js +0 -0
  263. /package/src/reactivity/hooks/{storage → Storage}/useCookie.js +0 -0
  264. /package/src/reactivity/hooks/{storage → Storage}/useIndexedDb.js +0 -0
  265. /package/src/reactivity/hooks/{ui → UI}/useCssLink.js +0 -0
  266. /package/src/reactivity/hooks/{ui → UI}/useLinearGradient.js +0 -0
  267. /package/src/reactivity/hooks/{ui → UI}/useRadialGradient.js +0 -0
@@ -1,3 +1,3 @@
1
- export * from "./Matrix.js"
2
- export * from "./Decomposition.js"
1
+ export * from "./Matrix.js"
2
+ export * from "./Decomposition.js"
3
3
  export * from "./LinearSystem.js"
@@ -1,173 +1,173 @@
1
-
2
- import{Complex}from"../complex/index.js"
3
- import { Utils } from "../utils/index.js";
4
- import{Base}from"../discret/index.js"
5
- import { matrix } from "../matrix/index.js";
6
- class Random {
7
- static float(a = 1, b) {
8
- return b ? Math.random() * (b - a) + a : a * Math.random();
9
- }
10
- static int(a, b) {
11
- return Math.floor(this.float(a, b));
12
- }
13
- static char(upperCase){
14
- upperCase=upperCase??this.bool();
15
- const Char=String.fromCharCode(this.int(97,120));
16
- return upperCase?Char.toUpperCase():Char;
17
- }
18
- static bool(){
19
- return [false,true][Math.floor(Math.random()*2)];
20
- }
21
- static string(length,upperCase){
22
- return length instanceof Array?
23
- new Array(this.int(...length)).fill(0).map(() => this.char(upperCase)).join(""):
24
- new Array(length).fill(0).map(() => this.char(upperCase)).join("");
25
- }
26
- static bin() {
27
- return this.int(2);
28
- }
29
- static oct() {
30
- return this.int(8);
31
- }
32
- static dec() {
33
- return this.int(8);
34
- }
35
- static hex() {
36
- return this.int(16);
37
- }
38
- static choice(choices = [1, 2, 3], p = new Array(choices.length).fill(1 / choices.length)) {
39
- let newchoice = new Array(100);
40
- p=Utils.accum(...p).map(n=>n*100)
41
- newchoice.fill(choices[0], 0, p[0]);
42
- for (let i = 1; i < choices.length; i++) newchoice.fill(choices[i], p[i - 1], p[i]);
43
- return newchoice[this.int(newchoice.length - 1)];
44
- }
45
- static shuffleArr(arr){
46
- return arr.sort(()=>0.5-Math.random())
47
- }
48
- static shuffleMatrix(M){
49
- const {rows,cols,arr}=M;
50
- return matrix(rows,cols,arr.flat().sort(()=>0.5-Math.random()))
51
- }
52
- static floats(n, a, b) {
53
- return new Array(n).fill(0).map(() => this.float(a, b));
54
- }
55
- static ints(n, a, b) {
56
- return new Array(n).fill(0).map(() => this.int(a, b));
57
- }
58
- static bools(n){
59
- return new Array(n).fill(0).map(() => this.bool());
60
- }
61
- static bins(n) {
62
- return new Array(n).fill(0).map(() => this.int(2));
63
- }
64
- static octs(n) {
65
- return new Array(n).fill(0).map(() => this.int(8));
66
- }
67
- static decs(n) {
68
- return new Array(n).fill(0).map(() => this.int(10));
69
- }
70
- static hexs(n) {
71
- return new Array(n).fill(0).map(() => this.int(16));
72
- }
73
- static choices(n, choices, p) {
74
- return new Array(n).fill(0).map(() => this.choice(choices, p));
75
- }
76
- static perm(...arr) {
77
- // permutation
78
- return arr.permS[this.int(arr.length)];
79
- }
80
- static color() {
81
- return "#" + Base.dec2hex(this.float(16777216)).padStart(6,0);
82
- }
83
- static colors(n) {
84
- return new Array(n).fill(null).map(()=>this.color());
85
- }
86
- static complex(a = [0,1], b = [0,1]) {
87
- return a instanceof Array?
88
- new Complex(
89
- this.float(a[0], a[1]),
90
- this.float(b[0], b[1])
91
- ):
92
- new Complex(
93
- ...this.floats(2,a,b)
94
- )
95
-
96
- }
97
- static complexInt(a = [0,1], b = [0,1]) {
98
- return new Complex(
99
- this.int(a[0], a[1]),
100
- this.int(b[0], b[1])
101
- );
102
- }
103
- static complexBin() {
104
- return new Complex(...this.bins(2));
105
- }
106
- static complexOct() {
107
- return new Complex(...this.octs(2));
108
- }
109
- static complexDec() {
110
- return new Complex(...this.decs(10));
111
- }
112
- static complexHex() {
113
- return new Complex(...this.octs(2));
114
- }
115
- static complexes(n, a = 0, b = 1) {
116
- return new Array(n).fill(0).map(() => this.complex(a, b));
117
- }
118
- static complexesInt(n, a = 0, b = 1) {
119
- return new Array(n).fill(0).map(() => this.complexInt(a, b));
120
- }
121
- static complexesBin(n) {
122
- return new Array(n).fill(0).map(() => this.complexBin());
123
- }
124
- static complexesOct(n) {
125
- return new Array(n).fill(0).map(() => this.complexOct());
126
- }
127
- static complexesDec(n) {
128
- return new Array(n).fill(0).map(() => this.complexDec());
129
- }
130
- static complexesHex(n) {
131
- return new Array(n).fill(0).map(() => this.complexHex());
132
- }
133
- static matrix(r,c,min,max){
134
- return matrix(r,c,this.floats(r*c,min,max))
135
- }
136
- static matrixInt(r,c,min,max){
137
- return matrix(r,c,this.ints(r*c,min,max))
138
- }
139
- static matrixBin(r,c){
140
- return matrix(r,c,this.bins(r*c))
141
- }
142
- static matrixOct(r,c){
143
- return matrix(r,c,this.octs(r*c))
144
- }
145
- static matrixDec(r,c){
146
- return matrix(r,c,this.decs(r*c))
147
- }
148
- static matrixHex(r,c){
149
- return matrix(r,c,this.hex(r*c))
150
- }
151
- static matrixColor(r,c){
152
- return matrix(r,c,this.colors(r*c))
153
- }
154
- static matrixComplex(r,c,a,b){
155
- return matrix(r,c,this.complexes(r*c,a,b))
156
- }
157
- static matrixComplexInt(r,c,a,b){
158
- return matrix(r,c,this.complexesInt(r*c,a,b))
159
- }
160
- static matrixComplexBin(r,c){
161
- return matrix(r,c,this.complexesBin(r*c))
162
- }
163
- static matrixComplexOct(r,c){
164
- return matrix(r,c,this.complexesBin(r*c))
165
- }
166
- static matrixComplexDec(r,c){
167
- return matrix(r,c,this.complexesBin(r*c))
168
- }
169
- static matrixComplexHex(r,c){
170
- return matrix(r,c,this.complexesBin(r*c))
171
- }
172
- }
1
+
2
+ import{Complex}from"../complex/index.js"
3
+ import { Utils } from "../utils/index.js";
4
+ import{Base}from"../discret/index.js"
5
+ import { matrix } from "../matrix/index.js";
6
+ class Random {
7
+ static float(a = 1, b) {
8
+ return b ? Math.random() * (b - a) + a : a * Math.random();
9
+ }
10
+ static int(a, b) {
11
+ return Math.floor(this.float(a, b));
12
+ }
13
+ static char(upperCase){
14
+ upperCase=upperCase??this.bool();
15
+ const Char=String.fromCharCode(this.int(97,120));
16
+ return upperCase?Char.toUpperCase():Char;
17
+ }
18
+ static bool(){
19
+ return [false,true][Math.floor(Math.random()*2)];
20
+ }
21
+ static string(length,upperCase){
22
+ return length instanceof Array?
23
+ new Array(this.int(...length)).fill(0).map(() => this.char(upperCase)).join(""):
24
+ new Array(length).fill(0).map(() => this.char(upperCase)).join("");
25
+ }
26
+ static bin() {
27
+ return this.int(2);
28
+ }
29
+ static oct() {
30
+ return this.int(8);
31
+ }
32
+ static dec() {
33
+ return this.int(8);
34
+ }
35
+ static hex() {
36
+ return this.int(16);
37
+ }
38
+ static choice(choices = [1, 2, 3], p = new Array(choices.length).fill(1 / choices.length)) {
39
+ let newchoice = new Array(100);
40
+ p=Utils.accum(...p).map(n=>n*100)
41
+ newchoice.fill(choices[0], 0, p[0]);
42
+ for (let i = 1; i < choices.length; i++) newchoice.fill(choices[i], p[i - 1], p[i]);
43
+ return newchoice[this.int(newchoice.length - 1)];
44
+ }
45
+ static shuffleArr(arr){
46
+ return arr.sort(()=>0.5-Math.random())
47
+ }
48
+ static shuffleMatrix(M){
49
+ const {rows,cols,arr}=M;
50
+ return matrix(rows,cols,arr.flat().sort(()=>0.5-Math.random()))
51
+ }
52
+ static floats(n, a, b) {
53
+ return new Array(n).fill(0).map(() => this.float(a, b));
54
+ }
55
+ static ints(n, a, b) {
56
+ return new Array(n).fill(0).map(() => this.int(a, b));
57
+ }
58
+ static bools(n){
59
+ return new Array(n).fill(0).map(() => this.bool());
60
+ }
61
+ static bins(n) {
62
+ return new Array(n).fill(0).map(() => this.int(2));
63
+ }
64
+ static octs(n) {
65
+ return new Array(n).fill(0).map(() => this.int(8));
66
+ }
67
+ static decs(n) {
68
+ return new Array(n).fill(0).map(() => this.int(10));
69
+ }
70
+ static hexs(n) {
71
+ return new Array(n).fill(0).map(() => this.int(16));
72
+ }
73
+ static choices(n, choices, p) {
74
+ return new Array(n).fill(0).map(() => this.choice(choices, p));
75
+ }
76
+ static perm(...arr) {
77
+ // permutation
78
+ return arr.permS[this.int(arr.length)];
79
+ }
80
+ static color() {
81
+ return "#" + Base.dec2hex(this.float(16777216)).padStart(6,0);
82
+ }
83
+ static colors(n) {
84
+ return new Array(n).fill(null).map(()=>this.color());
85
+ }
86
+ static complex(a = [0,1], b = [0,1]) {
87
+ return a instanceof Array?
88
+ new Complex(
89
+ this.float(a[0], a[1]),
90
+ this.float(b[0], b[1])
91
+ ):
92
+ new Complex(
93
+ ...this.floats(2,a,b)
94
+ )
95
+
96
+ }
97
+ static complexInt(a = [0,1], b = [0,1]) {
98
+ return new Complex(
99
+ this.int(a[0], a[1]),
100
+ this.int(b[0], b[1])
101
+ );
102
+ }
103
+ static complexBin() {
104
+ return new Complex(...this.bins(2));
105
+ }
106
+ static complexOct() {
107
+ return new Complex(...this.octs(2));
108
+ }
109
+ static complexDec() {
110
+ return new Complex(...this.decs(10));
111
+ }
112
+ static complexHex() {
113
+ return new Complex(...this.octs(2));
114
+ }
115
+ static complexes(n, a = 0, b = 1) {
116
+ return new Array(n).fill(0).map(() => this.complex(a, b));
117
+ }
118
+ static complexesInt(n, a = 0, b = 1) {
119
+ return new Array(n).fill(0).map(() => this.complexInt(a, b));
120
+ }
121
+ static complexesBin(n) {
122
+ return new Array(n).fill(0).map(() => this.complexBin());
123
+ }
124
+ static complexesOct(n) {
125
+ return new Array(n).fill(0).map(() => this.complexOct());
126
+ }
127
+ static complexesDec(n) {
128
+ return new Array(n).fill(0).map(() => this.complexDec());
129
+ }
130
+ static complexesHex(n) {
131
+ return new Array(n).fill(0).map(() => this.complexHex());
132
+ }
133
+ static matrix(r,c,min,max){
134
+ return matrix(r,c,this.floats(r*c,min,max))
135
+ }
136
+ static matrixInt(r,c,min,max){
137
+ return matrix(r,c,this.ints(r*c,min,max))
138
+ }
139
+ static matrixBin(r,c){
140
+ return matrix(r,c,this.bins(r*c))
141
+ }
142
+ static matrixOct(r,c){
143
+ return matrix(r,c,this.octs(r*c))
144
+ }
145
+ static matrixDec(r,c){
146
+ return matrix(r,c,this.decs(r*c))
147
+ }
148
+ static matrixHex(r,c){
149
+ return matrix(r,c,this.hex(r*c))
150
+ }
151
+ static matrixColor(r,c){
152
+ return matrix(r,c,this.colors(r*c))
153
+ }
154
+ static matrixComplex(r,c,a,b){
155
+ return matrix(r,c,this.complexes(r*c,a,b))
156
+ }
157
+ static matrixComplexInt(r,c,a,b){
158
+ return matrix(r,c,this.complexesInt(r*c,a,b))
159
+ }
160
+ static matrixComplexBin(r,c){
161
+ return matrix(r,c,this.complexesBin(r*c))
162
+ }
163
+ static matrixComplexOct(r,c){
164
+ return matrix(r,c,this.complexesBin(r*c))
165
+ }
166
+ static matrixComplexDec(r,c){
167
+ return matrix(r,c,this.complexesBin(r*c))
168
+ }
169
+ static matrixComplexHex(r,c){
170
+ return matrix(r,c,this.complexesBin(r*c))
171
+ }
172
+ }
173
173
  export{Random}
@@ -1,40 +1,40 @@
1
- import numpy as np
2
- lin_R=np.linspace(1,10,10,)
3
- lin_C=np.linspace(10j+1,10+1j,10)
4
- print("Linspace")
5
- print(lin_R)
6
- print("-"*70)
7
- print(lin_C)
8
- log_R=np.logspace(1,10,10, base = 2)
9
- log_C=np.logspace(10j+1,10+1j,10 , base = 2)
10
- print("-"*70)
11
- print("Logspace")
12
- print(log_R)
13
- print("-"*70)
14
- print(log_C)
15
- geo_R=np.geomspace(1,512,10)
16
- geo_C=np.geomspace(1+1j,512+512j,10)
17
- print("-"*70)
18
- print("geomspace")
19
- print(geo_R)
20
- print("-"*70)
21
- print(geo_C)
22
-
23
-
24
- # // const logspace=(a,b,n=b-a+1,base=E,endpoint=true)=>{
25
- # // if(a instanceof Complex||b instanceof Complex){
26
- # // a=complex(a);
27
- # // b=complex(b);
28
- # // n=n??abs(b.a-a.a)
29
- # // const X=linspace(a.a,b.a,n,base,endpoint);
30
- # // const Y=linspace(a.b,b.b,n,base,endpoint);
31
- # // const Z=new Array(X.length).fill(0)
32
- # // const ZZ=Z.map((n,i) => pow(base,complex(X[i],Y[i])));
33
- # // return ZZ;
34
- # // }
35
- # // const start=base**min(a,b);
36
- # // const stop=base**max(a,b);
37
- # // const y = linspace(ln(start) / ln(base), ln(stop) / ln(base), n, endpoint);
38
- # // const result=y.map(n => pow(base, n));
39
- # // return a<b?result:result.reverse();
1
+ import numpy as np
2
+ lin_R=np.linspace(1,10,10,)
3
+ lin_C=np.linspace(10j+1,10+1j,10)
4
+ print("Linspace")
5
+ print(lin_R)
6
+ print("-"*70)
7
+ print(lin_C)
8
+ log_R=np.logspace(1,10,10, base = 2)
9
+ log_C=np.logspace(10j+1,10+1j,10 , base = 2)
10
+ print("-"*70)
11
+ print("Logspace")
12
+ print(log_R)
13
+ print("-"*70)
14
+ print(log_C)
15
+ geo_R=np.geomspace(1,512,10)
16
+ geo_C=np.geomspace(1+1j,512+512j,10)
17
+ print("-"*70)
18
+ print("geomspace")
19
+ print(geo_R)
20
+ print("-"*70)
21
+ print(geo_C)
22
+
23
+
24
+ # // const logspace=(a,b,n=b-a+1,base=E,endpoint=true)=>{
25
+ # // if(a instanceof Complex||b instanceof Complex){
26
+ # // a=complex(a);
27
+ # // b=complex(b);
28
+ # // n=n??abs(b.a-a.a)
29
+ # // const X=linspace(a.a,b.a,n,base,endpoint);
30
+ # // const Y=linspace(a.b,b.b,n,base,endpoint);
31
+ # // const Z=new Array(X.length).fill(0)
32
+ # // const ZZ=Z.map((n,i) => pow(base,complex(X[i],Y[i])));
33
+ # // return ZZ;
34
+ # // }
35
+ # // const start=base**min(a,b);
36
+ # // const stop=base**max(a,b);
37
+ # // const y = linspace(ln(start) / ln(base), ln(stop) / ln(base), n, endpoint);
38
+ # // const result=y.map(n => pow(base, n));
39
+ # // return a<b?result:result.reverse();
40
40
  # // }