ziko 0.0.13 → 0.0.15
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.
- package/dist/ziko.cjs +13310 -11794
- package/dist/ziko.js +13868 -12352
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +13286 -11774
- package/package.json +5 -4
- package/src/__helpers__/index.js +61 -41
- package/src/app/index.js +20 -12
- package/src/app/json-style-sheet.js +64 -0
- package/src/app/routes.js +58 -0
- package/src/app/spa.js +56 -0
- package/src/app/ziko-app.js +39 -0
- package/src/data/api/fetchdom.js +13 -13
- package/src/data/api/index.js +3 -3
- package/src/data/api/preload.js +10 -10
- package/src/data/converter/adoc.js +130 -130
- package/src/data/converter/array.js +42 -42
- package/src/data/converter/canvas.js +24 -24
- package/src/data/converter/css.js +37 -0
- package/src/data/converter/csv.js +32 -32
- package/src/data/converter/idea.txt +9 -9
- package/src/data/converter/index.js +37 -34
- package/src/data/converter/json.js +80 -80
- package/src/data/converter/markdown.js +95 -95
- package/src/data/converter/object.js +69 -69
- package/src/data/converter/svg.js +10 -10
- package/src/data/index.js +16 -73
- package/src/data/parser/index.js +1 -0
- package/src/data/parser/xml.js +46 -46
- package/src/data/string/patterns.js +11 -11
- package/src/data/string/string.js +169 -169
- package/src/{app/app.js → global/app/index.js} +45 -45
- package/src/{app → global}/component/index.js +38 -38
- package/src/global/globals/index.js +20 -0
- package/src/global/index.js +12 -0
- package/src/global/params/index.js +40 -0
- package/src/{app → global}/router/index.js +66 -66
- package/src/{app → global}/seo/index.js +42 -42
- package/src/global/style/index.js +1 -0
- package/src/{app → global}/themes/dark.js +884 -884
- package/src/{app → global}/themes/index.js +10 -10
- package/src/{app → global}/themes/light.js +254 -254
- package/src/graphics/canvas/canvas.js +188 -188
- package/src/graphics/canvas/elements/Basic/arc.js +42 -42
- package/src/graphics/canvas/elements/Basic/line.js +25 -25
- package/src/graphics/canvas/elements/Basic/points.js +47 -47
- package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
- package/src/graphics/canvas/elements/Basic/rect.js +45 -45
- package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
- package/src/graphics/canvas/elements/Element.js +114 -114
- package/src/graphics/canvas/elements/index.js +12 -12
- package/src/graphics/canvas/index.js +14 -14
- package/src/graphics/canvas/utils/color.js +7 -7
- package/src/graphics/canvas/utils/floodFill.js +57 -57
- package/src/graphics/index.js +68 -68
- package/src/graphics/svg/Elements/Basic/circle.js +25 -25
- package/src/graphics/svg/Elements/Basic/ellipse.js +20 -20
- package/src/graphics/svg/Elements/Basic/foreignObject.js +32 -32
- package/src/graphics/svg/Elements/Basic/groupe.js +29 -29
- package/src/graphics/svg/Elements/Basic/image.js +32 -32
- package/src/graphics/svg/Elements/Basic/line.js +28 -28
- package/src/graphics/svg/Elements/Basic/link.js +30 -30
- package/src/graphics/svg/Elements/Basic/path.js +58 -58
- package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
- package/src/graphics/svg/Elements/Basic/polyline.js +3 -3
- package/src/graphics/svg/Elements/Basic/rect.js +42 -42
- package/src/graphics/svg/Elements/Basic/text.js +25 -25
- package/src/graphics/svg/Elements/Derived/grid.js +8 -8
- package/src/graphics/svg/Elements/ZikoSvgElement.js +46 -46
- package/src/graphics/svg/Elements/index.js +14 -14
- package/src/graphics/svg/index.js +1 -1
- package/src/graphics/svg/svg.js +114 -114
- package/src/index.js +83 -88
- package/src/math/calculus/derivation/index.js +7 -0
- package/src/math/calculus/index.js +2 -1
- package/src/math/calculus/special-functions/bessel.js +30 -30
- package/src/math/calculus/special-functions/beta.js +37 -37
- package/src/math/calculus/special-functions/gamma.js +29 -29
- package/src/math/calculus/special-functions/index.js +4 -4
- package/src/math/complex/index.js +202 -202
- package/src/math/const.js +2 -2
- package/src/math/discret/Combinaison/index.js +33 -33
- package/src/math/discret/Conversion/index.js +85 -85
- package/src/math/discret/Logic/index.js +45 -45
- package/src/math/discret/Permutation/index.js +30 -30
- package/src/math/discret/Set/index.js +1 -1
- package/src/math/discret/Set/power-set.js +14 -14
- package/src/math/discret/Set/sub-set.js +10 -10
- package/src/math/discret/index.js +12 -23
- package/src/math/functions/helper.js +20 -0
- package/src/math/functions/index.js +161 -181
- package/src/math/index.js +32 -189
- package/src/math/matrix/Decomposition.js +90 -90
- package/src/math/matrix/LinearSystem.js +9 -9
- package/src/math/matrix/Matrix.js +716 -716
- package/src/math/matrix/index.js +2 -2
- package/src/math/random/index.js +172 -172
- package/src/math/signal/__np.py.txt +39 -39
- package/src/math/signal/conv.js +174 -174
- package/src/math/signal/fft.js +54 -54
- package/src/math/signal/filter.js +38 -38
- package/src/math/signal/functions.js +145 -145
- package/src/math/signal/index.js +109 -109
- package/src/math/statistics/Functions/index.js +99 -99
- package/src/math/statistics/index.js +15 -15
- package/src/math/utils/arithmetic.js +138 -138
- package/src/math/utils/checkers.js +29 -29
- package/src/math/utils/conversions.js +19 -19
- package/src/math/utils/discret.js +51 -51
- package/src/math/utils/index.js +101 -101
- package/src/math/utils/mapfun.js +49 -49
- package/src/reactivity/events/{Partiel/Input.js → Input.js} +62 -59
- package/src/reactivity/events/{Global/Pointer.js → Pointer.js} +232 -234
- package/src/reactivity/events/ZikoEvent.js +90 -90
- package/src/reactivity/events/{Global/Click.js → click.js} +60 -56
- package/src/reactivity/events/{Global/Clipboard.js → clipboard.js} +88 -84
- package/src/reactivity/events/{Global/CustomEvent.js → custom-event.js} +57 -53
- package/src/reactivity/events/{Global/Drag.js → drag.js} +136 -136
- package/src/reactivity/events/{Global/Focus.js → focus.js} +59 -56
- package/src/reactivity/events/{Partiel/Hash.js → hash.js} +47 -44
- package/src/reactivity/events/index.js +62 -62
- package/src/reactivity/events/{Global/Key.js → key.js} +102 -104
- package/src/reactivity/events/{Global/Mouse.js → mouse.js} +233 -230
- package/src/reactivity/events/{Global/Swipe.js → swipe.js} +149 -147
- package/src/reactivity/events/{Global/Wheel.js → wheel.js} +47 -44
- package/src/reactivity/hooks/{Contexte → contexte}/useSuccesifKeys.js +13 -13
- package/src/reactivity/hooks/{Decorators → decorators}/index.js +6 -6
- package/src/reactivity/hooks/{Decorators → decorators}/time.js +16 -16
- package/src/reactivity/hooks/{Decorators → decorators}/type.js +87 -87
- package/src/reactivity/hooks/head/index.js +5 -0
- package/src/reactivity/hooks/{UI → head}/useCssText.js +21 -21
- package/src/reactivity/hooks/{UI → head}/useFavIcon.js +37 -37
- package/src/reactivity/hooks/head/useHead.js +28 -0
- package/src/reactivity/hooks/head/useMeta.js +52 -0
- package/src/reactivity/hooks/{UI → head}/useTitle.js +29 -29
- package/src/reactivity/hooks/index.js +91 -85
- package/src/reactivity/hooks/{Interactions → interactions}/index.js +3 -3
- package/src/reactivity/hooks/{Interactions → interactions}/useBluetooth.js +47 -47
- package/src/reactivity/hooks/{Interactions → interactions}/useChannel.js +49 -49
- package/src/reactivity/hooks/{Interactions → interactions}/useEventEmmiter.js +63 -63
- package/src/reactivity/hooks/{Interactions → interactions}/useThread.js +43 -43
- package/src/reactivity/hooks/sensors/index.js +2 -0
- package/src/reactivity/hooks/{Sensors → sensors}/useBattery.js +35 -35
- package/src/reactivity/hooks/{Sensors → sensors}/useGeolocation.js +16 -16
- package/src/reactivity/hooks/{Storage → storage}/useStorage.js +72 -72
- package/src/reactivity/hooks/todo.md +26 -26
- package/src/reactivity/hooks/ui/index.js +5 -0
- package/src/reactivity/hooks/{UI → ui}/useMediaQuery.js +43 -43
- package/src/reactivity/hooks/{UI → ui}/useStyle.js +79 -79
- package/src/reactivity/hooks/{UI → ui}/useTheme.js +61 -61
- package/src/reactivity/idea +1 -1
- package/src/reactivity/index.js +11 -21
- package/src/reactivity/observer/attributes.js +28 -28
- package/src/reactivity/observer/children.js +36 -36
- package/src/reactivity/observer/index.js +6 -44
- package/src/reactivity/observer/intersection.js +43 -43
- package/src/reactivity/observer/mutation.js +112 -112
- package/src/reactivity/observer/resize.js +46 -46
- package/src/reactivity/observer/screen.js +44 -44
- package/src/reactivity/observer/screen.js.txt +83 -83
- package/src/reactivity/observer/screen.txt +12 -12
- package/src/time/animation.js +75 -75
- package/src/time/index.js +12 -54
- package/src/time/loop.js +87 -87
- package/src/time/utils/decorators.js +16 -16
- package/src/time/utils/ease.js +143 -143
- package/src/time/utils/index.js +17 -17
- package/src/time/utils/performance.js +15 -15
- package/src/time/utils/ui.js +25 -25
- package/src/types.js +73 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/accordion.js +42 -45
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/collapsible.js +82 -82
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/index.js +1 -1
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/alert.js +80 -80
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/palette.js +51 -51
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/carousel/index.js +50 -49
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/SubElements.js.txt +104 -104
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-cell.js +194 -194
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-note.js +71 -71
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/index.js +1 -1
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/sub-elements.js +66 -66
- package/src/{user-interface → ui}/elements/derived/elements/Swipper.js +3 -3
- package/src/{user-interface → ui}/elements/derived/elements/index.js +9 -9
- package/src/{user-interface/elements/derived/Flex.js → ui/elements/derived/flex/index.js} +102 -102
- package/src/{user-interface/elements/derived/Grid.js → ui/elements/derived/grid/index.js} +32 -32
- package/src/ui/elements/derived/index.js +12 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/menu3d.js +259 -259
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/modal/index.js +91 -91
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/breadcrumbs.js +53 -53
- package/src/ui/elements/derived/slider/__ZikoUISlider__.js +112 -0
- package/src/ui/elements/derived/slider/hSlider.js +34 -0
- package/src/ui/elements/derived/slider/index.js +12 -0
- package/src/ui/elements/derived/slider/vSlider.js +27 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/__ZikoUISplitter__.js +61 -61
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/hsplitter.js +39 -39
- package/src/ui/elements/derived/splitter/index.js +12 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/vsplitter.js +39 -39
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/tabs/index.js +179 -179
- package/src/{user-interface → ui}/elements/primitives/ZikoUIContainerElement.js +126 -126
- package/src/{user-interface → ui}/elements/primitives/ZikoUIElement.js +492 -478
- package/src/ui/elements/primitives/embaded/html.js +20 -0
- package/src/ui/elements/primitives/embaded/index.js +3 -0
- package/src/ui/elements/primitives/embaded/pdf.js +17 -0
- package/src/ui/elements/primitives/embaded/youtube.js +24 -0
- package/src/{user-interface → ui}/elements/primitives/index.js +7 -7
- package/src/{user-interface → ui}/elements/primitives/io/Form/index.js +41 -41
- package/src/{user-interface → ui}/elements/primitives/io/Form/index.js.txt +104 -104
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/__helpers__.js +51 -51
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/index.js +12 -12
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input/index.js +98 -97
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-camera/index.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-color/index.js +15 -15
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
- package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +2 -0
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-number/index.js +36 -36
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-radio/index.js +25 -25
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-search/index.js +45 -45
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-slider/index.js +34 -34
- package/src/{user-interface → ui}/elements/primitives/io/Select/index.js +19 -19
- package/src/{user-interface → ui}/elements/primitives/io/Textarea/index.js +17 -17
- package/src/{user-interface → ui}/elements/primitives/io/index.js +3 -3
- package/src/{user-interface → ui}/elements/primitives/list/index.js +138 -138
- package/src/{user-interface → ui}/elements/primitives/media/Audio/index.js +16 -16
- package/src/{user-interface → ui}/elements/primitives/media/Image/figure.js +18 -18
- package/src/{user-interface → ui}/elements/primitives/media/Image/image.js +36 -35
- package/src/ui/elements/primitives/media/Image/index.js +2 -0
- package/src/{user-interface → ui}/elements/primitives/media/Video/index.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
- package/src/{user-interface → ui}/elements/primitives/media/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/misc/index.js +100 -99
- package/src/{user-interface → ui}/elements/primitives/semantic/index.js +81 -81
- package/src/{user-interface → ui}/elements/primitives/table/elements.js +93 -93
- package/src/ui/elements/primitives/table/index.js +3 -0
- package/src/{user-interface → ui}/elements/primitives/table/table.js +115 -115
- package/src/{user-interface → ui}/elements/primitives/table/utils.js +11 -11
- package/src/{user-interface → ui}/elements/primitives/text/__ZikoUIText__.js +71 -71
- package/src/{user-interface → ui}/elements/primitives/text/heading.js +35 -35
- package/src/{user-interface → ui}/elements/primitives/text/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/text/p.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/text/text.js +80 -80
- package/src/ui/index.js +29 -0
- package/src/{user-interface → ui}/style/index.js +515 -509
- package/src/{user-interface → ui}/utils/index.js +69 -69
- package/src/reactivity/events/Global/Touch.js +0 -0
- package/src/reactivity/hooks/Sensors/index.js +0 -2
- package/src/reactivity/hooks/UI/index.js +0 -5
- package/src/user-interface/elements/derived/elements/splitter/index.js +0 -2
- package/src/user-interface/elements/derived/index.js +0 -3
- package/src/user-interface/elements/primitives/embaded/index.js +0 -1
- package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +0 -2
- package/src/user-interface/elements/primitives/media/Image/index.js +0 -2
- package/src/user-interface/elements/primitives/table/index.js +0 -3
- package/src/user-interface/index.js +0 -188
- /package/src/app/{globals/index.js → globals.js} +0 -0
- /package/src/app/{params/index.js → params.js} +0 -0
- /package/src/reactivity/events/{Partiel/Media.js → media.js} +0 -0
- /package/src/{app/accessibility/index.js → reactivity/events/touch.js} +0 -0
- /package/src/reactivity/hooks/{Contexte → contexte}/index.js +0 -0
- /package/src/reactivity/hooks/{Interactions → interactions}/useSerial.js +0 -0
- /package/src/reactivity/hooks/{Interactions → interactions}/useUsb.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useCamera.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useMicro.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useOrientation.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/index.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/useCookie.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/useIndexedDb.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/index.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Notification.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Popover.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Popup.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Timeline.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Toast.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Treeview.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/columns.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/fab.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/index.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/index.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/index.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/list/elements.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/text/pre.js +0 -0
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
// Mixed calcul
|
|
2
|
-
const sum=(...x)=>{
|
|
3
|
-
if(x.every(n=>typeof n==="number")){
|
|
4
|
-
let s = x[0];
|
|
5
|
-
for (let i = 1; i < x.length; i++) s += x[i];
|
|
6
|
-
return s;
|
|
7
|
-
}
|
|
8
|
-
const Y=[];
|
|
9
|
-
for(let i=0;i<x.length;i++){
|
|
10
|
-
if(x[i] instanceof Array)Y.push(sum(...x[i]));
|
|
11
|
-
else if(x[i] instanceof Object){
|
|
12
|
-
Y.push(sum(...Object.values(x[i])))
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return Y.length===1?Y[0]:Y;
|
|
16
|
-
}
|
|
17
|
-
const prod=(...x)=>{
|
|
18
|
-
if(x.every(n=>typeof n==="number")){
|
|
19
|
-
let p = x[0];
|
|
20
|
-
for (let i = 1; i < x.length; i++) p *= x[i];
|
|
21
|
-
return p;
|
|
22
|
-
}
|
|
23
|
-
const Y=[];
|
|
24
|
-
for(let i=0;i<x.length;i++){
|
|
25
|
-
if(x[i] instanceof Array)Y.push(prod(...x[i]));
|
|
26
|
-
else if(x[i] instanceof Object){
|
|
27
|
-
Y.push(prod(...Object.values(x[i])))
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return Y.length===1?Y[0]:Y;
|
|
31
|
-
}
|
|
32
|
-
const min=(...num)=>{
|
|
33
|
-
if(num.every(n=>typeof n==="number"))return Math.min(...num);
|
|
34
|
-
const Y=[];
|
|
35
|
-
for(let i=0;i<num.length;i++){
|
|
36
|
-
if(num[i] instanceof Array)Y.push(min(...num[i]));
|
|
37
|
-
else if(num[i] instanceof Object){
|
|
38
|
-
Y.push(
|
|
39
|
-
Object.fromEntries(
|
|
40
|
-
[Object.entries(num[i]).sort((a,b)=>a[1]-b[1])[0]]
|
|
41
|
-
)
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return Y.length===1?Y[0]:Y;
|
|
46
|
-
}
|
|
47
|
-
const max=(...num)=>{
|
|
48
|
-
if(num.every(n=>typeof n==="number"))return Math.max(...num);
|
|
49
|
-
const Y=[];
|
|
50
|
-
for(let i=0;i<num.length;i++){
|
|
51
|
-
if(num[i] instanceof Array)Y.push(min(...num[i]));
|
|
52
|
-
else if(num[i] instanceof Object){
|
|
53
|
-
Y.push(
|
|
54
|
-
Object.fromEntries(
|
|
55
|
-
[Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
|
|
56
|
-
)
|
|
57
|
-
)
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return Y.length===1?Y[0]:Y;
|
|
61
|
-
}
|
|
62
|
-
const accum=(...num)=>{
|
|
63
|
-
if(num.every(n=>typeof n==="number")){
|
|
64
|
-
let acc = num.reduce((x, y) => [...x, x[x.length - 1] + y], [0]);
|
|
65
|
-
acc.shift();
|
|
66
|
-
return acc;
|
|
67
|
-
}
|
|
68
|
-
const Y=[];
|
|
69
|
-
for(let i=0;i<num.length;i++){
|
|
70
|
-
if(num[i] instanceof Array)Y.push(accum(...num[i]));
|
|
71
|
-
else if(num[i] instanceof Object){
|
|
72
|
-
Y.push(null
|
|
73
|
-
// Object.fromEntries(
|
|
74
|
-
// [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
|
|
75
|
-
// )
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return Y.length===1?Y[0]:Y;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// sort
|
|
83
|
-
|
|
84
|
-
export{
|
|
85
|
-
sum,
|
|
86
|
-
prod,
|
|
87
|
-
min,
|
|
88
|
-
max,
|
|
89
|
-
accum
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
//moy
|
|
93
|
-
//med
|
|
94
|
-
//variance
|
|
95
|
-
//std
|
|
96
|
-
//mode
|
|
97
|
-
//acccum
|
|
98
|
-
//min2max
|
|
99
|
-
//max2min
|
|
1
|
+
// Mixed calcul
|
|
2
|
+
const sum=(...x)=>{
|
|
3
|
+
if(x.every(n=>typeof n==="number")){
|
|
4
|
+
let s = x[0];
|
|
5
|
+
for (let i = 1; i < x.length; i++) s += x[i];
|
|
6
|
+
return s;
|
|
7
|
+
}
|
|
8
|
+
const Y=[];
|
|
9
|
+
for(let i=0;i<x.length;i++){
|
|
10
|
+
if(x[i] instanceof Array)Y.push(sum(...x[i]));
|
|
11
|
+
else if(x[i] instanceof Object){
|
|
12
|
+
Y.push(sum(...Object.values(x[i])))
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return Y.length===1?Y[0]:Y;
|
|
16
|
+
}
|
|
17
|
+
const prod=(...x)=>{
|
|
18
|
+
if(x.every(n=>typeof n==="number")){
|
|
19
|
+
let p = x[0];
|
|
20
|
+
for (let i = 1; i < x.length; i++) p *= x[i];
|
|
21
|
+
return p;
|
|
22
|
+
}
|
|
23
|
+
const Y=[];
|
|
24
|
+
for(let i=0;i<x.length;i++){
|
|
25
|
+
if(x[i] instanceof Array)Y.push(prod(...x[i]));
|
|
26
|
+
else if(x[i] instanceof Object){
|
|
27
|
+
Y.push(prod(...Object.values(x[i])))
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return Y.length===1?Y[0]:Y;
|
|
31
|
+
}
|
|
32
|
+
const min=(...num)=>{
|
|
33
|
+
if(num.every(n=>typeof n==="number"))return Math.min(...num);
|
|
34
|
+
const Y=[];
|
|
35
|
+
for(let i=0;i<num.length;i++){
|
|
36
|
+
if(num[i] instanceof Array)Y.push(min(...num[i]));
|
|
37
|
+
else if(num[i] instanceof Object){
|
|
38
|
+
Y.push(
|
|
39
|
+
Object.fromEntries(
|
|
40
|
+
[Object.entries(num[i]).sort((a,b)=>a[1]-b[1])[0]]
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return Y.length===1?Y[0]:Y;
|
|
46
|
+
}
|
|
47
|
+
const max=(...num)=>{
|
|
48
|
+
if(num.every(n=>typeof n==="number"))return Math.max(...num);
|
|
49
|
+
const Y=[];
|
|
50
|
+
for(let i=0;i<num.length;i++){
|
|
51
|
+
if(num[i] instanceof Array)Y.push(min(...num[i]));
|
|
52
|
+
else if(num[i] instanceof Object){
|
|
53
|
+
Y.push(
|
|
54
|
+
Object.fromEntries(
|
|
55
|
+
[Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
|
|
56
|
+
)
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return Y.length===1?Y[0]:Y;
|
|
61
|
+
}
|
|
62
|
+
const accum=(...num)=>{
|
|
63
|
+
if(num.every(n=>typeof n==="number")){
|
|
64
|
+
let acc = num.reduce((x, y) => [...x, x[x.length - 1] + y], [0]);
|
|
65
|
+
acc.shift();
|
|
66
|
+
return acc;
|
|
67
|
+
}
|
|
68
|
+
const Y=[];
|
|
69
|
+
for(let i=0;i<num.length;i++){
|
|
70
|
+
if(num[i] instanceof Array)Y.push(accum(...num[i]));
|
|
71
|
+
else if(num[i] instanceof Object){
|
|
72
|
+
Y.push(null
|
|
73
|
+
// Object.fromEntries(
|
|
74
|
+
// [Object.entries(num[i]).sort((a,b)=>b[1]-a[1])[0]]
|
|
75
|
+
// )
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return Y.length===1?Y[0]:Y;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// sort
|
|
83
|
+
|
|
84
|
+
export{
|
|
85
|
+
sum,
|
|
86
|
+
prod,
|
|
87
|
+
min,
|
|
88
|
+
max,
|
|
89
|
+
accum
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//moy
|
|
93
|
+
//med
|
|
94
|
+
//variance
|
|
95
|
+
//std
|
|
96
|
+
//mode
|
|
97
|
+
//acccum
|
|
98
|
+
//min2max
|
|
99
|
+
//max2min
|
|
100
100
|
//percentile
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
sum,
|
|
3
|
-
prod,
|
|
4
|
-
min,
|
|
5
|
-
max,
|
|
6
|
-
accum
|
|
7
|
-
} from "./Functions/index.js"
|
|
8
|
-
const Stats={
|
|
9
|
-
sum,
|
|
10
|
-
prod,
|
|
11
|
-
min,
|
|
12
|
-
max,
|
|
13
|
-
accum,
|
|
14
|
-
}
|
|
15
|
-
export default Stats;
|
|
1
|
+
import {
|
|
2
|
+
sum,
|
|
3
|
+
prod,
|
|
4
|
+
min,
|
|
5
|
+
max,
|
|
6
|
+
accum
|
|
7
|
+
} from "./Functions/index.js"
|
|
8
|
+
const Stats={
|
|
9
|
+
sum,
|
|
10
|
+
prod,
|
|
11
|
+
min,
|
|
12
|
+
max,
|
|
13
|
+
accum,
|
|
14
|
+
}
|
|
15
|
+
export default Stats;
|
|
16
16
|
export * from "./Functions/index.js"
|
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
import { Complex,complex} from "../complex/index.js";
|
|
2
|
-
import { Matrix } from "../matrix/index.js";
|
|
3
|
-
const _add=(a,b)=>{
|
|
4
|
-
if(typeof(a)==="number"){
|
|
5
|
-
if (typeof b == "number") return a + b;
|
|
6
|
-
else if (b instanceof Complex)return complex(a + b.a, b.b);
|
|
7
|
-
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).add(b);
|
|
8
|
-
else if (b instanceof Array)return b.map(n=>add(n,a));
|
|
9
|
-
}
|
|
10
|
-
else if(a instanceof Complex||a instanceof Matrix){
|
|
11
|
-
if(b instanceof Array)return b.map(n=>a.clone.add(n));
|
|
12
|
-
return a.clone.add(b);
|
|
13
|
-
}
|
|
14
|
-
else if(a instanceof Array){
|
|
15
|
-
if(b instanceof Array){
|
|
16
|
-
if(a.length === b.length)return a.map((n,i)=>add(n,b[i]))
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return a.map(n=>add(n,b));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const _sub=(a,b)=>{
|
|
24
|
-
if(typeof(a)==="number"){
|
|
25
|
-
if (typeof b == "number") return a - b;
|
|
26
|
-
else if (b instanceof Complex)return complex(a - b.a, -b.b);
|
|
27
|
-
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).sub(b);
|
|
28
|
-
else if (b instanceof Array)return b.map(n=>sub(n,a));
|
|
29
|
-
}
|
|
30
|
-
else if(a instanceof Complex||a instanceof Matrix){
|
|
31
|
-
if(b instanceof Array)return b.map(n=>a.clone.sub(n));
|
|
32
|
-
return a.clone.sub(b);
|
|
33
|
-
}
|
|
34
|
-
else if(a instanceof Array){
|
|
35
|
-
if(b instanceof Array){
|
|
36
|
-
if(b instanceof Array){
|
|
37
|
-
if(a.length === b.length)return a.map((n,i)=>sub(n,b[i]))
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return a.map(n=>sub(n,b));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const _mul=(a,b)=>{
|
|
46
|
-
if(typeof(a)==="number"){
|
|
47
|
-
if (typeof b == "number") return a * b;
|
|
48
|
-
else if (b instanceof Complex)return complex(a * b.a,a * b.b);
|
|
49
|
-
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).mul(b);
|
|
50
|
-
else if (b instanceof Array)return b.map(n=>mul(a,n));
|
|
51
|
-
}
|
|
52
|
-
else if(a instanceof Complex||a instanceof Matrix){
|
|
53
|
-
if(b instanceof Array)return b.map(n=>a.clone.mul(n));
|
|
54
|
-
return a.clone.mul(b);
|
|
55
|
-
}
|
|
56
|
-
else if(a instanceof Array){
|
|
57
|
-
if(b instanceof Array){
|
|
58
|
-
if(b instanceof Array){
|
|
59
|
-
if(a.length === b.length)return a.map((n,i)=>mul(n,b[i]))
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return a.map(n=>mul(n,b));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const _div=(a,b)=>{
|
|
68
|
-
if(typeof(a)==="number"){
|
|
69
|
-
if (typeof b == "number") return a / b;
|
|
70
|
-
else if (b instanceof Complex)return complex(a / b.a,a / b.b);
|
|
71
|
-
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).div(b);
|
|
72
|
-
else if (b instanceof Array)return b.map(n=>div(a,n));
|
|
73
|
-
}
|
|
74
|
-
else if(a instanceof Complex||a instanceof Matrix){
|
|
75
|
-
if(b instanceof Array)return b.map(n=>a.clone.div(n));
|
|
76
|
-
return a.clone.div(b);
|
|
77
|
-
}
|
|
78
|
-
else if(a instanceof Array){
|
|
79
|
-
if(b instanceof Array){
|
|
80
|
-
if(b instanceof Array){
|
|
81
|
-
if(a.length === b.length)return a.map((n,i)=>div(n,b[i]))
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
return a.map(n=>div(n,b));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
const _modulo=(a,b)=>{
|
|
90
|
-
if(typeof(a)==="number"){
|
|
91
|
-
if (typeof b == "number") return a % b;
|
|
92
|
-
else if (b instanceof Complex)return complex(a % b.a,a % b.b);
|
|
93
|
-
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).modulo(b);
|
|
94
|
-
else if (b instanceof Array)return b.map(n=>div(a,n));
|
|
95
|
-
}
|
|
96
|
-
else if(a instanceof Complex||a instanceof Matrix){
|
|
97
|
-
if(b instanceof Array)return b.map(n=>a.clone.div(n));
|
|
98
|
-
return a.clone.div(b);
|
|
99
|
-
}
|
|
100
|
-
else if(a instanceof Array){
|
|
101
|
-
if(b instanceof Array){
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
return a.map(n=>add(n,b));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
const add=(a,...b)=>{
|
|
109
|
-
var res=a;
|
|
110
|
-
for(let i=0;i<b.length;i++)res=_add(res,b[i])
|
|
111
|
-
return res;
|
|
112
|
-
}
|
|
113
|
-
const sub=(a,...b)=>{
|
|
114
|
-
var res=a;
|
|
115
|
-
for(let i=0;i<b.length;i++)res=_sub(res,b[i])
|
|
116
|
-
return res;
|
|
117
|
-
}
|
|
118
|
-
const mul=(a,...b)=>{
|
|
119
|
-
var res=a;
|
|
120
|
-
for(let i=0;i<b.length;i++)res=_mul(res,b[i])
|
|
121
|
-
return res;
|
|
122
|
-
}
|
|
123
|
-
const div=(a,...b)=>{
|
|
124
|
-
var res=a;
|
|
125
|
-
for(let i=0;i<b.length;i++)res=_div(res,b[i])
|
|
126
|
-
return res;
|
|
127
|
-
}
|
|
128
|
-
const modulo=(a,...b)=>{
|
|
129
|
-
var res=a;
|
|
130
|
-
for(let i=0;i<b.length;i++)res=_modulo(res,b[i])
|
|
131
|
-
return res;
|
|
132
|
-
}
|
|
133
|
-
export{
|
|
134
|
-
add,
|
|
135
|
-
sub,
|
|
136
|
-
mul,
|
|
137
|
-
div,
|
|
138
|
-
modulo
|
|
1
|
+
import { Complex,complex} from "../complex/index.js";
|
|
2
|
+
import { Matrix } from "../matrix/index.js";
|
|
3
|
+
const _add=(a,b)=>{
|
|
4
|
+
if(typeof(a)==="number"){
|
|
5
|
+
if (typeof b == "number") return a + b;
|
|
6
|
+
else if (b instanceof Complex)return complex(a + b.a, b.b);
|
|
7
|
+
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).add(b);
|
|
8
|
+
else if (b instanceof Array)return b.map(n=>add(n,a));
|
|
9
|
+
}
|
|
10
|
+
else if(a instanceof Complex||a instanceof Matrix){
|
|
11
|
+
if(b instanceof Array)return b.map(n=>a.clone.add(n));
|
|
12
|
+
return a.clone.add(b);
|
|
13
|
+
}
|
|
14
|
+
else if(a instanceof Array){
|
|
15
|
+
if(b instanceof Array){
|
|
16
|
+
if(a.length === b.length)return a.map((n,i)=>add(n,b[i]))
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return a.map(n=>add(n,b));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const _sub=(a,b)=>{
|
|
24
|
+
if(typeof(a)==="number"){
|
|
25
|
+
if (typeof b == "number") return a - b;
|
|
26
|
+
else if (b instanceof Complex)return complex(a - b.a, -b.b);
|
|
27
|
+
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).sub(b);
|
|
28
|
+
else if (b instanceof Array)return b.map(n=>sub(n,a));
|
|
29
|
+
}
|
|
30
|
+
else if(a instanceof Complex||a instanceof Matrix){
|
|
31
|
+
if(b instanceof Array)return b.map(n=>a.clone.sub(n));
|
|
32
|
+
return a.clone.sub(b);
|
|
33
|
+
}
|
|
34
|
+
else if(a instanceof Array){
|
|
35
|
+
if(b instanceof Array){
|
|
36
|
+
if(b instanceof Array){
|
|
37
|
+
if(a.length === b.length)return a.map((n,i)=>sub(n,b[i]))
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return a.map(n=>sub(n,b));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const _mul=(a,b)=>{
|
|
46
|
+
if(typeof(a)==="number"){
|
|
47
|
+
if (typeof b == "number") return a * b;
|
|
48
|
+
else if (b instanceof Complex)return complex(a * b.a,a * b.b);
|
|
49
|
+
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).mul(b);
|
|
50
|
+
else if (b instanceof Array)return b.map(n=>mul(a,n));
|
|
51
|
+
}
|
|
52
|
+
else if(a instanceof Complex||a instanceof Matrix){
|
|
53
|
+
if(b instanceof Array)return b.map(n=>a.clone.mul(n));
|
|
54
|
+
return a.clone.mul(b);
|
|
55
|
+
}
|
|
56
|
+
else if(a instanceof Array){
|
|
57
|
+
if(b instanceof Array){
|
|
58
|
+
if(b instanceof Array){
|
|
59
|
+
if(a.length === b.length)return a.map((n,i)=>mul(n,b[i]))
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return a.map(n=>mul(n,b));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const _div=(a,b)=>{
|
|
68
|
+
if(typeof(a)==="number"){
|
|
69
|
+
if (typeof b == "number") return a / b;
|
|
70
|
+
else if (b instanceof Complex)return complex(a / b.a,a / b.b);
|
|
71
|
+
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).div(b);
|
|
72
|
+
else if (b instanceof Array)return b.map(n=>div(a,n));
|
|
73
|
+
}
|
|
74
|
+
else if(a instanceof Complex||a instanceof Matrix){
|
|
75
|
+
if(b instanceof Array)return b.map(n=>a.clone.div(n));
|
|
76
|
+
return a.clone.div(b);
|
|
77
|
+
}
|
|
78
|
+
else if(a instanceof Array){
|
|
79
|
+
if(b instanceof Array){
|
|
80
|
+
if(b instanceof Array){
|
|
81
|
+
if(a.length === b.length)return a.map((n,i)=>div(n,b[i]))
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return a.map(n=>div(n,b));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const _modulo=(a,b)=>{
|
|
90
|
+
if(typeof(a)==="number"){
|
|
91
|
+
if (typeof b == "number") return a % b;
|
|
92
|
+
else if (b instanceof Complex)return complex(a % b.a,a % b.b);
|
|
93
|
+
else if (b instanceof Matrix) return Matrix.nums(b.rows, b.cols, a).modulo(b);
|
|
94
|
+
else if (b instanceof Array)return b.map(n=>div(a,n));
|
|
95
|
+
}
|
|
96
|
+
else if(a instanceof Complex||a instanceof Matrix){
|
|
97
|
+
if(b instanceof Array)return b.map(n=>a.clone.div(n));
|
|
98
|
+
return a.clone.div(b);
|
|
99
|
+
}
|
|
100
|
+
else if(a instanceof Array){
|
|
101
|
+
if(b instanceof Array){
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return a.map(n=>add(n,b));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const add=(a,...b)=>{
|
|
109
|
+
var res=a;
|
|
110
|
+
for(let i=0;i<b.length;i++)res=_add(res,b[i])
|
|
111
|
+
return res;
|
|
112
|
+
}
|
|
113
|
+
const sub=(a,...b)=>{
|
|
114
|
+
var res=a;
|
|
115
|
+
for(let i=0;i<b.length;i++)res=_sub(res,b[i])
|
|
116
|
+
return res;
|
|
117
|
+
}
|
|
118
|
+
const mul=(a,...b)=>{
|
|
119
|
+
var res=a;
|
|
120
|
+
for(let i=0;i<b.length;i++)res=_mul(res,b[i])
|
|
121
|
+
return res;
|
|
122
|
+
}
|
|
123
|
+
const div=(a,...b)=>{
|
|
124
|
+
var res=a;
|
|
125
|
+
for(let i=0;i<b.length;i++)res=_div(res,b[i])
|
|
126
|
+
return res;
|
|
127
|
+
}
|
|
128
|
+
const modulo=(a,...b)=>{
|
|
129
|
+
var res=a;
|
|
130
|
+
for(let i=0;i<b.length;i++)res=_modulo(res,b[i])
|
|
131
|
+
return res;
|
|
132
|
+
}
|
|
133
|
+
export{
|
|
134
|
+
add,
|
|
135
|
+
sub,
|
|
136
|
+
mul,
|
|
137
|
+
div,
|
|
138
|
+
modulo
|
|
139
139
|
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
/** @module Math */
|
|
2
|
-
/**
|
|
3
|
-
* Checks if a value is within the specified range.
|
|
4
|
-
* @function
|
|
5
|
-
* @param {number} x - The value to check.
|
|
6
|
-
* @param {number} a - The start of the range.
|
|
7
|
-
* @param {number} b - The end of the range.
|
|
8
|
-
* @returns {boolean} Returns true if the value is within the range [a, b], otherwise false.
|
|
9
|
-
*/
|
|
10
|
-
const inRange = (x, a, b) => {
|
|
11
|
-
const [min, max] = [Math.min(a, b), Math.max(a, b)];
|
|
12
|
-
return x >= min && x <= max;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Checks if two numbers are approximately equal within a given error margin.
|
|
17
|
-
* @param {number} a - The first number.
|
|
18
|
-
* @param {number} b - The second number.
|
|
19
|
-
* @param {number} [Err=0.0001] - The maximum acceptable difference between the two numbers.
|
|
20
|
-
* @returns {boolean} Returns true if the two numbers are approximately equal within the specified error margin, otherwise false.
|
|
21
|
-
*/
|
|
22
|
-
const isApproximatlyEqual = (a, b, Err = 0.0001) => {
|
|
23
|
-
return Math.abs(a - b) <= Err;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export {
|
|
27
|
-
inRange,
|
|
28
|
-
isApproximatlyEqual
|
|
29
|
-
}
|
|
1
|
+
/** @module Math */
|
|
2
|
+
/**
|
|
3
|
+
* Checks if a value is within the specified range.
|
|
4
|
+
* @function
|
|
5
|
+
* @param {number} x - The value to check.
|
|
6
|
+
* @param {number} a - The start of the range.
|
|
7
|
+
* @param {number} b - The end of the range.
|
|
8
|
+
* @returns {boolean} Returns true if the value is within the range [a, b], otherwise false.
|
|
9
|
+
*/
|
|
10
|
+
const inRange = (x, a, b) => {
|
|
11
|
+
const [min, max] = [Math.min(a, b), Math.max(a, b)];
|
|
12
|
+
return x >= min && x <= max;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Checks if two numbers are approximately equal within a given error margin.
|
|
17
|
+
* @param {number} a - The first number.
|
|
18
|
+
* @param {number} b - The second number.
|
|
19
|
+
* @param {number} [Err=0.0001] - The maximum acceptable difference between the two numbers.
|
|
20
|
+
* @returns {boolean} Returns true if the two numbers are approximately equal within the specified error margin, otherwise false.
|
|
21
|
+
*/
|
|
22
|
+
const isApproximatlyEqual = (a, b, Err = 0.0001) => {
|
|
23
|
+
return Math.abs(a - b) <= Err;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
inRange,
|
|
28
|
+
isApproximatlyEqual
|
|
29
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/** @module Math */
|
|
2
|
-
/**
|
|
3
|
-
* Converts degrees to radians.
|
|
4
|
-
* @param {...number} deg - Degrees to convert.
|
|
5
|
-
* @returns {number|number[]} Returns an array of radians corresponding to the input degrees.
|
|
6
|
-
*/
|
|
7
|
-
const deg2rad = (...deg) => mapfun(x => x * Math.PI / 180, ...deg);
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Converts radians to degrees.
|
|
11
|
-
* @param {...number} rad - Radians to convert.
|
|
12
|
-
* @returns {number|number[]} Returns an array of degrees corresponding to the input radians.
|
|
13
|
-
*/
|
|
14
|
-
const rad2deg = (...rad) => mapfun(x => x / Math.PI * 180, ...rad);
|
|
15
|
-
|
|
16
|
-
export {
|
|
17
|
-
deg2rad,
|
|
18
|
-
rad2deg
|
|
19
|
-
}
|
|
1
|
+
/** @module Math */
|
|
2
|
+
/**
|
|
3
|
+
* Converts degrees to radians.
|
|
4
|
+
* @param {...number} deg - Degrees to convert.
|
|
5
|
+
* @returns {number|number[]} Returns an array of radians corresponding to the input degrees.
|
|
6
|
+
*/
|
|
7
|
+
const deg2rad = (...deg) => mapfun(x => x * Math.PI / 180, ...deg);
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Converts radians to degrees.
|
|
11
|
+
* @param {...number} rad - Radians to convert.
|
|
12
|
+
* @returns {number|number[]} Returns an array of degrees corresponding to the input radians.
|
|
13
|
+
*/
|
|
14
|
+
const rad2deg = (...rad) => mapfun(x => x / Math.PI * 180, ...rad);
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
deg2rad,
|
|
18
|
+
rad2deg
|
|
19
|
+
}
|