@equinor/videx-math 1.1.10 → 1.2.0
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.
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param value Value to clamp
|
|
4
4
|
* @param min Minimum value (Default: 0)
|
|
5
5
|
* @param max Maximum value (Default: 1)
|
|
6
|
-
* @
|
|
6
|
+
* @returns Clamped value
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* clamp(8, 3, 7); // Returns: 7
|
|
@@ -13,7 +13,7 @@ export declare function clamp(value: number, min?: number, max?: number): number
|
|
|
13
13
|
* Generate a step function by comparing two values.
|
|
14
14
|
* @param edge Edge of the step function
|
|
15
15
|
* @param x Value used to generate the step function
|
|
16
|
-
* @
|
|
16
|
+
* @returns Returns either 0 or 1
|
|
17
17
|
*/
|
|
18
18
|
export declare function step(edge: number, x: number): number;
|
|
19
19
|
/**
|
|
@@ -21,7 +21,7 @@ export declare function step(edge: number, x: number): number;
|
|
|
21
21
|
* @param edge0 Lower edge of the Hermite function
|
|
22
22
|
* @param edge1 Upper edge of the Hermite function
|
|
23
23
|
* @param x Source value for interpolation
|
|
24
|
-
* @
|
|
24
|
+
* @returns Hermite interpolated value
|
|
25
25
|
*/
|
|
26
26
|
export declare function smoothstep(edge0: number, edge1: number, x: number): number;
|
|
27
27
|
/**
|
|
@@ -29,7 +29,7 @@ export declare function smoothstep(edge0: number, edge1: number, x: number): num
|
|
|
29
29
|
* @param a Number to interpolate from
|
|
30
30
|
* @param b Number to interpolate to
|
|
31
31
|
* @param t Interpolation parameter, 0 = a and 1 = b
|
|
32
|
-
* @
|
|
32
|
+
* @returns The interpolated value
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
35
|
* lerp(2, 4, 0.5); // Returns 3
|
|
@@ -40,7 +40,7 @@ export declare function lerp(a: number, b: number, t: number): number;
|
|
|
40
40
|
* @param a Start value
|
|
41
41
|
* @param b End value
|
|
42
42
|
* @param value Value between start and end
|
|
43
|
-
* @
|
|
43
|
+
* @returns Percentage of value between start and end
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* inverseLerp(2, 4, 3); // Returns 0.5
|
|
@@ -75,9 +75,9 @@ export declare function radians(deg: number): number;
|
|
|
75
75
|
*/
|
|
76
76
|
export declare function degrees(rad: number): number;
|
|
77
77
|
/**
|
|
78
|
-
* Normalise an angle to be between
|
|
78
|
+
* Normalise an angle to be between 0 and 2π.
|
|
79
79
|
* @param rad Angle in radians
|
|
80
|
-
* @
|
|
80
|
+
* @returns Normalised angle
|
|
81
81
|
*/
|
|
82
82
|
export declare function nrad(rad: number): number;
|
|
83
83
|
/**
|
|
@@ -128,7 +128,7 @@ export declare function min(...values: number[]): number;
|
|
|
128
128
|
* @returns Maximum value
|
|
129
129
|
*
|
|
130
130
|
* @example
|
|
131
|
-
*
|
|
131
|
+
* max([2, 1, 3]); // Returns 3
|
|
132
132
|
*/
|
|
133
133
|
export declare function max(values: number[]): number;
|
|
134
134
|
/**
|
|
@@ -137,7 +137,7 @@ export declare function max(values: number[]): number;
|
|
|
137
137
|
* @returns Maximum value
|
|
138
138
|
*
|
|
139
139
|
* @example
|
|
140
|
-
*
|
|
140
|
+
* max(2, 1, 3); // Returns 3
|
|
141
141
|
*/
|
|
142
142
|
export declare function max(...values: number[]): number;
|
|
143
143
|
/**
|
|
@@ -146,7 +146,7 @@ export declare function max(...values: number[]): number;
|
|
|
146
146
|
* @returns Extent on format [min, max]
|
|
147
147
|
*
|
|
148
148
|
* @example
|
|
149
|
-
*
|
|
149
|
+
* extent([2, 1, 3]); // Returns [1, 3]
|
|
150
150
|
*/
|
|
151
151
|
export declare function extent(values: number[]): [number, number];
|
|
152
152
|
/**
|
|
@@ -155,7 +155,7 @@ export declare function extent(values: number[]): [number, number];
|
|
|
155
155
|
* @returns Extent on format [min, max]
|
|
156
156
|
*
|
|
157
157
|
* @example
|
|
158
|
-
*
|
|
158
|
+
* extent(2, 1, 3); // Returns [1, 3]
|
|
159
159
|
*/
|
|
160
160
|
export declare function extent(...values: number[]): [number, number];
|
|
161
161
|
/**
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}function step(edge,x){return x>=edge?1:0}function smoothstep(edge0,edge1,x){const t=clamp((x-edge0)/(edge1-edge0));return t*t*(3-2*t)}function lerp(a,b,t){const m=clamp(t,0,1);return a*(1-m)+b*m}function inverseLerp(a,b,value){return clamp((value-a)/(b-a),0,1)}function round(value,digits=1){const f=Math.pow(10,digits);return Math.round(value*f)/f}function radians(deg){return deg*DEG2RAD}function degrees(rad){return rad*RAD2DEG}function nrad(rad){const v=rad%TAU;return v<0?v+TAU:v}function seq(start,end,steps){const target=new Array(steps),incr=(end-start)/(steps-1);target[0]=start;for(let i=1;i<steps-1;i++)target[i]=start+i*incr;return target[steps-1]=end,target}function seqI(steps){const target=new Array(steps),incr=1/(steps-1);target[0]=0;for(let i=1;i<steps-1;i++)target[i]=i*incr;return target[steps-1]=1,target}function min(a,...b){let
|
|
1
|
+
const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}function step(edge,x){return x>=edge?1:0}function smoothstep(edge0,edge1,x){const t=clamp((x-edge0)/(edge1-edge0));return t*t*(3-2*t)}function lerp(a,b,t){const m=clamp(t,0,1);return a*(1-m)+b*m}function inverseLerp(a,b,value){return clamp((value-a)/(b-a),0,1)}function round(value,digits=1){const f=Math.pow(10,digits);return Math.round(value*f)/f}function radians(deg){return deg*DEG2RAD}function degrees(rad){return rad*RAD2DEG}function nrad(rad){const v=rad%TAU;return v<0?v+TAU:v}function seq(start,end,steps){const target=new Array(steps),incr=(end-start)/(steps-1);target[0]=start;for(let i=1;i<steps-1;i++)target[i]=start+i*incr;return target[steps-1]=end,target}function seqI(steps){const target=new Array(steps),incr=1/(steps-1);target[0]=0;for(let i=1;i<steps-1;i++)target[i]=i*incr;return target[steps-1]=1,target}function min(a,...b){let minimum;if(Array.isArray(a)){minimum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i])}else{minimum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i])}return minimum}function max(a,...b){let maximum;if(Array.isArray(a)){maximum=a[0];for(let i=1;i<a.length;i++)a[i]>maximum&&(maximum=a[i])}else{maximum=a;for(let i=0;i<b.length;i++)b[i]>maximum&&(maximum=b[i])}return maximum}function extent(a,...b){let minimum,maximum;if(Array.isArray(a)){minimum=maximum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i]),a[i]>maximum&&(maximum=a[i])}else{minimum=maximum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i]),b[i]>maximum&&(maximum=b[i])}return[minimum,maximum]}function mean(a,...b){let sum=0;if(Array.isArray(a)){for(let i=0;i<a.length;i++)sum+=a[i];return sum/a.length}for(let i=0;i<b.length;i++)sum+=b[i];return(sum+a)/(b.length+1)}export{clamp,degrees,extent,inverseLerp,lerp,max,mean,min,nrad,radians,round,seq,seqI,smoothstep,step};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}exports.clamp=clamp,exports.degrees=function(rad){return rad*RAD2DEG},exports.extent=function(a,...b){let
|
|
1
|
+
"use strict";const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}exports.clamp=clamp,exports.degrees=function(rad){return rad*RAD2DEG},exports.extent=function(a,...b){let minimum,maximum;if(Array.isArray(a)){minimum=maximum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i]),a[i]>maximum&&(maximum=a[i])}else{minimum=maximum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i]),b[i]>maximum&&(maximum=b[i])}return[minimum,maximum]},exports.inverseLerp=function(a,b,value){return clamp((value-a)/(b-a),0,1)},exports.lerp=function(a,b,t){const m=clamp(t,0,1);return a*(1-m)+b*m},exports.max=function(a,...b){let maximum;if(Array.isArray(a)){maximum=a[0];for(let i=1;i<a.length;i++)a[i]>maximum&&(maximum=a[i])}else{maximum=a;for(let i=0;i<b.length;i++)b[i]>maximum&&(maximum=b[i])}return maximum},exports.mean=function(a,...b){let sum=0;if(Array.isArray(a)){for(let i=0;i<a.length;i++)sum+=a[i];return sum/a.length}for(let i=0;i<b.length;i++)sum+=b[i];return(sum+a)/(b.length+1)},exports.min=function(a,...b){let minimum;if(Array.isArray(a)){minimum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i])}else{minimum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i])}return minimum},exports.nrad=function(rad){const v=rad%TAU;return v<0?v+TAU:v},exports.radians=function(deg){return deg*DEG2RAD},exports.round=function(value,digits=1){const f=Math.pow(10,digits);return Math.round(value*f)/f},exports.seq=function(start,end,steps){const target=new Array(steps),incr=(end-start)/(steps-1);target[0]=start;for(let i=1;i<steps-1;i++)target[i]=start+i*incr;return target[steps-1]=end,target},exports.seqI=function(steps){const target=new Array(steps),incr=1/(steps-1);target[0]=0;for(let i=1;i<steps-1;i++)target[i]=i*incr;return target[steps-1]=1,target},exports.smoothstep=function(edge0,edge1,x){const t=clamp((x-edge0)/(edge1-edge0));return t*t*(3-2*t)},exports.step=function(edge,x){return x>=edge?1:0};
|
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global="undefined"!=typeof globalThis?globalThis:global||self)["videx-math"]={})}(this,(function(exports){"use strict";const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}exports.clamp=clamp,exports.degrees=function(rad){return rad*RAD2DEG},exports.extent=function(a,...b){let
|
|
1
|
+
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global="undefined"!=typeof globalThis?globalThis:global||self)["videx-math"]={})}(this,(function(exports){"use strict";const RAD2DEG=180/Math.PI,DEG2RAD=Math.PI/180,TAU=2*Math.PI;function clamp(value,min=0,max=1){return value<min?min:value>max?max:value}exports.clamp=clamp,exports.degrees=function(rad){return rad*RAD2DEG},exports.extent=function(a,...b){let minimum,maximum;if(Array.isArray(a)){minimum=maximum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i]),a[i]>maximum&&(maximum=a[i])}else{minimum=maximum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i]),b[i]>maximum&&(maximum=b[i])}return[minimum,maximum]},exports.inverseLerp=function(a,b,value){return clamp((value-a)/(b-a),0,1)},exports.lerp=function(a,b,t){const m=clamp(t,0,1);return a*(1-m)+b*m},exports.max=function(a,...b){let maximum;if(Array.isArray(a)){maximum=a[0];for(let i=1;i<a.length;i++)a[i]>maximum&&(maximum=a[i])}else{maximum=a;for(let i=0;i<b.length;i++)b[i]>maximum&&(maximum=b[i])}return maximum},exports.mean=function(a,...b){let sum=0;if(Array.isArray(a)){for(let i=0;i<a.length;i++)sum+=a[i];return sum/a.length}for(let i=0;i<b.length;i++)sum+=b[i];return(sum+a)/(b.length+1)},exports.min=function(a,...b){let minimum;if(Array.isArray(a)){minimum=a[0];for(let i=1;i<a.length;i++)a[i]<minimum&&(minimum=a[i])}else{minimum=a;for(let i=0;i<b.length;i++)b[i]<minimum&&(minimum=b[i])}return minimum},exports.nrad=function(rad){const v=rad%TAU;return v<0?v+TAU:v},exports.radians=function(deg){return deg*DEG2RAD},exports.round=function(value,digits=1){const f=Math.pow(10,digits);return Math.round(value*f)/f},exports.seq=function(start,end,steps){const target=new Array(steps),incr=(end-start)/(steps-1);target[0]=start;for(let i=1;i<steps-1;i++)target[i]=start+i*incr;return target[steps-1]=end,target},exports.seqI=function(steps){const target=new Array(steps),incr=1/(steps-1);target[0]=0;for(let i=1;i<steps-1;i++)target[i]=i*incr;return target[steps-1]=1,target},exports.smoothstep=function(edge0,edge1,x){const t=clamp((x-edge0)/(edge1-edge0));return t*t*(3-2*t)},exports.step=function(edge,x){return x>=edge?1:0}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/videx-math",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A library with math used by Videx.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -19,16 +19,18 @@
|
|
|
19
19
|
"./package.json": "./package.json"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"prebuild": "
|
|
22
|
+
"prebuild": "node scripts/remove.mjs dist",
|
|
23
23
|
"build": "rollup -c",
|
|
24
24
|
"prepub": "npm run build",
|
|
25
25
|
"pub": "npm publish --access=public",
|
|
26
26
|
"test": "vitest run",
|
|
27
27
|
"test:watch": "vitest",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
28
|
+
"coverage": "vitest run --coverage",
|
|
29
|
+
"coverage:ci": "vitest run --coverage",
|
|
30
|
+
"lint": "oxlint",
|
|
31
|
+
"predocs": "node scripts/remove.mjs docs",
|
|
30
32
|
"docs": "typedoc --out docs src",
|
|
31
|
-
"postdocs": "node
|
|
33
|
+
"postdocs": "node scripts/copy_docs_assets.mjs",
|
|
32
34
|
"prettier": "prettier . --write"
|
|
33
35
|
},
|
|
34
36
|
"repository": {
|
|
@@ -45,19 +47,15 @@
|
|
|
45
47
|
},
|
|
46
48
|
"homepage": "https://github.com/equinor/videx-math#readme",
|
|
47
49
|
"devDependencies": {
|
|
48
|
-
"@eslint/js": "^9.39.4",
|
|
49
|
-
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
50
50
|
"@rollup/plugin-terser": "^1.0.0",
|
|
51
51
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
52
|
+
"@vitest/coverage-v8": "4.1.10",
|
|
53
|
+
"oxlint": "^1.82.0",
|
|
54
54
|
"prettier": "^3.9.6",
|
|
55
|
-
"rimraf": "^6.1.3",
|
|
56
55
|
"rollup": "^4.60.0",
|
|
57
56
|
"tslib": "^2.8.1",
|
|
58
57
|
"typedoc": "^0.28.18",
|
|
59
58
|
"typescript": "^5.9.3",
|
|
60
|
-
"typescript-eslint": "^8.57.2",
|
|
61
59
|
"vitest": "^4.1.10"
|
|
62
60
|
}
|
|
63
61
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
File without changes
|