@equinor/videx-linear-algebra 1.0.20 → 1.0.21
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/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +8 -8
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{clamp as clamp$1,step as step$1}from"@equinor/videx-math";function copy(source,target){for(
|
|
1
|
+
import{clamp as clamp$1,step as step$1}from"@equinor/videx-math";function copy(source,target){for(let i=0;i<source.length;i++)target[i]=source[i];return target}function add(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]+b[i];return target}function addAll(vectors,target=vectors[0]){copy(vectors[0],target);for(let m=1;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]+=vectors[m][n];return target}function sub(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]-b[i];return target}function subAll(a,vectors,target=a){copy(a,target);for(let m=0;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]-=vectors[m][n];return target}function scale(a,factor,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]*factor;return target}function sumsqr(a){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]**2;return sum}function magnitude(a){const sq=sumsqr(a);return 0===sq?sq:Math.sqrt(sq)}function normalize(a,target=a){const len=magnitude(a);return 0===len?fill(0,target):scale(a,1/len,target)}function fill(value,target){for(let i=0;i<target.length;i++)target[i]=value;return target}function dir(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=b[i]-a[i];return target}function dist(a,b){let sq=0;for(let i=0;i<a.length;i++)sq+=(b[i]-a[i])**2;return 0===sq?sq:Math.sqrt(sq)}function dot(a,b){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]*b[i];return sum}function cross(a,b,target=a){const y=a[2]*b[0]-a[0]*b[2],z=a[0]*b[1]-a[1]*b[0];return target[0]=a[1]*b[2]-a[2]*b[1],target[1]=y,target[2]=z,target}function triple(a,b,c){return dot(a,cross(b,c))}function clamp(a,min=0,max=1,target=a){for(let i=0;i<a.length;i++)target[i]=clamp$1(a[i],min,max);return target}function step(edges,x,target=edges){for(let i=0;i<edges.length;i++)target[i]=step$1(edges[i],x);return target}function mix(a,b,t,target=a){const n=clamp$1(t,0,1),m=1-n;for(let i=0;i<a.length;i++)target[i]=a[i]*m+b[i]*n;return target}function modify(a,modifier,target=a){for(let i=0;i<a.length;i++)target[i]=modifier(a[i],i);return target}function isZeroVector(a,epsilon=0){void 0===epsilon&&(epsilon=0);for(let i=0;i<a.length;i++)if(Math.abs(a[i])>epsilon)return!1;return!0}function reverse(vector){const end=vector.length-1;let temp,tempIdx;for(let i=0;i<Math.ceil(end/2);i++)tempIdx=end-i,temp=vector[tempIdx],vector[tempIdx]=vector[i],vector[i]=temp;return vector}function flatten(vectors){const output=[];for(let m=0;m<vectors.length;m++)for(let n=0;n<vectors[m].length;n++)output.push(vectors[m][n]);return output}function reshape(array,dimensions){const output=[];for(let i=0;i<array.length;i+=dimensions){const vector=new Array(dimensions);for(let n=0;n<dimensions;n++)vector[n]=array[i+n];output.push(vector)}return output}function isPointInTriangle(p,a,b,c,inwardAdjustment=1e-6){const centerX=.33333*(a[0]+b[0]+c[0]),centerY=.33333*(a[1]+b[1]+c[1]),adjPx=p[0]+(centerX-p[0])*inwardAdjustment,adjPy=p[1]+(centerY-p[1])*inwardAdjustment,APx=adjPx-a[0],APy=adjPy-a[1],leftOfAB=(b[0]-a[0])*APy-(b[1]-a[1])*APx>0;if(leftOfAB===(c[0]-a[0])*APy-(c[1]-a[1])*APx>0)return!1;return leftOfAB===(c[0]-b[0])*(adjPy-b[1])-(c[1]-b[1])*(adjPx-b[0])>0}function isPointInTriangleArray(p,triangle,tolerance=1e-4){return isPointInTriangle(p,triangle[0],triangle[1],triangle[2],tolerance)}export{add,addAll,clamp,copy,cross,dir,dist,dot,fill,flatten,isPointInTriangle,isPointInTriangleArray,isZeroVector,magnitude,mix,modify,normalize,reshape,reverse,scale,step,sub,subAll,sumsqr,triple};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var videxMath=require("@equinor/videx-math");function copy(source,target){for(
|
|
1
|
+
"use strict";var videxMath=require("@equinor/videx-math");function copy(source,target){for(let i=0;i<source.length;i++)target[i]=source[i];return target}function scale(a,factor,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]*factor;return target}function sumsqr(a){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]**2;return sum}function magnitude(a){const sq=sumsqr(a);return 0===sq?sq:Math.sqrt(sq)}function fill(value,target){for(let i=0;i<target.length;i++)target[i]=value;return target}function dot(a,b){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]*b[i];return sum}function cross(a,b,target=a){const y=a[2]*b[0]-a[0]*b[2],z=a[0]*b[1]-a[1]*b[0];return target[0]=a[1]*b[2]-a[2]*b[1],target[1]=y,target[2]=z,target}function isPointInTriangle(p,a,b,c,inwardAdjustment=1e-6){const centerX=.33333*(a[0]+b[0]+c[0]),centerY=.33333*(a[1]+b[1]+c[1]),adjPx=p[0]+(centerX-p[0])*inwardAdjustment,adjPy=p[1]+(centerY-p[1])*inwardAdjustment,APx=adjPx-a[0],APy=adjPy-a[1],leftOfAB=(b[0]-a[0])*APy-(b[1]-a[1])*APx>0;if(leftOfAB===(c[0]-a[0])*APy-(c[1]-a[1])*APx>0)return!1;return leftOfAB===(c[0]-b[0])*(adjPy-b[1])-(c[1]-b[1])*(adjPx-b[0])>0}exports.add=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]+b[i];return target},exports.addAll=function(vectors,target=vectors[0]){copy(vectors[0],target);for(let m=1;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]+=vectors[m][n];return target},exports.clamp=function(a,min=0,max=1,target=a){for(let i=0;i<a.length;i++)target[i]=videxMath.clamp(a[i],min,max);return target},exports.copy=copy,exports.cross=cross,exports.dir=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=b[i]-a[i];return target},exports.dist=function(a,b){let sq=0;for(let i=0;i<a.length;i++)sq+=(b[i]-a[i])**2;return 0===sq?sq:Math.sqrt(sq)},exports.dot=dot,exports.fill=fill,exports.flatten=function(vectors){const output=[];for(let m=0;m<vectors.length;m++)for(let n=0;n<vectors[m].length;n++)output.push(vectors[m][n]);return output},exports.isPointInTriangle=isPointInTriangle,exports.isPointInTriangleArray=function(p,triangle,tolerance=1e-4){return isPointInTriangle(p,triangle[0],triangle[1],triangle[2],tolerance)},exports.isZeroVector=function(a,epsilon=0){void 0===epsilon&&(epsilon=0);for(let i=0;i<a.length;i++)if(Math.abs(a[i])>epsilon)return!1;return!0},exports.magnitude=magnitude,exports.mix=function(a,b,t,target=a){const n=videxMath.clamp(t,0,1),m=1-n;for(let i=0;i<a.length;i++)target[i]=a[i]*m+b[i]*n;return target},exports.modify=function(a,modifier,target=a){for(let i=0;i<a.length;i++)target[i]=modifier(a[i],i);return target},exports.normalize=function(a,target=a){const len=magnitude(a);return 0===len?fill(0,target):scale(a,1/len,target)},exports.reshape=function(array,dimensions){const output=[];for(let i=0;i<array.length;i+=dimensions){const vector=new Array(dimensions);for(let n=0;n<dimensions;n++)vector[n]=array[i+n];output.push(vector)}return output},exports.reverse=function(vector){const end=vector.length-1;let temp,tempIdx;for(let i=0;i<Math.ceil(end/2);i++)tempIdx=end-i,temp=vector[tempIdx],vector[tempIdx]=vector[i],vector[i]=temp;return vector},exports.scale=scale,exports.step=function(edges,x,target=edges){for(let i=0;i<edges.length;i++)target[i]=videxMath.step(edges[i],x);return target},exports.sub=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]-b[i];return target},exports.subAll=function(a,vectors,target=a){copy(a,target);for(let m=0;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]-=vectors[m][n];return target},exports.sumsqr=sumsqr,exports.triple=function(a,b,c){return dot(a,cross(b,c))};
|
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-linear-algebra"]={})}(this,(function(exports){"use strict";function clamp$1(value,min=0,max=1){return value<min?min:value>max?max:value}function step$1(edge,x){return x>=edge?1:0}function copy(source,target){for(
|
|
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-linear-algebra"]={})}(this,(function(exports){"use strict";function clamp$1(value,min=0,max=1){return value<min?min:value>max?max:value}function step$1(edge,x){return x>=edge?1:0}function copy(source,target){for(let i=0;i<source.length;i++)target[i]=source[i];return target}function scale(a,factor,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]*factor;return target}function sumsqr(a){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]**2;return sum}function magnitude(a){const sq=sumsqr(a);return 0===sq?sq:Math.sqrt(sq)}function fill(value,target){for(let i=0;i<target.length;i++)target[i]=value;return target}function dot(a,b){let sum=0;for(let i=0;i<a.length;i++)sum+=a[i]*b[i];return sum}function cross(a,b,target=a){const y=a[2]*b[0]-a[0]*b[2],z=a[0]*b[1]-a[1]*b[0];return target[0]=a[1]*b[2]-a[2]*b[1],target[1]=y,target[2]=z,target}function isPointInTriangle(p,a,b,c,inwardAdjustment=1e-6){const centerX=.33333*(a[0]+b[0]+c[0]),centerY=.33333*(a[1]+b[1]+c[1]),adjPx=p[0]+(centerX-p[0])*inwardAdjustment,adjPy=p[1]+(centerY-p[1])*inwardAdjustment,APx=adjPx-a[0],APy=adjPy-a[1],leftOfAB=(b[0]-a[0])*APy-(b[1]-a[1])*APx>0;if(leftOfAB===(c[0]-a[0])*APy-(c[1]-a[1])*APx>0)return!1;return leftOfAB===(c[0]-b[0])*(adjPy-b[1])-(c[1]-b[1])*(adjPx-b[0])>0}exports.add=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]+b[i];return target},exports.addAll=function(vectors,target=vectors[0]){copy(vectors[0],target);for(let m=1;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]+=vectors[m][n];return target},exports.clamp=function(a,min=0,max=1,target=a){for(let i=0;i<a.length;i++)target[i]=clamp$1(a[i],min,max);return target},exports.copy=copy,exports.cross=cross,exports.dir=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=b[i]-a[i];return target},exports.dist=function(a,b){let sq=0;for(let i=0;i<a.length;i++)sq+=(b[i]-a[i])**2;return 0===sq?sq:Math.sqrt(sq)},exports.dot=dot,exports.fill=fill,exports.flatten=function(vectors){const output=[];for(let m=0;m<vectors.length;m++)for(let n=0;n<vectors[m].length;n++)output.push(vectors[m][n]);return output},exports.isPointInTriangle=isPointInTriangle,exports.isPointInTriangleArray=function(p,triangle,tolerance=1e-4){return isPointInTriangle(p,triangle[0],triangle[1],triangle[2],tolerance)},exports.isZeroVector=function(a,epsilon=0){void 0===epsilon&&(epsilon=0);for(let i=0;i<a.length;i++)if(Math.abs(a[i])>epsilon)return!1;return!0},exports.magnitude=magnitude,exports.mix=function(a,b,t,target=a){const n=clamp$1(t,0,1),m=1-n;for(let i=0;i<a.length;i++)target[i]=a[i]*m+b[i]*n;return target},exports.modify=function(a,modifier,target=a){for(let i=0;i<a.length;i++)target[i]=modifier(a[i],i);return target},exports.normalize=function(a,target=a){const len=magnitude(a);return 0===len?fill(0,target):scale(a,1/len,target)},exports.reshape=function(array,dimensions){const output=[];for(let i=0;i<array.length;i+=dimensions){const vector=new Array(dimensions);for(let n=0;n<dimensions;n++)vector[n]=array[i+n];output.push(vector)}return output},exports.reverse=function(vector){const end=vector.length-1;let temp,tempIdx;for(let i=0;i<Math.ceil(end/2);i++)tempIdx=end-i,temp=vector[tempIdx],vector[tempIdx]=vector[i],vector[i]=temp;return vector},exports.scale=scale,exports.step=function(edges,x,target=edges){for(let i=0;i<edges.length;i++)target[i]=step$1(edges[i],x);return target},exports.sub=function(a,b,target=a){for(let i=0;i<a.length;i++)target[i]=a[i]-b[i];return target},exports.subAll=function(a,vectors,target=a){copy(a,target);for(let m=0;m<vectors.length;m++)for(let n=0;n<target.length;n++)target[n]-=vectors[m][n];return target},exports.sumsqr=sumsqr,exports.triple=function(a,b,c){return dot(a,cross(b,c))}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/videx-linear-algebra",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"description": "A library with linear algebra used by Videx.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/equinor/videx-linear-algebra#readme",
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@equinor/videx-vector2": "^1.0.
|
|
43
|
+
"@equinor/videx-vector2": "^1.0.53",
|
|
44
44
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
45
45
|
"@rollup/plugin-terser": "^1.0.0",
|
|
46
46
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
"copyfiles": "^2.2.0",
|
|
51
51
|
"eslint": "^9.39.2",
|
|
52
52
|
"eslint-plugin-import": "^2.32.0",
|
|
53
|
-
"jest": "^30.2
|
|
54
|
-
"rimraf": "^6.1.
|
|
55
|
-
"rollup": "^4.
|
|
56
|
-
"ts-jest": "^29.4.
|
|
53
|
+
"jest": "^30.4.2",
|
|
54
|
+
"rimraf": "^6.1.3",
|
|
55
|
+
"rollup": "^4.60.4",
|
|
56
|
+
"ts-jest": "^29.4.11",
|
|
57
57
|
"tslib": "^2.8.1",
|
|
58
|
-
"typedoc": "^0.28.
|
|
58
|
+
"typedoc": "^0.28.19",
|
|
59
59
|
"typescript": "^5.9.3"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@equinor/videx-math": "^1.1.
|
|
62
|
+
"@equinor/videx-math": "^1.1.8"
|
|
63
63
|
},
|
|
64
64
|
"jest": {
|
|
65
65
|
"transform": {
|