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,162 +1,162 @@
1
- import { Fixed } from "./helper.js";
2
- import { Complex } from "../complex/index.js";
3
- import { mapfun } from "../utils/mapfun.js";
4
- import {
5
- min,
6
- max
7
- }from "../statistics/index.js";
8
- import {
9
- gamma,
10
- bessel,
11
- beta
12
- } from "../calculus/index.js";
13
-
14
- const abs=(...x)=>mapfun(Math.abs,...x);
15
- const sqrt=(...x)=>mapfun(Math.sqrt,...x);
16
- const pow=(x,n)=>{
17
- if(typeof x === "number"){
18
- if(typeof n === "number")return Math.pow(x,n);
19
- else if(n instanceof Complex)return Complex.fromExpo(x**n.a,n.b*ln(x))
20
- else return mapfun(a=>pow(x,a),...n);
21
- }
22
- else if(x instanceof Complex){
23
- if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
24
- else if(n instanceof Complex)return Complex.fromExpo(
25
- x.z**n.a*e(-x.phi*n.b),
26
- ln(x.z)*n.b+n.a*x.phi
27
- )
28
- else return mapfun(a=>pow(x,a),...n);
29
- }
30
- else if(x instanceof Array){
31
- if(typeof n === "number") return mapfun(a=>pow(a,n),...x);
32
- else if(n instanceof Array){
33
- const Y=[];
34
- for(let i=0;i<x.length;i++){
35
- Y.push(mapfun(a=>pow(x[i],a),...n))
36
- }
37
- return Y;
38
- }
39
- }
40
- }
41
- const sqrtn=(x,n)=>{
42
- if(typeof x === "number"){
43
- if(typeof n === "number")return Math.pow(x,1/n);
44
- else return mapfun(a=>sqrtn(x,a),...n);
45
- }
46
- else if(x instanceof Complex){
47
- if(typeof n === "number")return Complex.fromExpo(sqrtn(x.z,n),x.phi/n);
48
- else return mapfun(a=>sqrtn(x,a),...n);
49
- }
50
- else if(x instanceof Array){
51
- if(typeof n === "number") return mapfun(a=>sqrtn(a,n),...x);
52
- else if(n instanceof Array){
53
- const Y=[];
54
- for(let i=0;i<x.length;i++){
55
- Y.push(mapfun(a=>sqrtn(x[i],a),...n))
56
- }
57
- return Y;
58
- }
59
- }
60
- }
61
- const e=(...x)=>mapfun(Math.exp,...x);
62
- const ln=(...x)=>mapfun(Math.log,...x);
63
- const cos=(...x)=>mapfun(Fixed.cos,...x);
64
- const sin=(...x)=>mapfun(Fixed.sin,...x);
65
- const tan=(...x)=>mapfun(Fixed.tan,...x);
66
- const sec=(...x)=>mapfun(Fixed.sec,...x);
67
- const sinc=(...x)=>mapfun(Fixed.sinc,...x)
68
- const csc=(...x)=>mapfun(Fixed.csc,...x);
69
- const cot=(...x)=>mapfun(Fixed.cot,...x);
70
- const acos=(...x)=>mapfun(Fixed.acos,...x);
71
- const asin=(...x)=>mapfun(Fixed.asin,...x);
72
- const atan=(...x)=>mapfun(Fixed.atan,...x);
73
- const acot=(...x)=>mapfun(Fixed.acot,...x);
74
- const cosh=(...x)=>mapfun(Fixed.cosh,...x);
75
- const sinh=(...x)=>mapfun(Fixed.sinh,...x);
76
- const tanh=(...x)=>mapfun(Fixed.tanh,...x);
77
- const coth=(...x)=>mapfun(Fixed.coth,...x);
78
- const acosh=(...x)=>mapfun(Fixed.acosh,...x);
79
- const asinh=(...x)=>mapfun(Fixed.asinh,...x);
80
- const atanh=(...x)=>mapfun(Fixed.atanh,...x);
81
- const ceil=(...x)=>mapfun(Math.ceil,...x);
82
- const floor=(...x)=>mapfun(Math.floor,...x);
83
- const round=(...x)=>mapfun(Math.round,...x);
84
- const atan2=(x,y,rad=true)=>{
85
- if(typeof x === "number"){
86
- if(typeof y === "number")return rad?Math.atan2(x,y):Math.atan2(x,y)*180/Math.PI;
87
- else return mapfun(a=>atan2(x,a,rad),...y);
88
- }
89
- // else if(x instanceof Complex){
90
- // if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
91
- // else return mapfun(a=>pow(x,a),...n);
92
- // }
93
- else if(x instanceof Array){
94
- if(typeof y === "number") return mapfun(a=>atan2(a,y,rad),...x);
95
- else if(y instanceof Array){
96
- const Y=[];
97
- for(let i=0;i<x.length;i++){
98
- Y.push(mapfun(a=>pow(x[i],a,rad),...y))
99
- }
100
- return Y;
101
- }
102
- }
103
- }
104
- const fact=(...x)=>mapfun(n=> {
105
- let i,
106
- y = 1;
107
- if (n == 0) y = 1;
108
- else if (n > 0) for (i = 1; i <= n; i++) y *= i;
109
- else y = NaN;
110
- return y;
111
- },...x);
112
- const sign=(...x)=>mapfun(Math.sign,...x);
113
-
114
- const sig=(...x)=>mapfun(n=>1/(1+e(-n)),...x);
115
-
116
- const hypot=(...x)=>{
117
- if(x.every(n=>typeof n === "number"))return Math.hypot(...x);
118
- if(x.every(n=>n instanceof Array))return mapfun(
119
- Math.hypot,
120
- ...x
121
- )
122
- }
123
-
124
- export{
125
- cos,
126
- sin,
127
- tan,
128
- sinc,
129
- cot,
130
- sec,
131
- csc,
132
- abs,
133
- sqrt,
134
- pow,
135
- sqrtn,
136
- e,
137
- ln,
138
- acos,
139
- asin,
140
- atan,
141
- acot,
142
- cosh,
143
- sinh,
144
- tanh,
145
- coth,
146
- acosh,
147
- asinh,
148
- atanh,
149
- min,
150
- max,
151
- sign,
152
- floor,
153
- ceil,
154
- round,
155
- fact,
156
- hypot,
157
- sig,
158
- atan2,
159
- gamma,
160
- bessel,
161
- beta
1
+ import { Fixed } from "./helper.js";
2
+ import { Complex } from "../complex/index.js";
3
+ import { mapfun } from "../utils/mapfun.js";
4
+ import {
5
+ min,
6
+ max
7
+ }from "../statistics/index.js";
8
+ import {
9
+ gamma,
10
+ bessel,
11
+ beta
12
+ } from "../calculus/index.js";
13
+
14
+ const abs=(...x)=>mapfun(Math.abs,...x);
15
+ const sqrt=(...x)=>mapfun(Math.sqrt,...x);
16
+ const pow=(x,n)=>{
17
+ if(typeof x === "number"){
18
+ if(typeof n === "number")return Math.pow(x,n);
19
+ else if(n instanceof Complex)return Complex.fromExpo(x**n.a,n.b*ln(x))
20
+ else return mapfun(a=>pow(x,a),...n);
21
+ }
22
+ else if(x instanceof Complex){
23
+ if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
24
+ else if(n instanceof Complex)return Complex.fromExpo(
25
+ x.z**n.a*e(-x.phi*n.b),
26
+ ln(x.z)*n.b+n.a*x.phi
27
+ )
28
+ else return mapfun(a=>pow(x,a),...n);
29
+ }
30
+ else if(x instanceof Array){
31
+ if(typeof n === "number") return mapfun(a=>pow(a,n),...x);
32
+ else if(n instanceof Array){
33
+ const Y=[];
34
+ for(let i=0;i<x.length;i++){
35
+ Y.push(mapfun(a=>pow(x[i],a),...n))
36
+ }
37
+ return Y;
38
+ }
39
+ }
40
+ }
41
+ const sqrtn=(x,n)=>{
42
+ if(typeof x === "number"){
43
+ if(typeof n === "number")return Math.pow(x,1/n);
44
+ else return mapfun(a=>sqrtn(x,a),...n);
45
+ }
46
+ else if(x instanceof Complex){
47
+ if(typeof n === "number")return Complex.fromExpo(sqrtn(x.z,n),x.phi/n);
48
+ else return mapfun(a=>sqrtn(x,a),...n);
49
+ }
50
+ else if(x instanceof Array){
51
+ if(typeof n === "number") return mapfun(a=>sqrtn(a,n),...x);
52
+ else if(n instanceof Array){
53
+ const Y=[];
54
+ for(let i=0;i<x.length;i++){
55
+ Y.push(mapfun(a=>sqrtn(x[i],a),...n))
56
+ }
57
+ return Y;
58
+ }
59
+ }
60
+ }
61
+ const e=(...x)=>mapfun(Math.exp,...x);
62
+ const ln=(...x)=>mapfun(Math.log,...x);
63
+ const cos=(...x)=>mapfun(Fixed.cos,...x);
64
+ const sin=(...x)=>mapfun(Fixed.sin,...x);
65
+ const tan=(...x)=>mapfun(Fixed.tan,...x);
66
+ const sec=(...x)=>mapfun(Fixed.sec,...x);
67
+ const sinc=(...x)=>mapfun(Fixed.sinc,...x)
68
+ const csc=(...x)=>mapfun(Fixed.csc,...x);
69
+ const cot=(...x)=>mapfun(Fixed.cot,...x);
70
+ const acos=(...x)=>mapfun(Fixed.acos,...x);
71
+ const asin=(...x)=>mapfun(Fixed.asin,...x);
72
+ const atan=(...x)=>mapfun(Fixed.atan,...x);
73
+ const acot=(...x)=>mapfun(Fixed.acot,...x);
74
+ const cosh=(...x)=>mapfun(Fixed.cosh,...x);
75
+ const sinh=(...x)=>mapfun(Fixed.sinh,...x);
76
+ const tanh=(...x)=>mapfun(Fixed.tanh,...x);
77
+ const coth=(...x)=>mapfun(Fixed.coth,...x);
78
+ const acosh=(...x)=>mapfun(Fixed.acosh,...x);
79
+ const asinh=(...x)=>mapfun(Fixed.asinh,...x);
80
+ const atanh=(...x)=>mapfun(Fixed.atanh,...x);
81
+ const ceil=(...x)=>mapfun(Math.ceil,...x);
82
+ const floor=(...x)=>mapfun(Math.floor,...x);
83
+ const round=(...x)=>mapfun(Math.round,...x);
84
+ const atan2=(x,y,rad=true)=>{
85
+ if(typeof x === "number"){
86
+ if(typeof y === "number")return rad?Math.atan2(x,y):Math.atan2(x,y)*180/Math.PI;
87
+ else return mapfun(a=>atan2(x,a,rad),...y);
88
+ }
89
+ // else if(x instanceof Complex){
90
+ // if(typeof n === "number")return Complex.fromExpo(x.z**n,x.phi*n);
91
+ // else return mapfun(a=>pow(x,a),...n);
92
+ // }
93
+ else if(x instanceof Array){
94
+ if(typeof y === "number") return mapfun(a=>atan2(a,y,rad),...x);
95
+ else if(y instanceof Array){
96
+ const Y=[];
97
+ for(let i=0;i<x.length;i++){
98
+ Y.push(mapfun(a=>pow(x[i],a,rad),...y))
99
+ }
100
+ return Y;
101
+ }
102
+ }
103
+ }
104
+ const fact=(...x)=>mapfun(n=> {
105
+ let i,
106
+ y = 1;
107
+ if (n == 0) y = 1;
108
+ else if (n > 0) for (i = 1; i <= n; i++) y *= i;
109
+ else y = NaN;
110
+ return y;
111
+ },...x);
112
+ const sign=(...x)=>mapfun(Math.sign,...x);
113
+
114
+ const sig=(...x)=>mapfun(n=>1/(1+e(-n)),...x);
115
+
116
+ const hypot=(...x)=>{
117
+ if(x.every(n=>typeof n === "number"))return Math.hypot(...x);
118
+ if(x.every(n=>n instanceof Array))return mapfun(
119
+ Math.hypot,
120
+ ...x
121
+ )
122
+ }
123
+
124
+ export{
125
+ cos,
126
+ sin,
127
+ tan,
128
+ sinc,
129
+ cot,
130
+ sec,
131
+ csc,
132
+ abs,
133
+ sqrt,
134
+ pow,
135
+ sqrtn,
136
+ e,
137
+ ln,
138
+ acos,
139
+ asin,
140
+ atan,
141
+ acot,
142
+ cosh,
143
+ sinh,
144
+ tanh,
145
+ coth,
146
+ acosh,
147
+ asinh,
148
+ atanh,
149
+ min,
150
+ max,
151
+ sign,
152
+ floor,
153
+ ceil,
154
+ round,
155
+ fact,
156
+ hypot,
157
+ sig,
158
+ atan2,
159
+ gamma,
160
+ bessel,
161
+ beta
162
162
  };
package/src/math/index.js CHANGED
@@ -1,32 +1,32 @@
1
- import * as __Const__ from "./const.js"
2
- import * as __Functions__ from "./functions"
3
- import * as __Signal__ from "./const.js"
4
- import * as __Random__ from "./random"
5
- //import { Derivation } from "./Numeric";
6
- import * as __Complex__ from "./complex"
7
- import * as __Matrix__ from "./matrix"
8
- import * as __Discrect__ from "./discret"
9
- import * as __Utils__ from "./utils"
10
- import * as __Calculus__ from "./calculus"
11
- const Math = {
12
- ...__Const__,
13
- ...__Functions__,
14
- ...__Complex__,
15
- ...__Matrix__,
16
- ...__Utils__,
17
- ...__Discrect__,
18
- ...__Signal__,
19
- ...__Calculus__,
20
- }
21
- export * from "./const.js"
22
- export * from "./functions"
23
- export * from "./complex"
24
- export * from "./matrix"
25
- export * from "./discret"
26
- export * from "./numeric"
27
- export * from "./random"
28
- export * from "./signal"
29
- export * from "./utils"
30
- export * from "./statistics"
31
- export default Math;
32
-
1
+ import * as __Const__ from "./const.js"
2
+ import * as __Functions__ from "./functions"
3
+ // import * as __Signal__ from "./const.js"
4
+ import * as __Random__ from "./random"
5
+ //import { Derivation } from "./Numeric";
6
+ import * as __Complex__ from "./complex"
7
+ import * as __Matrix__ from "./matrix"
8
+ import * as __Discrect__ from "./discret"
9
+ import * as __Utils__ from "./utils"
10
+ import * as __Calculus__ from "./calculus"
11
+ const Math = {
12
+ ...__Const__,
13
+ ...__Functions__,
14
+ ...__Complex__,
15
+ ...__Matrix__,
16
+ ...__Utils__,
17
+ ...__Discrect__,
18
+ // ...__Signal__,
19
+ ...__Calculus__,
20
+ }
21
+ export * from "./const.js"
22
+ export * from "./functions"
23
+ export * from "./complex"
24
+ export * from "./matrix"
25
+ export * from "./discret"
26
+ export * from "./numeric"
27
+ export * from "./random"
28
+ // export * from "./signal"
29
+ export * from "./utils"
30
+ export * from "./statistics"
31
+ export default Math;
32
+
@@ -1,90 +1,90 @@
1
- import { Matrix } from "./Matrix.js";
2
- const luDecomposition=matrix=>{
3
- if(matrix instanceof Matrix)matrix=matrix.arr;
4
- const n = matrix.length;
5
- const L = new Array(n).fill(0).map(() => new Array(n).fill(0));
6
- const U = new Array(n).fill(0).map(() => new Array(n).fill(0));
7
- for (let i = 0; i < n; i++) {
8
- // Upper Triangular
9
- for (let k = i; k < n; k++) {
10
- // Summation of L(i, j) * U(j, k)
11
- let sum = 0;
12
- for (let j = 0; j < i; j++) {
13
- sum += (L[i][j] * U[j][k]);
14
- }
15
- U[i][k] = matrix[i][k] - sum;
16
- }
17
- // Lower Triangular
18
- for (let k = i; k < n; k++) {
19
- if (i == k) {
20
- L[i][i] = 1; // Diagonal as 1
21
- } else {
22
- // Summation of L(k, j) * U(j, i)
23
- let sum = 0;
24
- for (let j = 0; j < i; j++) {
25
- sum += (L[k][j] * U[j][i]);
26
- }
27
- // Evaluate L(k, i)
28
- L[k][i] = (matrix[k][i] - sum) / U[i][i];
29
- }
30
- }
31
- }
32
- return [L, U].map(n=>new Matrix(n));
33
- }
34
- const dotProduct=(v1, v2)=>v1.reduce((sum, el, i) => sum + el * v2[i], 0);
35
- const magnitude=vector=>Math.sqrt(vector.reduce((sum, el) => sum + el * el, 0));
36
- const normalize=vector=>vector.map(el => el / magnitude(vector));
37
- const qrDecomposition=matrix=>{
38
- if(matrix instanceof Matrix)matrix=matrix.arr;
39
- const m = matrix.length;
40
- const n = matrix[0].length;
41
- const Q = [];
42
- const R = [];
43
- // Initialize R as an m x n matrix of zeroes
44
- for (let i = 0; i < m; i++) {
45
- R.push(new Array(n).fill(0));
46
- }
47
- for (let j = 0; j < n; j++) {
48
- let v = matrix.map(row => row[j]);
49
- for (let i = 0; i < j; i++) {
50
- const q = Q[i];
51
- const r_ij = dotProduct(q, matrix.map(row => row[j]));
52
- for (let k = 0; k < m; k++) {
53
- v[k] -= r_ij * q[k];
54
- }
55
- R[i][j] = r_ij;
56
- }
57
- const v_mag = magnitude(v);
58
- Q.push(normalize(v));
59
- R[j][j] = v_mag;
60
- }
61
- return [Q, R].map(n=>new Matrix(n));
62
- }
63
-
64
- const choleskyDecomposition=matrix=>{
65
- if(matrix instanceof Matrix)matrix=matrix.arr;
66
- const n = matrix.length;
67
- const L = new Array(n).fill(0).map(() => new Array(n).fill(0));
68
- for (let i = 0; i < n; i++) {
69
- for (let j = 0; j <= i; j++) {
70
- let sum = 0;
71
- for (let k = 0; k < j; k++) {
72
- sum += L[i][k] * L[j][k];
73
- }
74
-
75
- if (i === j) {
76
- L[i][j] = Math.sqrt(matrix[i][i] - sum);
77
- } else {
78
- L[i][j] = (1.0 / L[j][j] * (matrix[i][j] - sum));
79
- }
80
- }
81
- }
82
- return new Matrix(L);
83
- }
84
-
85
-
86
- export {
87
- luDecomposition,
88
- qrDecomposition,
89
- choleskyDecomposition
90
- }
1
+ import { Matrix } from "./Matrix.js";
2
+ const luDecomposition=matrix=>{
3
+ if(matrix instanceof Matrix)matrix=matrix.arr;
4
+ const n = matrix.length;
5
+ const L = new Array(n).fill(0).map(() => new Array(n).fill(0));
6
+ const U = new Array(n).fill(0).map(() => new Array(n).fill(0));
7
+ for (let i = 0; i < n; i++) {
8
+ // Upper Triangular
9
+ for (let k = i; k < n; k++) {
10
+ // Summation of L(i, j) * U(j, k)
11
+ let sum = 0;
12
+ for (let j = 0; j < i; j++) {
13
+ sum += (L[i][j] * U[j][k]);
14
+ }
15
+ U[i][k] = matrix[i][k] - sum;
16
+ }
17
+ // Lower Triangular
18
+ for (let k = i; k < n; k++) {
19
+ if (i == k) {
20
+ L[i][i] = 1; // Diagonal as 1
21
+ } else {
22
+ // Summation of L(k, j) * U(j, i)
23
+ let sum = 0;
24
+ for (let j = 0; j < i; j++) {
25
+ sum += (L[k][j] * U[j][i]);
26
+ }
27
+ // Evaluate L(k, i)
28
+ L[k][i] = (matrix[k][i] - sum) / U[i][i];
29
+ }
30
+ }
31
+ }
32
+ return [L, U].map(n=>new Matrix(n));
33
+ }
34
+ const dotProduct=(v1, v2)=>v1.reduce((sum, el, i) => sum + el * v2[i], 0);
35
+ const magnitude=vector=>Math.sqrt(vector.reduce((sum, el) => sum + el * el, 0));
36
+ const normalize=vector=>vector.map(el => el / magnitude(vector));
37
+ const qrDecomposition=matrix=>{
38
+ if(matrix instanceof Matrix)matrix=matrix.arr;
39
+ const m = matrix.length;
40
+ const n = matrix[0].length;
41
+ const Q = [];
42
+ const R = [];
43
+ // Initialize R as an m x n matrix of zeroes
44
+ for (let i = 0; i < m; i++) {
45
+ R.push(new Array(n).fill(0));
46
+ }
47
+ for (let j = 0; j < n; j++) {
48
+ let v = matrix.map(row => row[j]);
49
+ for (let i = 0; i < j; i++) {
50
+ const q = Q[i];
51
+ const r_ij = dotProduct(q, matrix.map(row => row[j]));
52
+ for (let k = 0; k < m; k++) {
53
+ v[k] -= r_ij * q[k];
54
+ }
55
+ R[i][j] = r_ij;
56
+ }
57
+ const v_mag = magnitude(v);
58
+ Q.push(normalize(v));
59
+ R[j][j] = v_mag;
60
+ }
61
+ return [Q, R].map(n=>new Matrix(n));
62
+ }
63
+
64
+ const choleskyDecomposition=matrix=>{
65
+ if(matrix instanceof Matrix)matrix=matrix.arr;
66
+ const n = matrix.length;
67
+ const L = new Array(n).fill(0).map(() => new Array(n).fill(0));
68
+ for (let i = 0; i < n; i++) {
69
+ for (let j = 0; j <= i; j++) {
70
+ let sum = 0;
71
+ for (let k = 0; k < j; k++) {
72
+ sum += L[i][k] * L[j][k];
73
+ }
74
+
75
+ if (i === j) {
76
+ L[i][j] = Math.sqrt(matrix[i][i] - sum);
77
+ } else {
78
+ L[i][j] = (1.0 / L[j][j] * (matrix[i][j] - sum));
79
+ }
80
+ }
81
+ }
82
+ return new Matrix(L);
83
+ }
84
+
85
+
86
+ export {
87
+ luDecomposition,
88
+ qrDecomposition,
89
+ choleskyDecomposition
90
+ }
@@ -1,10 +1,10 @@
1
- import { Matrix } from "./Matrix.js";
2
- class LinearSystem {
3
- static resolve(A, B) {
4
- return A.inv
5
- .dot(Matrix.fromVector(B))
6
- .arr.flat(1)
7
- .map((n) => +n.toFixed(10));
8
- }
9
- }
1
+ import { Matrix } from "./Matrix.js";
2
+ class LinearSystem {
3
+ static resolve(A, B) {
4
+ return A.inv
5
+ .dot(Matrix.fromVector(B))
6
+ .arr.flat(1)
7
+ .map((n) => +n.toFixed(10));
8
+ }
9
+ }
10
10
  export { LinearSystem }